コンパイラからの XML 出力のグローバル宣言
このトピックでは、Delphi または C++ のコンパイル済みソース コードから生成された XML 出力に含まれる可能性がある、すべての要素について説明します。
コンパイラによって生成される XML ドキュメントの詳細は、「Delphi コードの XML ドキュメント」および「C++ コードの XML ドキュメント」を参照してください。
目次
- 1 要素
- 1.1 要素: ancestor
- 1.2 要素: class
- 1.3 要素: element
- 1.4 要素: enum
- 1.5 要素: event
- 1.6 要素: eventref
- 1.7 要素: field
- 1.8 要素: fieldref
- 1.9 要素: file
- 1.10 要素: function
- 1.11 要素: members
- 1.12 要素: methodref
- 1.13 要素: parameter
- 1.14 要素: parameters
- 1.15 要素: property
- 1.16 要素: propertyref
- 1.17 要素: typedef
- 1.18 要素: variable
- 2 用語集(XML スキーマ概念)
- 3 関連項目
要素
「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 を参照してください。