指定した 1 つ以上の名前空間からの任意の要素を、格納している complexType 要素内に表示できるようにします。W3C (World Wide Web Consortium) any 要素を表します。
この型のすべてのメンバの一覧については、XmlSchemaAny メンバ を参照してください。
System.Object
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaParticle
System.Xml.Schema.XmlSchemaAny
Public Class XmlSchemaAny
Inherits XmlSchemaParticle
[C#]
public class XmlSchemaAny : XmlSchemaParticle
[C++]
public __gc class XmlSchemaAny : public XmlSchemaParticle
[JScript]
public class XmlSchemaAny extends XmlSchemaParticle
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
使用例
[Visual Basic, C#, C++] any 要素を作成する例を次に示します。
Option Explicit
Option Strict
Imports System
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <element name='htmlText'>
Dim xeHtmlText As New XmlSchemaElement()
xeHtmlText.Name = "htmlText"
' <complexType>
Dim ct As New XmlSchemaComplexType()
' <sequence>
Dim sequence As New XmlSchemaSequence()
' <any namespace='http://www.w3.org/1999/xhtml'
' minOccurs='1' maxOccurs='unbounded'
' processContents='lax'/>
Dim any As New XmlSchemaAny()
any.MinOccurs = 1
any.MaxOccursString = "unbounded"
any.Namespace = "http://www.w3.org/1999/xhtml"
any.ProcessContents = XmlSchemaContentProcessing.Lax
sequence.Items.Add(any)
ct.Particle = sequence
xeHtmlText.SchemaType = ct
schema.Items.Add(xeHtmlText)
schema.Compile(AddressOf ValidationCallbackOne)
Dim nsmgr As New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
schema.Write(Console.Out, nsmgr)
End Sub 'Main
Public Shared Sub ValidationCallbackOne(sender As Object, args As ValidationEventArgs)
Console.WriteLine(args.Message)
End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples
[C#]
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples {
public static void Main() {
XmlSchema schema = new XmlSchema();
// <element name='htmlText'>
XmlSchemaElement xeHtmlText = new XmlSchemaElement();
xeHtmlText.Name = "htmlText";
// <complexType>
XmlSchemaComplexType ct = new XmlSchemaComplexType();
// <sequence>
XmlSchemaSequence sequence = new XmlSchemaSequence();
// <any namespace='http://www.w3.org/1999/xhtml'
// minOccurs='1' maxOccurs='unbounded'
// processContents='lax'/>
XmlSchemaAny any = new XmlSchemaAny();
any.MinOccurs = 1;
any.MaxOccursString = "unbounded";
any.Namespace = "http://www.w3.org/1999/xhtml";
any.ProcessContents = XmlSchemaContentProcessing.Lax;
sequence.Items.Add(any);
ct.Particle = sequence;
xeHtmlText.SchemaType = ct;
schema.Items.Add(xeHtmlText);
schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
schema.Write(Console.Out, nsmgr);
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args) {
Console.WriteLine(args.Message);
}
}
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
__gc class XMLSchemaExamples {
public:
static void main() {
XmlSchema* schema = new XmlSchema();
// <element name='htmlText'>
XmlSchemaElement* xeHtmlText = new XmlSchemaElement();
xeHtmlText->Name = S"htmlText";
// <complexType>
XmlSchemaComplexType* ct = new XmlSchemaComplexType();
// <sequence>
XmlSchemaSequence* sequence = new XmlSchemaSequence();
// <any namespace='http://www.w3.org/1999/xhtml'
// minOccurs='1' maxOccurs='unbounded'
// processContents='lax'/>
XmlSchemaAny* any = new XmlSchemaAny();
any->MinOccurs = 1;
any->MaxOccursString = S"unbounded";
any->Namespace = S"http://www.w3.org/1999/xhtml";
any->ProcessContents = XmlSchemaContentProcessing::Lax;
sequence->Items->Add(any);
ct->Particle = sequence;
xeHtmlText->SchemaType = ct;
schema->Items->Add(xeHtmlText);
schema->Compile(new ValidationEventHandler(0, ValidationCallbackOne));
XmlNamespaceManager* nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr->AddNamespace(S"xs", S"http://www.w3.org/2001/XMLSchema");
schema->Write(Console::Out,nsmgr);
}
static void ValidationCallbackOne(Object* /*sender*/, ValidationEventArgs* args) {
Console::WriteLine(args->Message);
}
};
int main()
{
XMLSchemaExamples::main();
}
[Visual Basic, C#, C++] 前述のコード例に対して生成される XML ファイルを次に示します。
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name='htmlText'>
<xs:complexType>
<xs:sequence>
<xs:any namespace='http://www.w3.org/1999/xhtml'
minOccurs='1' maxOccurs='unbounded'
processContents='lax'/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Xml.Schema
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Xml (System.Xml.dll 内)