次の方法で共有


XmlSchemaAny クラス

指定した 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 内)

参照

XmlSchemaAny メンバ | System.Xml.Schema 名前空間