Compiler XML Output Global Declarations

From RAD Studio
Jump to: navigation, search

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.

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.

See Also