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

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

XmlSchemaEnumerationFacet クラス

W3C (World Wide Web Consortium) で指定されXML スキーマenumeration ファセット表します。このクラスは、simpleType 要素有効な値のリスト指定します宣言は、restriction 宣言中に含まれます。

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

Public Class XmlSchemaEnumerationFacet
    Inherits XmlSchemaFacet
Dim instance As XmlSchemaEnumerationFacet
public class XmlSchemaEnumerationFacet : XmlSchemaFacet
public ref class XmlSchemaEnumerationFacet
 : public XmlSchemaFacet
public class XmlSchemaEnumerationFacet extends
 XmlSchemaFacet
public class XmlSchemaEnumerationFacet extends
 XmlSchemaFacet
使用例使用例

XmlSchemaEnumerationFacet クラス使用する例を次に示します

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:simpleType name="SizeType">
        Dim SizeType As New
 XmlSchemaSimpleType()
        SizeType.Name = "SizeType"

        ' <xs:restriction base="xs:string">
        Dim restriction As New
 XmlSchemaSimpleTypeRestriction()
        restriction.BaseTypeName = New XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema")

        ' <xs:enumeration value="Small"/>
        Dim enumerationSmall As New
 XmlSchemaEnumerationFacet()
        enumerationSmall.Value = "Small"
        restriction.Facets.Add(enumerationSmall)

        ' <xs:enumeration value="Medium"/>
        Dim enumerationMedium As New
 XmlSchemaEnumerationFacet()
        enumerationMedium.Value = "Medium"
        restriction.Facets.Add(enumerationMedium)

        ' <xs:enumeration value="Large"/>
        Dim enumerationLarge As New
 XmlSchemaEnumerationFacet()
        enumerationLarge.Value = "Large"
        restriction.Facets.Add(enumerationLarge)

        SizeType.Content = restriction

        schema.Items.Add(SizeType)

        ' <xs:element name="Item">
        Dim elementItem As New
 XmlSchemaElement()
        elementItem.Name = "Item"

        ' <xs:complexType>
        Dim complexType As New
 XmlSchemaComplexType()

        ' <xs:attribute name="Size" type="SizeType"/>
        Dim attributeSize As New
 XmlSchemaAttribute()
        attributeSize.Name = "Size"
        attributeSize.SchemaTypeName = New XmlQualifiedName("SizeType",
 "")
        complexType.Attributes.Add(attributeSize)

        elementItem.SchemaType = complexType

        schema.Items.Add(elementItem)

        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:simpleType name="SizeType">
        XmlSchemaSimpleType SizeType = new XmlSchemaSimpleType();
        SizeType.Name = "SizeType";

        // <xs:restriction base="xs:string">
        XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
        restriction.BaseTypeName = new XmlQualifiedName("string",
 "http://www.w3.org/2001/XMLSchema");

        // <xs:enumeration value="Small"/>
        XmlSchemaEnumerationFacet enumerationSmall = new XmlSchemaEnumerationFacet();
        enumerationSmall.Value = "Small";
        restriction.Facets.Add(enumerationSmall);

        // <xs:enumeration value="Medium"/>
        XmlSchemaEnumerationFacet enumerationMedium = new XmlSchemaEnumerationFacet();
        enumerationMedium.Value = "Medium";
        restriction.Facets.Add(enumerationMedium);

        // <xs:enumeration value="Large"/>
        XmlSchemaEnumerationFacet enumerationLarge = new XmlSchemaEnumerationFacet();
        enumerationLarge.Value = "Large";
        restriction.Facets.Add(enumerationLarge);

        SizeType.Content = restriction;

        schema.Items.Add(SizeType);

        // <xs:element name="Item">
        XmlSchemaElement elementItem = new XmlSchemaElement();
        elementItem.Name = "Item";

        // <xs:complexType>
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();

        // <xs:attribute name="Size" type="SizeType"/>
        XmlSchemaAttribute attributeSize = new XmlSchemaAttribute();
        attributeSize.Name = "Size";
        attributeSize.SchemaTypeName = new XmlQualifiedName("SizeType",
 "");
        complexType.Attributes.Add(attributeSize);

        elementItem.SchemaType = complexType;

        schema.Items.Add(elementItem);

        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:simpleType name="SizeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Small"
 />
      <xs:enumeration value="Medium"
 />
      <xs:enumeration value="Large"
 />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Item">
    <xs:complexType>
      <xs:attribute name="Size"
 type="SizeType" />
    </xs:complexType>
  </xs:element>
</xs:schema>
継承階層継承階層
System.Object
   System.Xml.Schema.XmlSchemaObject
     System.Xml.Schema.XmlSchemaAnnotated
       System.Xml.Schema.XmlSchemaFacet
        System.Xml.Schema.XmlSchemaEnumerationFacet
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSchemaEnumerationFacet メンバ
System.Xml.Schema 名前空間



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

辞書ショートカット

すべての辞書の索引

「XmlSchemaEnumerationFacet クラス」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS