XmlSchemaAnnotationとは? わかりやすく解説

XmlSchemaAnnotation クラス

W3C (World Wide Web Consortium) annotation 要素表します

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

Public Class XmlSchemaAnnotation
    Inherits XmlSchemaObject
Dim instance As XmlSchemaAnnotation
public class XmlSchemaAnnotation : XmlSchemaObject
public ref class XmlSchemaAnnotation : public
 XmlSchemaObject
public class XmlSchemaAnnotation extends XmlSchemaObject
public class XmlSchemaAnnotation extends
 XmlSchemaObject
解説解説

annotation 要素には、1 つ上の XmlSchemaAppInfo インスタンス (アプリケーション対す情報) と XmlSchemaDocumentation インスタンス (ユーザー対すコメントまたはテキスト) を含めることができます

注釈は、スキーマまたはその要素に関する追加情報格納するために使用します。この情報は、ユーザーによる利用のために指定するか (xs:documentation)、またはソフトウェアのために指定します (xs:appinfo)。注釈は、ほとんどのスキーマ要素最初要素とすることができますが、schema 要素の下であればどこに配置してかまいません

使用例使用例

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

Option Explicit On
Option Strict On

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

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

        ' <xs:simpleType name="northwestStates">
        Dim simpleType As New
 XmlSchemaSimpleType()
        simpleType.Name = "northwestStates"
        schema.Items.Add(simpleType)

        ' <xs:annotation>
        Dim annNorthwestStates As New
 XmlSchemaAnnotation()
        simpleType.Annotation = annNorthwestStates

        ' <xs:documentation>States in the Pacific Northwest of
 US</xs:documentation>
        Dim docNorthwestStates As New
 XmlSchemaDocumentation()
        annNorthwestStates.Items.Add(docNorthwestStates)
        docNorthwestStates.Markup = TextToNodeArray("States in
 the Pacific Northwest of US")

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

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

        ' <xs:annotation>
        Dim annWA As New
 XmlSchemaAnnotation()
        enumerationWA.Annotation = annWA

        ' <xs:documentation>Washington</documentation>
        Dim docWA As New
 XmlSchemaDocumentation()
        annWA.Items.Add(docWA)
        docWA.Markup = TextToNodeArray("Washington")

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

        ' <xs:annotation>
        Dim annOR As New
 XmlSchemaAnnotation()
        enumerationOR.Annotation = annOR

        ' <xs:documentation>Oregon</xs:documentation>
        Dim docOR As New
 XmlSchemaDocumentation()
        annOR.Items.Add(docOR)
        docOR.Markup = TextToNodeArray("Oregon")

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

        ' <xs:annotation>
        Dim annID As New
 XmlSchemaAnnotation()
        enumerationID.Annotation = annID

        ' <xs:documentation>Idaho</xs:documentation>
        Dim docID As New
 XmlSchemaDocumentation()
        annID.Items.Add(docID)
        docID.Markup = TextToNodeArray("Idaho")

        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


    Public Shared Function
 TextToNodeArray(ByVal text As String)
 As XmlNode()
        Dim doc As New XmlDocument()
        Return New XmlNode(0) {doc.CreateTextNode(text)}
    End Function 'TextToNodeArray
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="northwestStates">
        XmlSchemaSimpleType simpleType = new XmlSchemaSimpleType();
        simpleType.Name = "northwestStates";
        schema.Items.Add(simpleType);

        // <xs:annotation>
        XmlSchemaAnnotation annNorthwestStates = new XmlSchemaAnnotation();
        simpleType.Annotation = annNorthwestStates;

        // <xs:documentation>States in the Pacific Northwest of
 US</xs:documentation>
        XmlSchemaDocumentation docNorthwestStates = new XmlSchemaDocumentation();
        annNorthwestStates.Items.Add(docNorthwestStates);
        docNorthwestStates.Markup = TextToNodeArray("States in
 the Pacific Northwest of US");

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

        // <xs:enumeration value='WA'>
        XmlSchemaEnumerationFacet enumerationWA = new XmlSchemaEnumerationFacet();
        restriction.Facets.Add(enumerationWA);
        enumerationWA.Value = "WA";

        // <xs:annotation>
        XmlSchemaAnnotation annWA = new XmlSchemaAnnotation();
        enumerationWA.Annotation = annWA;

        // <xs:documentation>Washington</documentation>
        XmlSchemaDocumentation docWA = new XmlSchemaDocumentation();
        annWA.Items.Add(docWA);
        docWA.Markup = TextToNodeArray("Washington");

        // <xs:enumeration value='OR'>
        XmlSchemaEnumerationFacet enumerationOR = new XmlSchemaEnumerationFacet();
        restriction.Facets.Add(enumerationOR);
        enumerationOR.Value = "OR";

        // <xs:annotation>
        XmlSchemaAnnotation annOR = new XmlSchemaAnnotation();
        enumerationOR.Annotation = annOR;

        // <xs:documentation>Oregon</xs:documentation>
        XmlSchemaDocumentation docOR = new XmlSchemaDocumentation();
        annOR.Items.Add(docOR);
        docOR.Markup = TextToNodeArray("Oregon");

        // <xs:enumeration value='ID'>
        XmlSchemaEnumerationFacet enumerationID = new XmlSchemaEnumerationFacet();

        restriction.Facets.Add(enumerationID);
        enumerationID.Value = "ID";

        // <xs:annotation>
        XmlSchemaAnnotation annID = new XmlSchemaAnnotation();
        enumerationID.Annotation = annID;

        // <xs:documentation>Idaho</xs:documentation>
        XmlSchemaDocumentation docID = new XmlSchemaDocumentation();
        annID.Items.Add(docID);
        docID.Markup = TextToNodeArray("Idaho");

        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);
    }

    public static XmlNode[] TextToNodeArray(string
 text)
    {
        XmlDocument doc = new XmlDocument();
        return new XmlNode[1] { doc.CreateTextNode(text)
 };
    }

}

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

継承階層継承階層
System.Object
   System.Xml.Schema.XmlSchemaObject
    System.Xml.Schema.XmlSchemaAnnotation
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSchemaAnnotation メンバ
System.Xml.Schema 名前空間

XmlSchemaAnnotation コンストラクタ


XmlSchemaAnnotation プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ LineNumber  schema 要素参照するファイル行番号取得または設定します。 ( XmlSchemaObject から継承されます。)
パブリック プロパティ LinePosition  schema 要素参照するファイル行番号取得または設定します。 ( XmlSchemaObject から継承されます。)
パブリック プロパティ Namespaces  このスキーマ オブジェクト一緒に使用する XmlSerializerNamespaces を取得または設定します。 ( XmlSchemaObject から継承されます。)
パブリック プロパティ Parent  この XmlSchemaObject の親を取得または設定します。 ( XmlSchemaObject から継承されます。)
パブリック プロパティ SourceUri  スキーマ読み込んだファイルソース位置取得または設定します。 ( XmlSchemaObject から継承されます。)
パブリック プロパティ UnhandledAttributes スキーマターゲット名前空間属さない修飾され属性取得または設定します
参照参照

関連項目

XmlSchemaAnnotation クラス
System.Xml.Schema 名前空間

XmlSchemaAnnotation メソッド


XmlSchemaAnnotation メンバ

W3C (World Wide Web Consortium) annotation 要素表します

XmlSchemaAnnotation データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド XmlSchemaAnnotation XmlSchemaAnnotation クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ LineNumber  schema 要素参照するファイル行番号取得または設定します。(XmlSchemaObject から継承されます。)
パブリック プロパティ LinePosition  schema 要素参照するファイル行番号取得または設定します。(XmlSchemaObject から継承されます。)
パブリック プロパティ Namespaces  このスキーマ オブジェクト一緒に使用する XmlSerializerNamespaces を取得または設定します。(XmlSchemaObject から継承されます。)
パブリック プロパティ Parent  この XmlSchemaObject の親を取得または設定します。(XmlSchemaObject から継承されます。)
パブリック プロパティ SourceUri  スキーマ読み込んだファイルソース位置取得または設定します。(XmlSchemaObject から継承されます。)
パブリック プロパティ UnhandledAttributes スキーマターゲット名前空間属さない修飾され属性取得または設定します
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

XmlSchemaAnnotation クラス
System.Xml.Schema 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からXmlSchemaAnnotationを検索した結果を表示しています。
Weblioに収録されているすべての辞書からXmlSchemaAnnotationを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からXmlSchemaAnnotation を検索

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

辞書ショートカット

すべての辞書の索引

「XmlSchemaAnnotation」の関連用語

XmlSchemaAnnotationのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS