Globale XML-Deklarationen für die Compiler XML-Ausgabe

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Ausgabe als XML


Dieses Thema beschreibt alle Elemente, die in der aus compilierten Delphi- oder C++-Quellcode generierten XML-Ausgabe vorkommen können.

Weitere Informationen über die vom Compiler generierte XML-Dokumentation finden Sie unter XML-Dokumentation für Delphi-Code und XML-Dokumentation für C++-Code.

Elemente

Im Abschnitt XML-Instanzrepräsentation wird erklärt, wie das Element in dem Ausgabe-XML erscheint. Im Abschnitt Schema-Komponentenrepräsentation wird die Struktur des XML beschrieben.

Element: ancestor

Name ancestor
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<element
  name=" xs:NMTOKEN [1]"/> 

Schema-Komponentenrepräsentation

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

Element: enum

Name enum
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<enum
  name=" xs:string [1]">
   <element> ... </element> [1..*]
</enum>

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<parameters><parameter> ... </parameter> [1..*]
</parameters>

Schema-Komponentenrepräsentation

<xs:element name="parameters">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref=" parameter " maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Element: property

Name property
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

<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-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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
Typ Lokal definierter komplexer Typ
Nillable Nein
Abstrakt Nein

XML-Instanzrepräsentation

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

Schema-Komponentenrepräsentation

<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>

Glossar (Konzepte für XML-Schemas)

Abstrakt bezieht sich auf komplexe Typdefinitionen und Elementdeklarationen. Mit einem abstrakten Element oder einem komplexen Typ kann keine Elementinstanz validiert werden. Wenn eine Referenz auf ein abstraktes Element vorhanden ist, kann die Instanz nur mit Elementdeklarationen validiert werden, die das abstrakte Element ersetzen können. Für Referenzen auf abstrakte Typdefinitionen können nur abgeleitete Typen verwendet werden.

Alle untergeordneten Elemente der Modellgruppe können in beliebiger Reihenfolge in Instanzen vorhanden sein. Siehe: http://www.w3.org/TR/xmlschema-1/#element-all (EN).

Ersetzen Sie gemäß der Richtlinie zum Ersetzen von Whitespaces Tabulatoren, Zeilenvorschub- und Wagenrücklaufzeichen durch das Leerzeichen (Unicode-Zeichen 32). Ersetzen Sie dann alle aufeinanderfolgenden Leerzeichen durch ein Leerzeichen, und entfernen Sie alle führenden und nachfolgenden Leerzeichen.

Nicht zulässige Ersetzungen bezieht sich auf Elementdeklarationen. Wenn eine Ersetzung angegeben ist, dann können die Member der Ersetzungsgruppe nicht anstelle der gegebenen Elementdeklaration zur Validierung der Elementinstanzen verwendet werden. Wenn Ableitungsmethoden, z.B. Erweiterung oder Einschränkung, festgelegt sind, dann validiert die gegebene Elementdeklaration keine Elementinstanzen mit Typen, die vom Typ der Elementdeklaration mit den festgelegten Methoden abgeleitet sind. Normalerweise können Elementinstanzen den Typ ihrer Deklaration überschreiben, indem das Attribut xsi:type angegeben wird.

Die Schlüsselbedingung entspricht der Eindeutigkeitsbedingung, erfordert aber zusätzlich, dass die festgelegten Werte angegeben werden müssen. Siehe: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions (EN).

Die Schlüsselreferenzbedingung stellt sicher, dass die festgelegten Werte mit Werten aus einer Schlüsselbedingung oder einer Eindeutigkeitsbedingung übereinstimmen müssen. Siehe: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions (EN).

Die Modellgruppe ordnet Elementinhalt zu, legt die Reihenfolge fest, in der der Elementinhalt auftreten kann, und gibt an, wie oft die Elementinhaltsgruppe wiederholt werden darf. Siehe: http://www.w3.org/TR/xmlschema-1/#Model_Groups (EN).

Nillable bezieht sich auf Elementdeklarationen. Wenn eine Elementdeklaration nillable ist, können Instanzen das Attribut xsi:nil verwenden. Das Attribut xsi:nil ist das boolesche Attribut nil aus dem Namespace http://www.w3.org/2001/XMLSchema-instance (EN). Wenn in einer Elementinstanz ein xsi:nil-Attribut auf true gesetzt ist, kann es leer gelassen werden, auch wenn die Elementdeklaration Inhalt erfordert.

Mit der Notation A wird das Format von Daten identifiziert. Werte von Elementen und Attributen des Typs (Notation) müssen aus den Namen der deklarierten Notationen stammen. Siehe: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations (EN).

Mit der Richtlinie zum Beibehalten von Whitespaces werden Whitespaces genauso beibehalten, wie sie in Instanzen erscheinen.

Nicht zulässige Ableitungen (Ableitungsmethoden, die nicht zum Erstellen von Untertypen für eine gegebene Typdefinition verwendet werden können) bezieht sich auf Typdefinitionen.

Nicht zulässige Ersetzungen bezieht sich auf komplexe Typdefinitionen. Verhindert, dass Untertypen, die mit den angegebenen Ableitungsmethoden abgeleitet worden sind, Elementinstanzen anstelle der gegebenen Typdefinition validieren können.

Mit der Richtlinie zum Ersetzen von Whitespaces werden Tabulatoren, Zeilenvorschub- und Wagenrücklaufzeichen durch das Leerzeichen (Unicode-Zeichen 32) ersetzt.

Untergeordnete Elemente von Sequenzmodellgruppen und Modellgruppen müssen in Instanzen in der festgelegten Reihenfolge angegeben werden. Siehe: http://www.w3.org/TR/xmlschema-1/#element-sequence (EN).

Ersetzungsgruppenelemente, die Member einer Ersetzungsgruppe sind, können immer dann verwendet werden, wenn das Kopfelement der Ersetzungsgruppe referenziert wird.

Ersetzungsgruppenausschlüsse bezieht sich auf Elementdeklarationen. Verhindert, dass Elementdeklarationen sich selbst als Ersetzung für eine gegebene Elementdeklaration anbieten, wenn ihr Typ vom Typ des Originalelements mit den festgelegten Ableitungsmethoden abgeleitet wurde.

Der Ziel-Namespace identifiziert den Namespace, zu dem Komponenten in diesem Schema gehören. Wenn kein Ziel-Namespace angegeben ist, dann gehören die Schemakomponenten zu keinem Namespace.

Die Eindeutigkeitsbedingung stellt die Eindeutigkeit eines Element-/Attributwertes oder einer Kombination von Werten in einem festgelegten Gültigkeitsbereich sicher. Siehe: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions (EN).

Siehe auch