コンパイラからの XML 出力のグローバル宣言

提供: RAD Studio
移動先: 案内検索

コマンドライン ユーティリティ:インデックス への移動


このトピックでは、Delphi または C++ のコンパイル済みソース コードから生成された XML 出力に含まれる可能性がある、すべての要素について説明します。

コンパイラによって生成される XML ドキュメントの詳細は、「Delphi コードの XML ドキュメント」および「C++ コードの XML ドキュメント」を参照してください。

要素

XML インスタンス表現」の節では、出力 XML 中に要素がどのように現れるかを説明します。「スキーマ コンポーネント表現」の節では、XML が取る構造を説明します。

要素: ancestor

名前 ancestor
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <ancestor
  name=" xs:string [0..1]"
  error=" xs:string [0..1]"
  namespace=" xs:NMTOKEN [0..1]">
    Start Choice [1]
 <ancestor> ... </ancestor> [1]
 <eventref> ... </eventref> [1]
 <fieldref> ... </fieldref> [1]
 <methodref> ... </methodref> [1]
 <propertyref> ... </propertyref> [1]
    End Choice
 </ancestor>

スキーマ コンポーネント表現

 <xs:element name="ancestor">
 <xs:complexType>
 <xs:choice>
 <xs:element ref=" ancestor "/>
 <xs:element ref=" eventref "/>
 <xs:element ref=" fieldref "/>
 <xs:element ref=" methodref "/>
 <xs:element ref=" propertyref "/>
 </xs:choice>
 <xs:attribute name="name" type=" xs:string " use="optional"/>
 <xs:attribute name="error" type=" xs:string " use="optional"/>
 <xs:attribute name="namespace" type=" xs:NMTOKEN " use="optional"/>
 </xs:complexType>
 </xs:element>


要素: class

名前 class
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <class
  visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
  name=" xs:string [1]"
  namespace=" xs:NMTOKEN [0..1]"
  info=" xs:string [0..1]">
    Start Choice [1]
 <ancestor> ... </ancestor> [1]
 <members> ... </members> [1]
    End Choice
 </class>

スキーマ コンポーネント表現

 <xs:element name="class">
 <xs:complexType>
 <xs:choice>
 <xs:element ref=" ancestor "/>
 <xs:element ref=" members "/>
 </xs:choice>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:string " use="required"/>
 <xs:attribute name="namespace" type=" xs:NMTOKEN " use="optional"/>
 <xs:attribute name="info" type=" xs:string " use="optional"/>
 </xs:complexType>
 </xs:element>

要素: element

名前 element
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <element
    name=" xs:NMTOKEN [1]"/> 
 Schema Component Representation
 <xs:element name="element">
 <xs:complexType>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>

要素: enum

名前 enum
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <enum
    name=" xs:string [1]">
 <element> ... </element> [1..*]
 </enum>
 '''Schema Component Representation'''
 <xs:element name="enum">
 <xs:complexType>
 <xs:sequence>
 <xs:element ref=" element " maxOccurs="unbounded"/>
 </xs:sequence>
 <xs:attribute name="name" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>

要素: event

名前 event
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <event
    remove=" xs:NMTOKEN [1]"
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"
    type=" xs:NMTOKEN [1]"
    add=" xs:NMTOKEN [1]"/>

スキーマ コンポーネント表現

 <xs:element name="event">
 <xs:complexType>
 <xs:attribute name="remove" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="type" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="add" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>


要素: eventref

名前 eventref
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <eventref
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"/>  
 '''Schema Component Representation'''
 <xs:element name="eventref">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>


要素: field

名前 field
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <field
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"
    type=" xs:string [1]"/>

スキーマ コンポーネント表現

 <xs:element name="field">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>

要素: fieldref

名前 fieldref
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <fieldref
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"/>

スキーマ コンポーネント表現

 <xs:element name="fieldref">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>

要素: file

名前 file
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <file
    name=" xs:NMTOKEN [1]">
      Start Choice [1]
 <class> ... </class> [1]
 <enum> ... </enum> [1]
 <function> ... </function> [1]
 <typedef> ... </typedef> [1]
 <variable> ... </variable> [1]
      End Choice
 </file>

スキーマ コンポーネント表現

 <xs:element name="file">
 <xs:documentation>
      "file" is to root/top-most level element generated by BCC32. It represents the source file processed unless a specific file was specified in the -Zx option.
 </xs:documentation>
 <xs:complexType>
 <xs:choice>
 <xs:element ref=" class "/>
 <xs:element ref=" enum "/>
 <xs:element ref=" function "/>
 <xs:element ref=" typedef "/>
 <xs:element ref=" variable "/>
 </xs:choice>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>

要素: function

名前 function
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <function
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [0..1]"
    name=" xs:string [1]"
    type=" xs:string [1]"
    callconv=" xs:NMTOKEN (value comes from list: {'__cdecl'|'__fastcall'|'__stdcall'}) [1]"
    procflags=" xs:string [0..1]">
 <parameters> ... </parameters> [0..1]
 </function>

スキーマ コンポーネント表現

 <xs:element name="function">
 <xs:complexType>
 <xs:sequence>
 <xs:element ref=" parameters " minOccurs="0"/>
 </xs:sequence>
 <xs:attribute name="visibility" use="optional">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:string " use="required"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 <xs:attribute name="callconv" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="__cdecl"/>
 <xs:enumeration value="__fastcall"/>
 <xs:enumeration value="__stdcall"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="procflags" type=" xs:string " use="optional"/>
 </xs:complexType>
 </xs:element>

要素: members

名前 members
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <members>
    Start Choice [1]
 <class> ... </class> [1]
 <enum> ... </enum> [1]
 <event> ... </event> [1]
 <field> ... </field> [1]
 <function> ... </function> [1]
 <property> ... </property> [1]
 <typedef> ... </typedef> [1]
    End Choice
 </members>

スキーマ コンポーネント表現

 <xs:element name="members">
 <xs:complexType>
 <xs:choice>
 <xs:element ref=" class "/>
 <xs:element ref=" enum "/>
 <xs:element ref=" event "/>
 <xs:element ref=" field "/>
 <xs:element ref=" function "/>
 <xs:element ref=" property "/>
 <xs:element ref=" typedef "/>
 </xs:choice>
 </xs:complexType>
 </xs:element>

要素: methodref

名前 methodref
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <methodref
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:string [1]"/> 
 '''Schema Component Representation'''
 <xs:element name="methodref">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>

要素: parameter

名前 parameter
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <parameter
    name=" xs:string [1]"
    type=" xs:string [1]"/> 
 '''Schema Component Representation'''
 <xs:element name="parameter">
 <xs:complexType>
 <xs:attribute name="name" type=" xs:string " use="required"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>
 </xs:element>

要素: parameters

名前 parameters
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <parameters>
 <parameter> ... </parameter> [1..*]
 </parameters>
 '''Schema Component Representation'''
 <xs:element name="parameters">
 <xs:complexType>
 <xs:sequence>
 <xs:element ref=" parameter " maxOccurs="unbounded"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>

要素: property

名前 property
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <property
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"
    write=" xs:NMTOKEN [0..1]"
    type=" xs:string [1]"
    read=" xs:NMTOKEN [1]"/>  
 '''Schema Component Representation'''
 <xs:element name="property">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="write" type=" xs:NMTOKEN " use="optional"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 <xs:attribute name="read" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>

要素: propertyref

名前 propertyref
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <propertyref
    visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]"
    name=" xs:NMTOKEN [1]"/>

スキーマ コンポーネント表現

 <xs:element name="propertyref">
 <xs:complexType>
 <xs:attribute name="visibility" use="required">
 <xs:simpleType>
 <xs:restriction base=" xs:NMTOKEN ">
 <xs:enumeration value="private"/>
 <xs:enumeration value="protected"/>
 <xs:enumeration value="public"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 </xs:complexType>
 </xs:element>

要素: typedef

名前 typedef
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <typedef
    name=" xs:NMTOKEN [1]"
    type=" xs:string [1]"/>

スキーマ コンポーネント表現

 <xs:element name="typedef">
 <xs:complexType>
 <xs:attribute name="name" type=" xs:NMTOKEN " use="required"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>

要素: variable

名前 variable
ローカル定義の複合型
nil 値可能 ×
抽象要素 ×

XML インスタンス表現

 <variable
    name=" xs:ID [1]"
    type=" xs:string [1]"/>

スキーマ コンポーネント表現

 <xs:element name="variable">
 <xs:complexType>
 <xs:attribute name="name" type=" xs:ID " use="required"/>
 <xs:attribute name="type" type=" xs:string " use="required"/>
 </xs:complexType>
 </xs:element>

用語集(XML スキーマ概念)

abstract: 複合型定義と要素宣言に適用されます。抽象要素や抽象複合型は、要素インスタンスの検証に使用することができません。抽象要素を参照している場合、その抽象要素の代わりに利用できる要素宣言だけをインスタンスの検証に使うことができます。抽象型定義を参照している場合、派生型だけを使うことができます。

all モデル グループ: インスタンス内に子要素を任意の順序で含めることができます。http://www.w3.org/TR/xmlschema-1/#element-all を参照してください。

collapse ホワイトスペース ポリシー: タブ、改行、復帰の文字をスペース文字(Unicode 文字 32)に置き換えます。その後、複数の連続するスペース文字を 1 つのスペース文字にまとめ、前後のスペース文字を削除します。

代替の抑止: 要素宣言に適用されます。substitution が指定されている場合、指定された要素宣言の代わりに代替グループのメンバを使って要素インスタンスを検証することができません。派生方法(extension や restriction など)が指定されている場合、指定された派生方法を使ってある要素宣言の型から派生した型を持つ要素インスタンスを、派生元の要素宣言を使って検証することができません。通常は、要素インスタンスに xsi:type 属性を指定することで、宣言の型をオーバーライドすることができます。

キー(key)制約: 一意性制約と似ていますが、さらに、指定された値が含まれなければなりません。http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions を参照してください。

キー参照(keyref)制約: 指定された値が、キー制約または一意性制約の値に一致することを保証します。http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions を参照してください。

モデル グループ: 要素内容を結びつけるものです。要素内容が現れることのできる順序や、要素内容のグループを繰り返すことができる回数を指定します。http://www.w3.org/TR/xmlschema-1/#Model_Groups を参照してください。

nillable: 要素宣言に適用されます。要素宣言が nillable になっていると、インスタンスで xsi:nil 属性を使用することができます。xsi:nil 属性は、http://www.w3.org/2001/XMLSchema-instance 名前空間の論理型属性 nil です。要素インスタンスの xsi:nil 属性が true に設定されている場合、要素宣言に必須の内容が含まれている場合でも、空にしておくことができます。

notation: notation を使ってデータの書式を示します。型が notation である要素や属性の値は、宣言された記法の名前でなければなりません。http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations を参照してください。

preserve ホワイトスペース ポリシー: インスタンス内に現れるホワイトスペースをそのまま残します。

派生の禁止(ある型定義からサブタイプを作成するときに使用できない派生方法): 型定義に適用されます。

代替の禁止: 複合型定義に適用されます。その型定義の代わりに、指定された派生方法を使って派生したサブタイプを使って、要素インスタンスを検証することができなくなります。

replace ホワイトスペース ポリシー: タブ、改行、復帰の文字をスペース文字(Unicode 文字 32)に置き換えます。

sequence モデル グループ: 子の要素やモデル グループは、インスタンス内に指定の順序で含まれなければなりません。http://www.w3.org/TR/xmlschema-1/#element-sequence を参照してください。

代替グループ: 代替グループのメンバである要素は、代替グループのヘッド要素が参照されている任意の場所で使用することができます。

代替グループの除外: 要素宣言に適用されます。指定された派生方法を使ってある要素の型から派生した型の要素宣言が、派生元の要素宣言を代替できる候補から除外されます。

targetNamespace: このスキーマのコンポーネントが属する名前空間を示します。targetNamespace が指定されていない場合、そのスキーマ コンポーネントはどの名前空間にも属しません。

一意性(unique)制約: 指定したスコープ内で、要素や属性の値、または値の組み合わせが一意であることを保証します。http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions を参照してください。

関連項目