XmlSchemaComplexContent クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlSchemaComplexContent クラスの意味・解説 

XmlSchemaComplexContent クラス

W3C (World Wide Web Consortium) で指定されXML スキーマcomplexContent 要素表します。このクラスは、複合型複合コンテンツ モデル表します要素のみ、または混合コンテンツを含む複合型に対して拡張または制限格納します

名前空間: System.Xml.Schema
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Class XmlSchemaComplexContent
    Inherits XmlSchemaContentModel
Dim instance As XmlSchemaComplexContent
public class XmlSchemaComplexContent : XmlSchemaContentModel
public ref class XmlSchemaComplexContent :
 public XmlSchemaContentModel
public class XmlSchemaComplexContent extends
 XmlSchemaContentModel
public class XmlSchemaComplexContent extends
 XmlSchemaContentModel
使用例使用例

complexContent 要素作成する例を次に示します

Option Strict On
Option Explicit On

Imports System
Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples

    Public Shared Sub Main()
        Dim schema As New
 XmlSchema()

        ' <xs:complexType name="address">
        Dim address As New
 XmlSchemaComplexType()
        schema.Items.Add(address)
        address.Name = "address"

        ' <xs:sequence>
        Dim sequence As New
 XmlSchemaSequence()
        address.Particle = sequence

        ' <xs:element name="name"   type="xs:string"/>
        Dim elementName As New
 XmlSchemaElement()
        sequence.Items.Add(elementName)
        elementName.Name = "name"
        elementName.SchemaTypeName = New XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="street"   type="xs:string"/>
        Dim elementStreet As New
 XmlSchemaElement()
        sequence.Items.Add(elementStreet)
        elementStreet.Name = "street"
        elementStreet.SchemaTypeName = New XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="city"   type="xs:string"/>
        Dim elementCity As New
 XmlSchemaElement()
        sequence.Items.Add(elementCity)
        elementCity.Name = "city"
        elementCity.SchemaTypeName = New XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema")

        ' <xs:complexType name="USAddress">
        Dim USAddress As New
 XmlSchemaComplexType()
        schema.Items.Add(USAddress)
        USAddress.Name = "USAddress"

        ' <xs:complexContent>
        Dim complexContent As New
 XmlSchemaComplexContent()
        USAddress.ContentModel = complexContent

        ' <xs:extension base="address">
        Dim extensionAddress As New
 XmlSchemaComplexContentExtension()
        complexContent.Content = extensionAddress
        extensionAddress.BaseTypeName = New XmlQualifiedName("address")

        ' <xs:sequence>
        Dim sequence2 As New
 XmlSchemaSequence()
        extensionAddress.Particle = sequence2

        ' <xs:element name="state" type="xs:string"/>
        Dim elementUSState As New
 XmlSchemaElement()
        sequence2.Items.Add(elementUSState)
        elementUSState.Name = "state"
        elementUSState.SchemaTypeName = New XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema")


        ' <xs:element name="zipcode" type="xs:positiveInteger"/>
        Dim elementZipcode As New
 XmlSchemaElement()
        sequence2.Items.Add(elementZipcode)
        elementZipcode.Name = "zipcode"
        elementZipcode.SchemaTypeName = New XmlQualifiedName("positiveInteger",
 "http://www.w3.org/2001/XMLSchema")

        Dim schemaSet As New
 XmlSchemaSet()
        AddHandler schemaSet.ValidationEventHandler, AddressOf
 ValidationCallbackOne

        schemaSet.Add(schema)
        schemaSet.Compile()

        Dim compiledSchema As XmlSchema = Nothing

        For Each schema1 As
 XmlSchema In schemaSet.Schemas()
            compiledSchema = schema1
        Next

        Dim nsmgr As New
 XmlNamespaceManager(New NameTable())
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
        compiledSchema.Write(Console.Out, nsmgr)
    End Sub 'Main


    Public Shared Sub ValidationCallbackOne(ByVal
 sender As Object, ByVal
 args As ValidationEventArgs)

        Console.WriteLine(args.Message)
    End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples
using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:complexType name="address">
        XmlSchemaComplexType address = new XmlSchemaComplexType();
        schema.Items.Add(address);
        address.Name = "address";

        // <xs:sequence>
        XmlSchemaSequence sequence = new XmlSchemaSequence();
        address.Particle = sequence;

        // <xs:element name="name"   type="xs:string"/>
        XmlSchemaElement elementName = new XmlSchemaElement();
        sequence.Items.Add(elementName);
        elementName.Name = "name";
        elementName.SchemaTypeName = new XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="street"   type="xs:string"/>
        XmlSchemaElement elementStreet = new XmlSchemaElement();
        sequence.Items.Add(elementStreet);
        elementStreet.Name = "street";
        elementStreet.SchemaTypeName = new XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="city"   type="xs:string"/>
        XmlSchemaElement elementCity = new XmlSchemaElement();
        sequence.Items.Add(elementCity);
        elementCity.Name = "city";
        elementCity.SchemaTypeName = new XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema");

        // <xs:complexType name="USAddress">
        XmlSchemaComplexType USAddress = new XmlSchemaComplexType();
        schema.Items.Add(USAddress);
        USAddress.Name = "USAddress";

        // <xs:complexContent>
        XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();
        USAddress.ContentModel = complexContent;

        // <xs:extension base="address">
        XmlSchemaComplexContentExtension extensionAddress = new
 XmlSchemaComplexContentExtension();
        complexContent.Content = extensionAddress;
        extensionAddress.BaseTypeName = new XmlQualifiedName("address");

        // <xs:sequence>
        XmlSchemaSequence sequence2 = new XmlSchemaSequence();
        extensionAddress.Particle = sequence2;

        // <xs:element name="state" type="xs:string"/>
        XmlSchemaElement elementUSState = new XmlSchemaElement();
        sequence2.Items.Add(elementUSState);
        elementUSState.Name = "state";
        elementUSState.SchemaTypeName = new XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema");


        // <xs:element name="zipcode" type="xs:positiveInteger"/>
        XmlSchemaElement elementZipcode = new XmlSchemaElement();
        sequence2.Items.Add(elementZipcode);
        elementZipcode.Name = "zipcode";
        elementZipcode.SchemaTypeName = new XmlQualifiedName("positiveInteger",
 "http://www.w3.org/2001/XMLSchema");

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
        schemaSet.Add(schema);
        schemaSet.Compile();

        XmlSchema compiledSchema = null;

        foreach (XmlSchema schema1 in schemaSet.Schemas())
        {
            compiledSchema = schema1;
        }

        XmlNamespaceManager nsmgr = new XmlNamespaceManager(new
 NameTable());
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        compiledSchema.Write(Console.Out, nsmgr);
    }

    public static void ValidationCallbackOne(object
 sender, ValidationEventArgs args)
    {

        Console.WriteLine(args.Message);
    }
}

前述コード例に対して生成される XML ファイル次に示します

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="address">
        <xs:sequence>
            <xs:element name="name"
   type="xs:string"/>
            <xs:element name="street"
 type="xs:string"/>
            <xs:element name="city"
   type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="USAddress">
        <xs:complexContent mixed="false">
            <xs:extension base="address">
                <xs:sequence>
                    <xs:element name="state"
 type="xs:string"/>
                    <xs:element name="zipcode"
 type="xs:positiveInteger"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>
継承階層継承階層
System.Object
   System.Xml.Schema.XmlSchemaObject
     System.Xml.Schema.XmlSchemaAnnotated
       System.Xml.Schema.XmlSchemaContentModel
        System.Xml.Schema.XmlSchemaComplexContent
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSchemaComplexContent メンバ
System.Xml.Schema 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XmlSchemaComplexContent クラス」の関連用語

XmlSchemaComplexContent クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlSchemaComplexContent クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS