Compiler XML Output Global Declarations
Go Up to XML Compiler Output
This topic describes all the elements that can appear in the XML output generated from the compiled Delphi or C++ source code.
For more information about compiler-generated XML Documentation, see XML Documentation for Delphi Code and XML Documentation for C++ Code.
Contents
- 1 Elements
- 1.1 Element: ancestor
- 1.2 Element: class
- 1.3 Element: element
- 1.4 Element: enum
- 1.5 Element: event
- 1.6 Element: eventref
- 1.7 Element: field
- 1.8 Element: fieldref
- 1.9 Element: file
- 1.10 Element: function
- 1.11 Element: members
- 1.12 Element: methodref
- 1.13 Element: parameter
- 1.14 Element: parameters
- 1.15 Element: property
- 1.16 Element: propertyref
- 1.17 Element: typedef
- 1.18 Element: variable
- 2 Glossary (XML Schema Concepts)
- 3 See Also
Elements
An XML Instance Representation section explains how the element will appear in the output XML. A Schema Component Representation section describes the structure that the XML will follow.
Element: ancestor
Name | ancestor |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Schema Component Representation
<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>
Element: class
Name | class |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Schema Component Representation
<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
Name | element |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: enum
Name | enum |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: event
Name | event |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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]"/>
Schema Component Representation
<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>
Element: eventref
Name | eventref |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: field
Name | field |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<field visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]" name=" xs:NMTOKEN [1]" type=" xs:string [1]"/>
Schema Component Representation
<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>
Element: fieldref
Name | fieldref |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<fieldref visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]" name=" xs:NMTOKEN [1]"/>
Schema Component Representation
<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>
Element: file
Name | file |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Schema Component Representation
<xs:element name="file"> <xs:documentation> "file" is to root/top-most level element generated by the C++ compiler. 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>
Element: function
Name | function |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Schema Component Representation
<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>
Element: members
Name | members |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Schema Component Representation
<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>
Element: methodref
Name | methodref |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: parameter
Name | parameter |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: parameters
Name | parameters |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: property
Name | property |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<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>
Element: propertyref
Name | propertyref |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<propertyref visibility=" xs:NMTOKEN (value comes from list: {'private'|'protected'|'public'}) [1]" name=" xs:NMTOKEN [1]"/>
Schema Component Representation
<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>
Element: typedef
Name | typedef |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<typedef name=" xs:NMTOKEN [1]" type=" xs:string [1]"/>
Schema Component Representation
<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>
Element: variable
Name | variable |
---|---|
Type | Locally-defined complex type |
Nillable | no |
Abstract | no |
XML Instance Representation
<variable name=" xs:ID [1]" type=" xs:string [1]"/>
Schema Component Representation
<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>
Glossary (XML Schema Concepts)
Abstract applies to complex type definitions and element declarations. An abstract element or complex type cannot be used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.
Collapse the Whitespace Policy Replace tab, line feed, and carriage return characters with the space character (Unicode character 32). Then, collapse contiguous sequences of space characters into a single space character, and remove leading and trailing space characters.
Disallowed Substitutions applies to element declarations. If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, for example extension or restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.
Key Constraint is like Uniqueness Constraint, but additionally requires that the specified values must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Key Reference Constraint ensures that the specified values must match values from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Model Group associates element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.
Nillable applies to element declarations. If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the Boolean attribute nil from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type (Notation) must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.
Preserve Whitespace Policy preserves whitespaces exactly as they appear in instances.
Prohibited Derivations (derivation methods that cannot be used to create subtypes from a given type definition) applies to type definitions.
Prohibited Substitutions applies to complex type definitions. Prevents subtypes that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy replaces tab, line feed, and carriage return characters with the space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions applies to element declarations. Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
The Target Namespace identifies the namespace that components in this schema belong to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.