XmlValidatingReader.SchemaType プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlValidatingReader.SchemaType プロパティの意味・解説 

XmlValidatingReader.SchemaType プロパティ

スキーマ型のオブジェクト取得します

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

Dim instance As XmlValidatingReader
Dim value As Object

value = instance.SchemaType
/** @property */
public Object get_SchemaType ()

プロパティ
ノード値が XML スキーマ定義言語 (XSD) 型またはユーザー定義の simpleType あるいは complexType に組み込まれているかどうかにより、XmlSchemaDatatype、XmlSchemaSimpleType、または XmlSchemaComplexType。現在のノードスキーマ型がない場合は、null 参照 (Visual Basic では Nothing)。

解説解説

ユーザーは、返された型をテストする必要がありますコード例次に示します

object obj = vreader.SchemaType;
 if (obj is XmlSchemaType)
 {
   XmlSchemaType st = (XmlSchemaType)obj;
   // use XmlSchemaType object
 }
 if (obj is XmlSchemaDatatype)
 {
   XmlSchemaDatatype sd = (XmlSchemaDatatype)obj;
   Type vt = sd.ValueType;
   // use XmlSchemaDatatype object
       }

XML スキーマ検証実行される場合は、XmlSchemaType または XmlSchemaDatatype は、読み取られる現在の要素対応しますドキュメント型定義 (DTD) 検証実行される場合、このプロパティnull 参照 (Visual Basic では Nothing) を返します

現在の要素または属性が、minmax のように単純な型で特殊な検証制約指定できる単純型の場合は、XmlSchemaDatatype返されます。

現在の要素または属性ユーザー定義の simpleType の場合は、XmlSchemaSimpleType返されます。

現在の要素ユーザー定義の complexType の場合は、XmlSchemaComplexType返されます。この型は属性返すことができません。

メモ注意

Close呼び出した後は、SchemaTypeNull返します

使用例使用例

XML ドキュメント内の各要素型情報表示する例を次に示します

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

public class Sample

  public shared sub Main()
  
  Dim tr as XmlTextReader = new
 XmlTextReader("booksSchema.xml")
  Dim vr as XmlValidatingReader = new
 XmlValidatingReader(tr)
 
  vr.Schemas.Add(nothing, "books.xsd")
  vr.ValidationType = ValidationType.Schema
  AddHandler vr.ValidationEventHandler, AddressOf
 ValidationCallBack

  while(vr.Read())

    if(vr.NodeType = XmlNodeType.Element)
    
      if (vr.SchemaType.ToString() = "System.Xml.Schema.XmlSchemaComplexType")
        Dim sct as XmlSchemaComplexType = CType(vr.SchemaType
,XmlSchemaComplexType)
        Console.WriteLine("{0}({1})", vr.Name, sct.Name)
      else      
        Dim value as object
 = vr.ReadTypedValue()
        Console.WriteLine("{0}({1}):{2}", vr.Name,
 value.GetType().Name, value)    
      end if
    end if
  end while
  end sub

  private shared sub ValidationCallBack
 (sender as object, args as
 ValidationEventArgs)

   Console.WriteLine("***Validation error")
   Console.WriteLine("Severity:{0}", args.Severity)
   Console.WriteLine("Message  :{0}", args.Message)
  end sub
end class
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;

public class Sample{

  public static void Main(){
  
  XmlTextReader tr = new XmlTextReader("booksSchema.xml");
  XmlValidatingReader vr = new XmlValidatingReader(tr);
 
  vr.Schemas.Add(null, "books.xsd");
  vr.ValidationType = ValidationType.Schema;
  vr.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
 
  while(vr.Read()){
    if(vr.NodeType == XmlNodeType.Element){
      if(vr.SchemaType is XmlSchemaComplexType){
        XmlSchemaComplexType sct = (XmlSchemaComplexType)vr.SchemaType;
        Console.WriteLine("{0}({1})", vr.Name, sct.Name);
      }
      else{
        object value = vr.ReadTypedValue();
        Console.WriteLine("{0}({1}):{2}", vr.Name, value.GetType().Name,
 value);
      }
    }
  }
 }

  private static void ValidationCallBack
 (object sender, ValidationEventArgs args){
    Console.WriteLine("***Validation error");
    Console.WriteLine("\tSeverity:{0}", args.Severity);
    Console.WriteLine("\tMessage  :{0}", args.Message);
  }
}
#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;

public ref class Sample
{
private:
   static void ValidationCallBack( Object^
 sender, ValidationEventArgs^ args )
   {
      Console::WriteLine( "***Validation error" );
      Console::WriteLine( "\tSeverity: {0}", args->Severity );
      Console::WriteLine( "\tMessage  : {0}", args->Message );
   }

public:
   static void main()
   {
      XmlTextReader^ tr = gcnew XmlTextReader( "booksSchema.xml" );
      XmlValidatingReader^ vr = gcnew XmlValidatingReader( tr );
      vr->Schemas->Add( nullptr, "books.xsd" );
      vr->ValidationType = ValidationType::Schema;
      vr->ValidationEventHandler += gcnew ValidationEventHandler( Sample::ValidationCallBack
 );
      while ( vr->Read() )
      {
         if ( vr->NodeType == XmlNodeType::Element )
         {
            if ( dynamic_cast<XmlSchemaComplexType^>(vr->SchemaType)
 != nullptr )
            {
               XmlSchemaComplexType^ sct = dynamic_cast<XmlSchemaComplexType^>(vr->SchemaType);
               Console::WriteLine( " {0}( {1})", vr->Name, sct->Name
 );
            }
            else
            {
               Object^ value = vr->ReadTypedValue();
               Console::WriteLine( " {0}( {1}): {2}", vr->Name, value->GetType()->Name,
 value );
            }
         }
      }
   }
};

int main()
{
   Sample::main();
}
import System.*;
import System.IO.*;
import System.Xml.*;
import System.Xml.Schema.*;

public class Sample
{
    public static void main(String[]
 args)
    {
        XmlTextReader tr = new XmlTextReader("booksSchema.xml");
        XmlValidatingReader vr = new XmlValidatingReader(tr);

        vr.get_Schemas().Add(null, "books.xsd");
        vr.set_ValidationType(ValidationType.Schema);
        vr.add_ValidationEventHandler(new ValidationEventHandler(
            ValidationCallBack));

        while (vr.Read()) {
            if (vr.get_NodeType().Equals(XmlNodeType.Element))
 {
                if (vr.get_SchemaType() instanceof XmlSchemaComplexType)
 {
                    XmlSchemaComplexType sct = (XmlSchemaComplexType)(
                        vr.get_SchemaType());
                    Console.WriteLine("{0}({1})", vr.get_Name(), sct.get_Name());
                }
                else {
                    Object value = vr.ReadTypedValue();
                    Console.WriteLine("{0}({1}):{2}", vr.get_Name(), 
                        value.GetType().get_Name(), value);
                }
            }
        }
    } //main

    private static void
 ValidationCallBack(Object sender,
        ValidationEventArgs args)
    {
        Console.WriteLine("***Validation error");
        Console.WriteLine("\tSeverity:{0}", args.get_Severity());
        Console.WriteLine("\tMessage  :{0}", args.get_Message());
    } //ValidationCallBack
} //Sample

この例では、次の入力ファイル使用します

booksSchema.xml

books.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="urn:bookstore-schema"
    elementFormDefault="qualified"
    targetNamespace="urn:bookstore-schema">

 <xsd:element name="bookstore"
 type="bookstoreType"/>

 <xsd:complexType name="bookstoreType">
  <xsd:sequence maxOccurs="unbounded">
   <xsd:element name="book"
  type="bookType"/>
  </xsd:sequence>
 </xsd:complexType>

 <xsd:complexType name="bookType">
  <xsd:sequence>
   <xsd:element name="title"
 type="xsd:string"/>
   <xsd:element name="author"
 type="authorName"/>
   <xsd:element name="price"
  type="xsd:decimal"/>
  </xsd:sequence>
  <xsd:attribute name="genre"
 type="xsd:string"/>
 </xsd:complexType>

 <xsd:complexType name="authorName">
  <xsd:sequence>
   <xsd:element name="first-name"
  type="xsd:string"/>
   <xsd:element name="last-name"
 type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>

</xsd:schema>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


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

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

辞書ショートカット

すべての辞書の索引

XmlValidatingReader.SchemaType プロパティのお隣キーワード
検索ランキング

   

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



XmlValidatingReader.SchemaType プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS