モジュール java.xml
パッケージ org.w3c.dom

インタフェースTypeInfo


  • public interface TypeInfo
    TypeInfoインタフェースは、文書に関連するスキーマで指定されたElementノードまたはAttrノードから参照される型を表します。 型は、名前空間URIプロパティと名前プロパティの一対のペアであり、文書のスキーマによって決まります。

    文書のスキーマがXML DTD「XML 1.0」である場合、値は次のように計算されます。

    • この型がAttrノードから参照される場合、typeNamespace"http://www.w3.org/TR/REC-xml"であり、typeNameは「XML Information Set」内の「attribute type」プロパティを表す。 属性の宣言がない場合、typeNamespacetypeNamenull
    • この型がElementノードから参照される場合、typeNamespacetypeNamenull

    文書のスキーマがXMLスキーマ「XML Schema Part 1」である場合、値は、スキーマ検証後情報セット・コントリビューション(PSVIコントリビューションとも呼ばれる)を使用して次のように計算されます。

    • 「validity」プロパティが存在し、かつ「無効」または「未知」である場合: 宣言された型の{target namespace}プロパティと{name}プロパティ(存在する場合)。それ以外の場合はnull

      ノート: 記述時に、XMLスキーマ仕様では宣言された型の公開は必要ありません。 したがって、DOM実装では、有効性を欠いている場合に型情報を提供しないようにできます。

    • 「validity」プロパティが存在し、かつ「有効」である場合:
      1. 「member type definition」が存在する場合:
        1. {name}が存在しない場合は、「member type definition」プロパティの{name}プロパティと{target namespace}プロパティを公開する。
        2. {name}が存在しない場合は、対応する匿名の型名の名前空間とローカル名を公開する。
      2. 「type definition」プロパティが存在する場合:
        1. {name}が存在しない場合は、「type definition」プロパティの{name}プロパティと{target namespace}プロパティを公開する。
        2. {name}が存在しない場合は、対応する匿名の型名の名前空間とローカル名を公開する。
      3. 「member type definition anonymous」が存在する場合:
        1. これがfalseの場合は、「member type definition name」プロパティと「member type definition namespace」プロパティを公開する。
        2. {name}が存在しない場合は、対応する匿名の型名の名前空間とローカル名を公開する。
      4. 「type definition anonymous」が存在する場合:
        1. これがfalseの場合は、「type definition name」プロパティと「type definition namespace」プロパティを公開する。
        2. {name}が存在しない場合は、対応する匿名の型名の名前空間とローカル名を公開する。

    ノート: ほかのスキーマ言語はW3Cの範囲に含まれないため、TypeInfoを使用してそれぞれの型システムを表す方法を定義する必要があります。

    Document Object Model (DOM) Level 3 Core Specification」も参照してください。

    導入されたバージョン:
    1.5、DOMレベル3
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      String getTypeName()
      関連する要素または属性に対して宣言された型の名前。未知の場合はnull
      String getTypeNamespace()
      関連する要素または属性に対して宣言された型の名前空間。要素が宣言を持たない場合、または名前空間情報がない場合はnull
      boolean isDerivedFrom​(String typeNamespaceArg, String typeNameArg, int derivationMethod)
      このメソッドは、参照の型定義(つまり、メソッドが呼び出されているTypeInfo)と、ほかの型定義(つまり、パラメータとして渡された型定義)の間に派生が存在するかどうかを返します。
    • フィールドの詳細

      • DERIVATION_RESTRICTION

        static final int DERIVATION_RESTRICTION
        文書のスキーマがXMLスキーマ「XML Schema Part 1」のとき、複合型が関係する場合には、この定数は制限による派生を表し、単純型が関係する場合には制限を表します。
        参照の型定義は、ほかの型定義が参照の型定義と同じである場合、または参照の型定義から{base type definition}プロパティをたどってほかの型定義に再帰的に到達でき、かつ関係するすべての派生メソッドが制限である場合は、ほかの型定義から制限によって派生します。
        関連項目:
        定数フィールド値
      • DERIVATION_EXTENSION

        static final int DERIVATION_EXTENSION
        文書のスキーマがXMLスキーマ「XML Schema Part 1」の場合、この定数は拡張による派生を表します。
        参照の型定義は、参照の型定義から{base type definition}プロパティをたどってほかの型定義に再帰的に到達でき、かつ関係する少なくとも1つの派生メソッドが拡張である場合は、ほかの型定義から拡張によって派生します。
        関連項目:
        定数フィールド値
      • DERIVATION_UNION

        static final int DERIVATION_UNION
        文書のスキーマがXMLスキーマ「XML Schema Part 1」のとき、単純型が関係する場合には、この定数は共用体を表します。
        参照の型定義は、参照の型定義がDERIVATION_RESTRICTIONまたはDERIVATION_EXTENSIONによってT1から派生し、T2がDERIVATION_RESTRICTIONによってほかの型定義から派生し、T1に{variety} 共用体が含まれ、さらに{member type definitions}のいずれかがT2であるような2つの型定義T1とT2が存在する場合は、ほかの型定義から共用体によって派生します。
        T1は参照の型定義と同じになり、T2はほかの型定義と同じになります。
        関連項目:
        定数フィールド値
      • DERIVATION_LIST

        static final int DERIVATION_LIST
        文書のスキーマがXMLスキーマ「XML Schema Part 1」の場合、この定数はリストを表します。
        参照の型定義は、参照の型定義がDERIVATION_RESTRICTIONまたはDERIVATION_EXTENSIONによってT1から派生し、T2がDERIVATION_RESTRICTIONによってほかの型定義から派生し、T1に{variety} リストが含まれ、さらにT2が{item type definition}であるような2つの型定義T1とT2が存在する場合は、ほかの型定義からリストによって派生します。
        T1は参照の型定義と同じになり、T2はほかの型定義と同じになります。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • getTypeName

        String getTypeName()
        関連する要素または属性に対して宣言された型の名前。未知の場合はnull
      • getTypeNamespace

        String getTypeNamespace()
        関連する要素または属性に対して宣言された型の名前空間。要素が宣言を持たない場合、または名前空間情報がない場合はnull
      • isDerivedFrom

        boolean isDerivedFrom​(String typeNamespaceArg,
                              String typeNameArg,
                              int derivationMethod)
        このメソッドは、参照の型定義(つまり、メソッドが呼び出されているTypeInfo)と、ほかの型定義(つまり、パラメータとして渡された型定義)の間に派生が存在するかどうかを返します。
        パラメータ:
        typeNamespaceArg - ほかの型定義の名前空間。
        typeNameArg - ほかの型定義の名前。
        derivationMethod - このインタフェースで提供される定数のリストで記述されている、派生の型と2つの型の間で適用される条件。
        戻り値:
        文書のスキーマがDTDであるか、文書にスキーマが関連付けられていない場合、このメソッドは常にfalseを返す。 文書のスキーマがXMLスキーマである場合、参照の型定義が派生パラメータに従ってほかの型定義から派生していれば、このメソッドはtrueを返す。 パラメータの値が0である(derivationMethodパラメータのどのビットも1に設定されていない)場合、参照の型定義から{base type definition}、{item type definition}、または{member type definitions}の任意の組み合わせを再帰的に扱うことによってほかの型定義に到達可能であれば、このメソッドはtrueを返す。