XmlSchemaValidator.GetExpectedParticles メソッドとは? わかりやすく解説

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

XmlSchemaValidator.GetExpectedParticles メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

現在の要素コンテキスト予期されるパーティクル返します

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

Public Function GetExpectedParticles As
 XmlSchemaParticle()
Dim instance As XmlSchemaValidator
Dim returnValue As XmlSchemaParticle()

returnValue = instance.GetExpectedParticles
public XmlSchemaParticle[] GetExpectedParticles ()
public:
array<XmlSchemaParticle^>^ GetExpectedParticles ()
public XmlSchemaParticle[] GetExpectedParticles ()
public function GetExpectedParticles () : XmlSchemaParticle[]

戻り値
XmlSchemaParticle オブジェクト配列。または、予期されるパーティクルない場合は空の配列

解説解説

GetExpectedParticles メソッド返すことができる有効なパーティクルは、XmlSchemaElement クラスおよび XmlSchemaAny クラスインスタンスです。

コンテンツ モデルのコンポジタが xs:sequence場合シーケンス内にある次のパーティクルだけが返されます。コンテンツ モデルのコンポジタが xs:all または xs:choice場合は、現在の要素コンテキストに続くすべて有効なパーティクル返されます。

たとえば、XML スキーマ定義言語 (XSD) スキーマおよびそれに続く XML ドキュメントでは、book 要素検証した後の現在の要素コンテキストbook 要素なりますGetExpectedParticles メソッドは、title 要素を表す単一XmlSchemaElement オブジェクト格納され配列返します検証コンテキストtitle 要素場合GetExpectedParticles メソッドは空の配列返しますtitle 要素検証された後、description 要素検証されるまでの間に GetExpectedParticles メソッド呼び出すと、description 要素を表す単一XmlSchemaElement オブジェクト格納され配列返されます。description 要素検証され後で GetExpectedParticles メソッド呼び出すと、ワイルドカードを表す単一XmlSchemaAny オブジェクト格納され配列返されます。

Dim reader As XmlReader =  XmlReader.Create("input.xml")
 

Dim schemaSet As XmlSchemaSet =  New
 XmlSchemaSet() 
schemaSet.Add(Nothing, "schema.xsd")
Dim manager As XmlNamespaceManager =  New
 XmlNamespaceManager(reader.NameTable) 

Dim validator As XmlSchemaValidator =  New
 XmlSchemaValidator(reader.NameTable,schemaSet,manager,XmlSchemaValidationFlags.None)
validator.Initialize()
 
validator.ValidateElement("book", "",
 Nothing)

validator.ValidateEndOfAttributes(Nothing)
For Each element As XmlSchemaElement
 In validator.GetExpectedParticles()
    Console.WriteLine(element.Name)
Next
 
validator.ValidateElement("title", "",
 Nothing)
validator.ValidateEndOfAttributes(Nothing)
For Each element As XmlSchemaElement
 In validator.GetExpectedParticles()
    Console.WriteLine(element.Name)
Next
validator.ValidateEndElement(Nothing)
 
For Each element As XmlSchemaElement
 In validator.GetExpectedParticles()
    Console.WriteLine(element.Name)
Next
 
validator.ValidateElement("description", "",
 Nothing)
validator.ValidateEndOfAttributes(Nothing)
validator.ValidateEndElement(Nothing)
 
For Each particle As XmlSchemaParticle
 In validator.GetExpectedParticles()
    Console.WriteLine(particle.GetType())
Next
 
validator.ValidateElement("namespace", "",
 Nothing)
validator.ValidateEndOfAttributes(Nothing)
validator.ValidateEndElement(Nothing)
 
validator.ValidateEndElement(Nothing)
XmlReader reader = XmlReader.Create("input.xml");

XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(null, "schema.xsd");
XmlNamespaceManager manager = new XmlNamespaceManager(reader.NameTable);

XmlSchemaValidator validator = new XmlSchemaValidator(reader.NameTable,
 schemaSet, manager, XmlSchemaValidationFlags.None);
validator.Initialize();

validator.ValidateElement("book", "", null);
            
validator.ValidateEndOfAttributes(null);
foreach (XmlSchemaElement element in validator.GetExpectedParticles())
{
    Console.WriteLine(element.Name);
}

validator.ValidateElement("title", "", null);
validator.ValidateEndOfAttributes(null);
foreach (XmlSchemaElement element in validator.GetExpectedParticles())
{
    Console.WriteLine(element.Name);
}
validator.ValidateEndElement(null);

foreach (XmlSchemaElement element in validator.GetExpectedParticles())
{
    Console.WriteLine(element.Name);
}

validator.ValidateElement("description", "", null);
validator.ValidateEndOfAttributes(null);
validator.ValidateEndElement(null);

foreach (XmlSchemaParticle particle in validator.GetExpectedParticles())
{
    Console.WriteLine(particle.GetType());
}

validator.ValidateElement("namespace", "",
 null);
validator.ValidateEndOfAttributes(null);
validator.ValidateEndElement(null);

validator.ValidateEndElement(null);

この例では、次の XML入力として使用します

<xs:schema xmlns:xs="http://www.w3c.org/2001/XMLSchema">

<xs:element name="book">

<xs:sequence>

<xs:element name="title" type="xs:string" />

<xs:element name="description" type="xs:string" />

<xs:any processContent="lax" maxOccurs="unbounded" />

</xs:sequence>

</xs:element>

</xs:schema>

この例では、次の XSD スキーマ入力として使用します

<book>

<title>My Book</title>

<description>My Book's Description</description>

<namespace>System.Xml.Schema</namespace>

</book>

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSchemaValidator クラス
XmlSchemaValidator メンバ
System.Xml.Schema 名前空間
XmlSchemaParticle クラス
XmlSchemaElement クラス
XmlSchemaAny クラス



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

辞書ショートカット

すべての辞書の索引

XmlSchemaValidator.GetExpectedParticles メソッドのお隣キーワード
検索ランキング

   

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



XmlSchemaValidator.GetExpectedParticles メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS