This documentation is archived and is not being maintained.

SchemaReference.Schema Property

Gets an XmlSchema object representing the XSD schema.

[Visual Basic]
Public ReadOnly Property Schema As XmlSchema
[C#]
public XmlSchema Schema {get;}
[C++]
public: __property XmlSchema* get_Schema();
[JScript]
public function get Schema() : XmlSchema;

Property Value

An XmlSchema object representing the XSD schema.

Exceptions

Exception Type Condition
InvalidOperationException ClientProtocol property is a null reference (Nothing in Visual Basic).

-or-

An error occurred during the download or resolution of the XSD schema using ClientProtocol.

Remarks

If the XSD schema has not been downloaded and added to the Documents property of ClientProtocol, an attempt to download and resolve the document is made.

Example

[Visual Basic] 

         ' Reference the schema document.
         Dim myStringUrl As String = "c:\\Inetpub\\wwwroot\\dataservice.xsd"
         Dim myXmlSchema As XmlSchema

         ' Create the client protocol.
         Dim myDiscoveryClientProtocol As DiscoveryClientProtocol = _
             New DiscoveryClientProtocol()
         myDiscoveryClientProtocol.Credentials = _
             CredentialCache.DefaultCredentials

         ' Create a schema reference.
         Dim mySchemaReferenceNoParam As SchemaReference = New SchemaReference()

         Dim mySchemaReference As SchemaReference = _
             New SchemaReference(myStringUrl)

         ' Set the client protocol.
         mySchemaReference.ClientProtocol = myDiscoveryClientProtocol

         ' Access the default file name associated with the schema reference.
         Console.WriteLine("Default filename is : " & _
             mySchemaReference.DefaultFilename)

         ' Access the namespace associated with schema reference class.
         Console.WriteLine("Namespace is : " & SchemaReference.Namespace)

         Dim myStream As FileStream = _
             New FileStream(myStringUrl, FileMode.OpenOrCreate)

         ' Read the document in a stream.
         mySchemaReference.ReadDocument(myStream)

         ' Get the schema of the referenced document.
         myXmlSchema = mySchemaReference.Schema

         Console.WriteLine("Reference is : " & mySchemaReference.Ref)

         Console.WriteLine("Target namespace (default empty) is : " & _
             mySchemaReference.TargetNamespace)

         Console.WriteLine("URL is : " & mySchemaReference.Url)

         ' Write the document in the stream.
         mySchemaReference.WriteDocument(myXmlSchema, myStream)

         myStream.Close()
         mySchemaReference = Nothing

[C#] 

         // Reference the schema document.
         string myStringUrl = "c:\\Inetpub\\wwwroot\\dataservice.xsd";
         XmlSchema myXmlSchema;

         // Create the client protocol.
         DiscoveryClientProtocol myDiscoveryClientProtocol = 
             new DiscoveryClientProtocol();
         myDiscoveryClientProtocol.Credentials = 
             CredentialCache.DefaultCredentials;
         
         //  Create a schema reference.
         SchemaReference mySchemaReferenceNoParam = new SchemaReference();
         
         SchemaReference mySchemaReference = new SchemaReference(myStringUrl);
                  
         // Set the client protocol.
         mySchemaReference.ClientProtocol = myDiscoveryClientProtocol;

         // Access the default file name associated with the schema reference.
         Console.WriteLine("Default filename is : " + 
             mySchemaReference.DefaultFilename);
         
         // Access the namespace associated with schema reference class.
         Console.WriteLine("Namespace is : " + SchemaReference.Namespace);
         
         FileStream myStream = 
             new FileStream(myStringUrl,FileMode.OpenOrCreate); 
         
         // Read the document in a stream.
         mySchemaReference.ReadDocument(myStream);
         
         // Get the schema of referenced document.
         myXmlSchema = mySchemaReference.Schema;
         
         Console.WriteLine("Reference is : " + mySchemaReference.Ref);      
         
         Console.WriteLine("Target namespace (default empty) is : " + 
             mySchemaReference.TargetNamespace);

         Console.WriteLine("URL is : " + mySchemaReference.Url);
         
         // Write the document in the stream.
         mySchemaReference.WriteDocument(myXmlSchema,myStream);

         myStream.Close();
         mySchemaReference = null;


[C++] 
// Reference the schema document.
String* myStringUrl = S"c:\\Inetpub\\wwwroot\\dataservice.xsd";
XmlSchema* myXmlSchema;

// Create the client protocol.
DiscoveryClientProtocol* myDiscoveryClientProtocol =
   new DiscoveryClientProtocol();
myDiscoveryClientProtocol->Credentials =
   CredentialCache::DefaultCredentials;

//  Create a schema reference.
SchemaReference* mySchemaReferenceNoParam = new SchemaReference();

SchemaReference* mySchemaReference = new SchemaReference(myStringUrl);

// Set the client protocol.
mySchemaReference->ClientProtocol = myDiscoveryClientProtocol;

// Access the default file name associated with the schema reference.
Console::WriteLine(S"Default filename is : {0}",
   mySchemaReference->DefaultFilename);

// Access the namespace associated with schema reference class.
Console::WriteLine(S"Namespace is : {0}", SchemaReference::Namespace);

FileStream* myStream =
   new FileStream(myStringUrl, FileMode::OpenOrCreate);

// Read the document in a stream.
mySchemaReference->ReadDocument(myStream);

// Get the schema of referenced document.
myXmlSchema = mySchemaReference->Schema;

Console::WriteLine(S"Reference is : {0}", mySchemaReference->Ref);

Console::WriteLine(S"Target namespace (default empty) is : {0}",
   mySchemaReference->TargetNamespace);

Console::WriteLine(S"URL is : {0}", mySchemaReference->Url);

// Write the document in the stream.
mySchemaReference->WriteDocument(myXmlSchema, myStream);

myStream->Close();
mySchemaReference = 0;

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

SchemaReference Class | SchemaReference Members | System.Web.Services.Discovery Namespace | XmlSchema

Show: