Freigeben über


SchemaReference-Klasse

Stellt einen Verweis in einem Discoverydokument auf ein XSD-Schema (XML Schema Definition-Schema) dar. Diese Klasse kann nicht geerbt werden.

Namespace: System.Web.Services.Discovery
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
Public NotInheritable Class SchemaReference
    Inherits DiscoveryReference
'Usage
Dim instance As SchemaReference
public sealed class SchemaReference : DiscoveryReference
public ref class SchemaReference sealed : public DiscoveryReference
public final class SchemaReference extends DiscoveryReference
public final class SchemaReference extends DiscoveryReference

Hinweise

Das XML Web Services Discovery-Tool führt die Ermittlung der verfügbaren XML-Webdienste anhand eines URL durch. Ein URL verweist typischerweise auf ein Discovery-Dokument, das i. d. R. die Dateierweiterung .disco aufweist. Ein Discoverydokument enthält Verweise auf Informationen über das Vorhandensein von XML-Webdiensten. Diese Verweise können sich auf Dienstbeschreibungen, XSD-Schemas oder sonstige Discoverydokumente beziehen. Diese Klasse stellt einen Verweis auf ein XSD-Schema dar.

In einem Discoverydokument ist ein Verweis auf ein XSD-Schema in einem schemaRef-XML-Element enthalten. Das schemaRef-XML-Element verfügt über einen XML-Namespace und ein ref-Attribut. Der Wert des XML-Namespaces muss der Namespace-Konstante entsprechen. Der Wert des ref-Attributs wird in der Ref-Eigenschaft platziert.

Beispiel

Imports System
Imports System.IO
Imports System.Net
Imports System.Xml
Imports System.Xml.Schema
Imports System.Web.Services.Discovery

Public Module SchemaReferenceModule

   Public Sub Main()
      Try


         ' 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
      Catch e As Exception

         Console.WriteLine(e.ToString)

      End Try

   End Sub
End Module
using System;
using System.IO;
using System.Net;
using System.Xml;
using System.Xml.Schema;
using System.Web.Services.Discovery;

public class SchemaReferenceClass
{
   public static void Main()
   {
      try
      {


         // 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;

      }
      catch (Exception e)
      {
         Console.WriteLine(e.ToString());
      }
   }
}
#using <System.dll>
#using <System.Xml.dll>
#using <System.Web.Services.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::Web::Services::Discovery;
int main()
{
   try
   {
      
      // Reference the schema document.
      String^ myStringUrl = "c:\\Inetpub\\wwwroot\\dataservice.xsd";
      XmlSchema^ myXmlSchema;
      
      // Create the client protocol.
      DiscoveryClientProtocol^ myDiscoveryClientProtocol = gcnew DiscoveryClientProtocol;
      myDiscoveryClientProtocol->Credentials = CredentialCache::DefaultCredentials;
      
      //  Create a schema reference.
      SchemaReference^ mySchemaReferenceNoParam = gcnew SchemaReference;
      SchemaReference^ mySchemaReference = gcnew SchemaReference( myStringUrl );
      
      // Set the client protocol.
      mySchemaReference->ClientProtocol = myDiscoveryClientProtocol;
      
      // Access the default file name associated with the schema reference.
      Console::WriteLine( "Default filename is : {0}", mySchemaReference->DefaultFilename );
      
      // Access the namespace associated with schema reference class.
      Console::WriteLine( "Namespace is : {0}", SchemaReference::Namespace );
      FileStream^ myStream = gcnew 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 : {0}", mySchemaReference->Ref );
      Console::WriteLine( "Target namespace (default empty) is : {0}", mySchemaReference->TargetNamespace );
      Console::WriteLine( "URL is : {0}", mySchemaReference->Url );
      
      // Write the document in the stream.
      mySchemaReference->WriteDocument( myXmlSchema, myStream );
      myStream->Close();
      mySchemaReference = nullptr;
      
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e );
   }

}
import System.*;
import System.IO.*;
import System.Net.*;
import System.Xml.*;
import System.Xml.Schema.*;
import System.Web.Services.Discovery.*;

public class SchemaReferenceClass
{
    public static void main(String[] args)
    {      
        try {
            // Reference the schema document.
            String myStringUrl = "c:\\Inetpub\\wwwroot\\dataservice.xsd";
            XmlSchema myXmlSchema;
            // Create the client protocol.
            DiscoveryClientProtocol myDiscoveryClientProtocol = 
                new DiscoveryClientProtocol();
            myDiscoveryClientProtocol.set_Credentials(CredentialCache.
                get_DefaultCredentials());
            //  Create a schema reference.
            SchemaReference mySchemaReferenceNoParam = new SchemaReference();
            SchemaReference mySchemaReference = new SchemaReference(myStringUrl);
            // Set the client protocol.
            mySchemaReference.set_ClientProtocol(myDiscoveryClientProtocol);
            // Access the default file name associated with the schema reference.
            Console.WriteLine("Default filename is : " + mySchemaReference.
                get_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.get_Schema();
            Console.WriteLine("Reference is : " + mySchemaReference.get_Ref());
            Console.WriteLine("Target namespace (default empty) is : " 
                + mySchemaReference.get_TargetNamespace());
            Console.WriteLine("URL is : " + mySchemaReference.get_Url());
            // Write the document in the stream.
            mySchemaReference.WriteDocument(myXmlSchema, myStream);
            myStream.Close();
            mySchemaReference = null;
        }
        catch (System.Exception e) {
            Console.WriteLine(e.ToString());
        }
    } //main
} //SchemaReferenceClass

Vererbungshierarchie

System.Object
   System.Web.Services.Discovery.DiscoveryReference
    System.Web.Services.Discovery.SchemaReference

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

SchemaReference-Member
System.Web.Services.Discovery-Namespace
XmlSchema
DiscoveryReference-Klasse
DiscoveryDocumentReference-Klasse
ContractReference-Klasse
DiscoveryClientProtocol-Klasse