SchemaReference クラス
探索ドキュメント内の XML スキーマ定義 (XSD: XML Schema Definition) 言語スキーマへの参照を表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、SchemaReference メンバ を参照してください。
System.Object
System.Web.Services.Discovery.DiscoveryReference
System.Web.Services.Discovery.SchemaReference
NotInheritable Public Class SchemaReference
Inherits DiscoveryReference
[C#]
public sealed class SchemaReference : DiscoveryReference
[C++]
public __gc __sealed class SchemaReference : public
DiscoveryReference
[JScript]
public class SchemaReference extends DiscoveryReference
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
XML Web サービス探索には、指定 URL で使用できる XML Web サービスの探索が含まれます。通常、URL は探索ドキュメントを指します。探索ドキュメントのファイル名拡張子は通常 .disco です。探索ドキュメントには、XML Web サービスが存在するかどうかに関する情報への参照が格納されています。これらの参照により、サービスの説明、XSD スキーマ、または他の探索ドキュメントを参照できます。このクラスは XSD スキーマへの参照を表します。
探索ドキュメント内では、XSD スキーマへの参照は schemaRef XML 要素に格納されています。 schemaRef XML 要素には、XML 名前空間と ref 属性があります。XML 名前空間の値は Namespace 定数と一致している必要があります。 ref 属性の値は Ref プロパティに設定されます。
使用例
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
[C#]
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());
}
}
}
[C++]
#using <mscorlib.dll>
#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 = 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;
} catch (Exception* e) {
Console::WriteLine(e);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services.Discovery
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Web.Services (System.Web.Services.dll 内)
参照
SchemaReference メンバ | System.Web.Services.Discovery 名前空間 | XmlSchema | DiscoveryReference | DiscoveryDocumentReference | ContractReference | DiscoveryClientProtocol