DITA-OT_CXX_Plugin/cxxapiref/xsd/cxxClass.mod.xsd
changeset 4 468f4c8d3d5b
equal deleted inserted replaced
3:d8fccb2cd802 4:468f4c8d3d5b
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!-- ================================================================= -->
       
     3 <!-- HEADER -->
       
     4 <!-- ================================================================= -->
       
     5 <!-- MODULE:    C++ Class DTD -->
       
     6 <!-- VERSION:   0.6.0 -->
       
     7 <!-- DATE:      May 2009 -->
       
     8 <!---->
       
     9 <!-- ================================================================= -->
       
    10 <!-- ================================================================= -->
       
    11 <!-- PUBLIC DOCUMENT TYPE DEFINITION -->
       
    12 <!-- TYPICAL INVOCATION -->
       
    13 <!---->
       
    14 <!--
       
    15   Refer to this file by the following public identifier or an 
       
    16         appropriate system identifier 
       
    17   PUBLIC "-//NOKIA//DTD DITA C++ API Class Reference Type v0.6.0//EN"
       
    18         Delivered as file "cxxClass.dtd"
       
    19 -->
       
    20 <!-- ================================================================= -->
       
    21 <!-- SYSTEM:     Darwin Information Typing Architecture (DITA) -->
       
    22 <!---->
       
    23 <!-- PURPOSE:    C++ API Reference for Classes -->
       
    24 <!---->
       
    25 <!-- ORIGINAL CREATION DATE: -->
       
    26 <!-- November 2009 -->
       
    27 <!---->
       
    28 <!-- Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -->
       
    29 <!-- All rights reserved. -->
       
    30 <!---->
       
    31 <!-- Change History (latest at top): -->
       
    32 <!-- +++++++++++++++++++++++++++++++ -->
       
    33 <!-- 2010-05-14 PaulRoss: Fixed templates. -->
       
    34 <!-- 2010-02-16 VOG: Updated. -->
       
    35 <!-- 2010-02-10 PaulRoss: Updated. -->
       
    36 <!-- 2009-11-16 PaulRoss: Initial design. -->
       
    37 <!---->
       
    38 <!-- ================================================================= -->
       
    39 <!--
       
    40   Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
       
    41   All rights reserved.
       
    42 -->
       
    43 <!-- ============ Hooks for domain extension ============ -->
       
    44 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
       
    45   <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="../../../schema/base/xsd/ditaarch.xsd"/>
       
    46   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../../schema/base/xsd/xml.xsd"/>
       
    47   <xs:group name="cxxClassDetail">
       
    48     <xs:sequence>
       
    49       <xs:element ref="cxxClassDetail"/>
       
    50     </xs:sequence>
       
    51   </xs:group>
       
    52   <xs:group name="cxxClassDefinition">
       
    53     <xs:sequence>
       
    54       <xs:element ref="cxxClassDefinition"/>
       
    55     </xs:sequence>
       
    56   </xs:group>
       
    57   <xs:group name="cxxClassAbstract">
       
    58     <xs:sequence>
       
    59       <xs:element ref="cxxClassAbstract"/>
       
    60     </xs:sequence>
       
    61   </xs:group>
       
    62   <xs:group name="cxxClassAccessSpecifier">
       
    63     <xs:sequence>
       
    64       <xs:element ref="cxxClassAccessSpecifier"/>
       
    65     </xs:sequence>
       
    66   </xs:group>
       
    67   <xs:group name="cxxClassDerivations">
       
    68     <xs:sequence>
       
    69       <xs:element ref="cxxClassDerivations"/>
       
    70     </xs:sequence>
       
    71   </xs:group>
       
    72   <xs:group name="cxxClassDerivation">
       
    73     <xs:sequence>
       
    74       <xs:element ref="cxxClassDerivation"/>
       
    75     </xs:sequence>
       
    76   </xs:group>
       
    77   <xs:group name="cxxStructDerivation">
       
    78     <xs:sequence>
       
    79       <xs:element ref="cxxStructDerivation"/>
       
    80     </xs:sequence>
       
    81   </xs:group>
       
    82   <!-- Templates -->
       
    83   <xs:group name="cxxClassTemplateParameters">
       
    84     <xs:sequence>
       
    85       <xs:element ref="cxxClassTemplateParameters"/>
       
    86     </xs:sequence>
       
    87   </xs:group>
       
    88   <xs:group name="cxxClassTemplateParameter">
       
    89     <xs:sequence>
       
    90       <xs:element ref="cxxClassTemplateParameter"/>
       
    91     </xs:sequence>
       
    92   </xs:group>
       
    93   <xs:group name="cxxClassTemplateParameterType">
       
    94     <xs:sequence>
       
    95       <xs:element ref="cxxClassTemplateParameterType"/>
       
    96     </xs:sequence>
       
    97   </xs:group>
       
    98   <!-- Derivation -->
       
    99   <xs:group name="cxxClassDerivationAccessSpecifier">
       
   100     <xs:sequence>
       
   101       <xs:element ref="cxxClassDerivationAccessSpecifier"/>
       
   102     </xs:sequence>
       
   103   </xs:group>
       
   104   <xs:group name="cxxClassDerivationVirtual">
       
   105     <xs:sequence>
       
   106       <xs:element ref="cxxClassDerivationVirtual"/>
       
   107     </xs:sequence>
       
   108   </xs:group>
       
   109   <xs:group name="cxxClassBaseClass">
       
   110     <xs:sequence>
       
   111       <xs:element ref="cxxClassBaseClass"/>
       
   112     </xs:sequence>
       
   113   </xs:group>
       
   114   <xs:group name="cxxClassBaseStruct">
       
   115     <xs:sequence>
       
   116       <xs:element ref="cxxClassBaseStruct"/>
       
   117     </xs:sequence>
       
   118   </xs:group>
       
   119   <xs:group name="cxxClassBaseUnion">
       
   120     <xs:sequence>
       
   121       <xs:element ref="cxxClassBaseUnion"/>
       
   122     </xs:sequence>
       
   123   </xs:group>
       
   124   <xs:group name="cxxClassInherits">
       
   125     <xs:sequence>
       
   126       <xs:element ref="cxxClassInherits"/>
       
   127     </xs:sequence>
       
   128   </xs:group>
       
   129   <xs:complexType name="cxxClassInheritsDetail">
       
   130     <xs:complexContent>
       
   131       <xs:extension base="cxxClassInheritsDetail.element"/>
       
   132     </xs:complexContent>
       
   133   </xs:complexType>
       
   134   <xs:group name="cxxClassFunctionInherited">
       
   135     <xs:sequence>
       
   136       <xs:element ref="cxxClassFunctionInherited"/>
       
   137     </xs:sequence>
       
   138   </xs:group>
       
   139   <xs:group name="cxxClassVariableInherited">
       
   140     <xs:sequence>
       
   141       <xs:element ref="cxxClassVariableInherited"/>
       
   142     </xs:sequence>
       
   143   </xs:group>
       
   144   <xs:group name="cxxClassEnumerationInherited">
       
   145     <xs:sequence>
       
   146       <xs:element ref="cxxClassEnumerationInherited"/>
       
   147     </xs:sequence>
       
   148   </xs:group>
       
   149   <xs:group name="cxxClassEnumeratorInherited">
       
   150     <xs:sequence>
       
   151       <xs:element ref="cxxClassEnumeratorInherited"/>
       
   152     </xs:sequence>
       
   153   </xs:group>
       
   154   <!-- Nested members -->
       
   155   <xs:group name="cxxClassNestedDetail">
       
   156     <xs:sequence>
       
   157       <xs:element ref="cxxClassNestedDetail"/>
       
   158     </xs:sequence>
       
   159   </xs:group>
       
   160   <xs:group name="cxxClassNestedClass">
       
   161     <xs:sequence>
       
   162       <xs:element ref="cxxClassNestedClass"/>
       
   163     </xs:sequence>
       
   164   </xs:group>
       
   165   <xs:group name="cxxClassNestedStruct">
       
   166     <xs:sequence>
       
   167       <xs:element ref="cxxClassNestedStruct"/>
       
   168     </xs:sequence>
       
   169   </xs:group>
       
   170   <xs:group name="cxxClassNestedUnion">
       
   171     <xs:sequence>
       
   172       <xs:element ref="cxxClassNestedUnion"/>
       
   173     </xs:sequence>
       
   174   </xs:group>
       
   175   <!-- Location elements -->
       
   176   <xs:group name="cxxClassAPIItemLocation">
       
   177     <xs:sequence>
       
   178       <xs:element ref="cxxClassAPIItemLocation"/>
       
   179     </xs:sequence>
       
   180   </xs:group>
       
   181   <xs:group name="cxxClassDeclarationFile">
       
   182     <xs:sequence>
       
   183       <xs:element ref="cxxClassDeclarationFile"/>
       
   184     </xs:sequence>
       
   185   </xs:group>
       
   186   <xs:group name="cxxClassDeclarationFileLine">
       
   187     <xs:sequence>
       
   188       <xs:element ref="cxxClassDeclarationFileLine"/>
       
   189     </xs:sequence>
       
   190   </xs:group>
       
   191   <xs:group name="cxxClassDefinitionFile">
       
   192     <xs:sequence>
       
   193       <xs:element ref="cxxClassDefinitionFile"/>
       
   194     </xs:sequence>
       
   195   </xs:group>
       
   196   <xs:group name="cxxClassDefinitionFileLineStart">
       
   197     <xs:sequence>
       
   198       <xs:element ref="cxxClassDefinitionFileLineStart"/>
       
   199     </xs:sequence>
       
   200   </xs:group>
       
   201   <xs:group name="cxxClassDefinitionFileLineEnd">
       
   202     <xs:sequence>
       
   203       <xs:element ref="cxxClassDefinitionFileLineEnd"/>
       
   204     </xs:sequence>
       
   205   </xs:group>
       
   206   <!-- ============ Hooks for shell DTD ============ -->
       
   207   <xs:group name="cxxClass-types-default">
       
   208     <xs:choice>
       
   209       <xs:element ref="cxxClassNested"/>
       
   210       <xs:element ref="cxxFunction"/>
       
   211       <xs:element ref="cxxDefine"/>
       
   212       <xs:element ref="cxxVariable"/>
       
   213       <xs:element ref="cxxEnumeration"/>
       
   214       <xs:element ref="cxxTypedef"/>
       
   215     </xs:choice>
       
   216   </xs:group>
       
   217   <xs:group name="cxxClass-info-types">
       
   218     <xs:sequence>
       
   219       <xs:group ref="cxxClass-types-default"/>
       
   220     </xs:sequence>
       
   221   </xs:group>
       
   222   <xs:group name="cxxClassNested-types-default">
       
   223     <xs:sequence>
       
   224       <xs:element ref="no-topic-nesting"/>
       
   225     </xs:sequence>
       
   226   </xs:group>
       
   227   <xs:group name="cxxClassNested-info-types">
       
   228     <xs:sequence>
       
   229       <xs:group ref="cxxClassNested-types-default"/>
       
   230     </xs:sequence>
       
   231   </xs:group>
       
   232   <!-- ============ Topic specializations ============ -->
       
   233   <!-- (%cxxClass-info-types;)* -->
       
   234   <xs:element name="cxxClass">
       
   235     <xs:complexType>
       
   236       <xs:sequence>
       
   237         <xs:group ref="apiName"/>
       
   238         <xs:group minOccurs="0" ref="shortdesc"/>
       
   239         <xs:group minOccurs="0" ref="prolog"/>
       
   240         <xs:group ref="cxxClassDetail"/>
       
   241         <xs:group minOccurs="0" ref="related-links"/>
       
   242         <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClass-info-types"/>
       
   243         <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassInherits"/>
       
   244       </xs:sequence>
       
   245       <xs:attribute name="id" use="required" type="xs:ID"/>
       
   246       <xs:attribute name="conref"/>
       
   247       <xs:attribute name="outputclass"/>
       
   248       <xs:attribute ref="xml:lang"/>
       
   249       <xs:attributeGroup ref="arch-atts"/>
       
   250       <xs:attribute name="domains" default="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                            (topic ut-d) (topic pr-d api-d) (topic pr-d api-d cxxapi-d)"/>
       
   251       <xs:attributeGroup ref="global-atts"/>
       
   252       <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClass "/>
       
   253     </xs:complexType>
       
   254   </xs:element>
       
   255   <xs:element name="cxxClassDetail">
       
   256     <xs:complexType>
       
   257       <xs:sequence>
       
   258         <xs:group minOccurs="0" ref="cxxClassDefinition"/>
       
   259         <xs:group minOccurs="0" ref="apiDesc"/>
       
   260         <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   261           <xs:group ref="example"/>
       
   262           <xs:group ref="section"/>
       
   263           <xs:group ref="apiImpl"/>
       
   264         </xs:choice>
       
   265       </xs:sequence>
       
   266       <xs:attributeGroup ref="id-atts"/>
       
   267       <xs:attribute name="translate">
       
   268         <xs:simpleType>
       
   269           <xs:restriction base="xs:token">
       
   270             <xs:enumeration value="yes"/>
       
   271             <xs:enumeration value="no"/>
       
   272           </xs:restriction>
       
   273         </xs:simpleType>
       
   274       </xs:attribute>
       
   275       <xs:attribute ref="xml:lang"/>
       
   276       <xs:attribute name="outputclass"/>
       
   277       <xs:attributeGroup ref="global-atts"/>
       
   278       <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiClassifierDetail cxxClass/cxxClassDetail "/>
       
   279     </xs:complexType>
       
   280   </xs:element>
       
   281   <xs:element name="cxxClassDefinition">
       
   282     <xs:complexType>
       
   283       <xs:sequence>
       
   284         <xs:group minOccurs="0" ref="cxxClassAccessSpecifier"/>
       
   285         <xs:group minOccurs="0" ref="cxxClassAbstract"/>
       
   286         <xs:group minOccurs="0" ref="cxxClassDerivations"/>
       
   287         <xs:group minOccurs="0" ref="cxxClassTemplateParameters"/>
       
   288         <xs:group ref="cxxClassAPIItemLocation"/>
       
   289       </xs:sequence>
       
   290       <xs:attribute name="spectitle"/>
       
   291       <xs:attributeGroup ref="univ-atts"/>
       
   292       <xs:attribute name="outputclass"/>
       
   293       <xs:attributeGroup ref="global-atts"/>
       
   294       <xs:attribute name="class" default="- topic/section reference/section apiRef/apiDef apiClassifier/apiClassifierDef cxxClass/cxxClassDefinition "/>
       
   295     </xs:complexType>
       
   296   </xs:element>
       
   297   <xs:element name="cxxClassAccessSpecifier">
       
   298     <xs:complexType>
       
   299       <xs:attribute name="name" default="access">
       
   300         <xs:simpleType>
       
   301           <xs:restriction base="xs:string">
       
   302             <xs:enumeration value="access"/>
       
   303           </xs:restriction>
       
   304         </xs:simpleType>
       
   305       </xs:attribute>
       
   306       <xs:attribute name="value" default="public">
       
   307         <xs:simpleType>
       
   308           <xs:restriction base="xs:token">
       
   309             <xs:enumeration value="public"/>
       
   310             <xs:enumeration value="protected"/>
       
   311             <xs:enumeration value="private"/>
       
   312           </xs:restriction>
       
   313         </xs:simpleType>
       
   314       </xs:attribute>
       
   315       <xs:attributeGroup ref="univ-atts"/>
       
   316       <xs:attribute name="outputclass"/>
       
   317       <xs:attributeGroup ref="global-atts"/>
       
   318       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassAccessSpecifier "/>
       
   319     </xs:complexType>
       
   320   </xs:element>
       
   321   <xs:element name="cxxClassAbstract">
       
   322     <xs:complexType>
       
   323       <xs:attribute name="name" default="abstract">
       
   324         <xs:simpleType>
       
   325           <xs:restriction base="xs:string">
       
   326             <xs:enumeration value="abstract"/>
       
   327           </xs:restriction>
       
   328         </xs:simpleType>
       
   329       </xs:attribute>
       
   330       <xs:attribute name="value" default="abstract">
       
   331         <xs:simpleType>
       
   332           <xs:restriction base="xs:string">
       
   333             <xs:enumeration value="abstract"/>
       
   334           </xs:restriction>
       
   335         </xs:simpleType>
       
   336       </xs:attribute>
       
   337       <xs:attributeGroup ref="univ-atts"/>
       
   338       <xs:attribute name="outputclass"/>
       
   339       <xs:attributeGroup ref="global-atts"/>
       
   340       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassAbstract "/>
       
   341     </xs:complexType>
       
   342   </xs:element>
       
   343   <xs:element name="cxxClassDerivations">
       
   344     <xs:complexType>
       
   345       <xs:choice maxOccurs="unbounded">
       
   346         <xs:group ref="cxxClassDerivation"/>
       
   347         <xs:group ref="cxxStructDerivation"/>
       
   348       </xs:choice>
       
   349       <xs:attributeGroup ref="univ-atts"/>
       
   350       <xs:attribute name="outputclass"/>
       
   351       <xs:attributeGroup ref="global-atts"/>
       
   352       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassDerivations "/>
       
   353     </xs:complexType>
       
   354   </xs:element>
       
   355   <xs:element name="cxxClassDerivation">
       
   356     <xs:complexType>
       
   357       <xs:sequence>
       
   358         <xs:group ref="cxxClassDerivationAccessSpecifier"/>
       
   359         <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassDerivationVirtual"/>
       
   360         <xs:choice>
       
   361           <xs:group ref="cxxClassBaseClass"/>
       
   362           <xs:group ref="cxxClassBaseStruct"/>
       
   363           <xs:group ref="cxxClassBaseUnion"/>
       
   364         </xs:choice>
       
   365       </xs:sequence>
       
   366       <xs:attributeGroup ref="univ-atts"/>
       
   367       <xs:attribute name="outputclass"/>
       
   368       <xs:attributeGroup ref="global-atts"/>
       
   369       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassDerivation "/>
       
   370     </xs:complexType>
       
   371   </xs:element>
       
   372   <xs:element name="cxxClassInherits">
       
   373     <xs:complexType>
       
   374       <xs:complexContent>
       
   375         <xs:extension base="cxxClassInheritsDetail">
       
   376           <xs:attributeGroup ref="univ-atts"/>
       
   377           <xs:attribute name="outputclass"/>
       
   378           <xs:attribute name="domains" default="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                            (topic ut-d) (topic pr-d api-d) (topic pr-d api-d cxxapi-d)"/>
       
   379           <xs:attributeGroup ref="global-atts"/>
       
   380           <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClassInherits "/>
       
   381         </xs:extension>
       
   382       </xs:complexContent>
       
   383     </xs:complexType>
       
   384   </xs:element>
       
   385   <xs:complexType name="cxxClassInheritsDetail.element">
       
   386     <xs:sequence>
       
   387       <xs:element ref="cxxClassInheritsDetail"/>
       
   388     </xs:sequence>
       
   389   </xs:complexType>
       
   390   <xs:element name="cxxClassInheritsDetail">
       
   391     <xs:complexType>
       
   392       <xs:choice maxOccurs="unbounded">
       
   393         <xs:group ref="cxxClassFunctionInherited"/>
       
   394         <xs:group ref="cxxClassVariableInherited"/>
       
   395         <xs:group ref="cxxClassEnumerationInherited"/>
       
   396         <xs:group ref="cxxClassEnumeratorInherited"/>
       
   397       </xs:choice>
       
   398       <xs:attributeGroup ref="univ-atts"/>
       
   399       <xs:attribute name="outputclass"/>
       
   400       <xs:attribute name="domains" default="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                            (topic ut-d) (topic pr-d api-d) (topic pr-d api-d cxxapi-d)"/>
       
   401       <xs:attributeGroup ref="global-atts"/>
       
   402       <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxClass/cxxClassInheritsDetail "/>
       
   403     </xs:complexType>
       
   404   </xs:element>
       
   405   <xs:element name="cxxClassFunctionInherited">
       
   406     <xs:complexType mixed="true">
       
   407       <xs:attribute name="href"/>
       
   408       <xs:attribute name="keyref"/>
       
   409       <xs:attribute name="type"/>
       
   410       <xs:attributeGroup ref="univ-atts"/>
       
   411       <xs:attribute name="format"/>
       
   412       <xs:attribute name="scope">
       
   413         <xs:simpleType>
       
   414           <xs:restriction base="xs:token">
       
   415             <xs:enumeration value="local"/>
       
   416             <xs:enumeration value="peer"/>
       
   417             <xs:enumeration value="external"/>
       
   418           </xs:restriction>
       
   419         </xs:simpleType>
       
   420       </xs:attribute>
       
   421       <xs:attribute name="outputclass"/>
       
   422       <xs:attributeGroup ref="global-atts"/>
       
   423       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassFunctionInherited  "/>
       
   424     </xs:complexType>
       
   425   </xs:element>
       
   426   <xs:element name="cxxClassVariableInherited">
       
   427     <xs:complexType mixed="true">
       
   428       <xs:attribute name="href"/>
       
   429       <xs:attribute name="keyref"/>
       
   430       <xs:attribute name="type"/>
       
   431       <xs:attributeGroup ref="univ-atts"/>
       
   432       <xs:attribute name="format"/>
       
   433       <xs:attribute name="scope">
       
   434         <xs:simpleType>
       
   435           <xs:restriction base="xs:token">
       
   436             <xs:enumeration value="local"/>
       
   437             <xs:enumeration value="peer"/>
       
   438             <xs:enumeration value="external"/>
       
   439           </xs:restriction>
       
   440         </xs:simpleType>
       
   441       </xs:attribute>
       
   442       <xs:attribute name="outputclass"/>
       
   443       <xs:attributeGroup ref="global-atts"/>
       
   444       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassVariableInherited "/>
       
   445     </xs:complexType>
       
   446   </xs:element>
       
   447   <xs:element name="cxxClassEnumerationInherited">
       
   448     <xs:complexType mixed="true">
       
   449       <xs:attribute name="href"/>
       
   450       <xs:attribute name="keyref"/>
       
   451       <xs:attribute name="type"/>
       
   452       <xs:attributeGroup ref="univ-atts"/>
       
   453       <xs:attribute name="format"/>
       
   454       <xs:attribute name="scope">
       
   455         <xs:simpleType>
       
   456           <xs:restriction base="xs:token">
       
   457             <xs:enumeration value="local"/>
       
   458             <xs:enumeration value="peer"/>
       
   459             <xs:enumeration value="external"/>
       
   460           </xs:restriction>
       
   461         </xs:simpleType>
       
   462       </xs:attribute>
       
   463       <xs:attribute name="outputclass"/>
       
   464       <xs:attributeGroup ref="global-atts"/>
       
   465       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassEnumerationInherited "/>
       
   466     </xs:complexType>
       
   467   </xs:element>
       
   468   <xs:element name="cxxClassEnumeratorInherited">
       
   469     <xs:complexType mixed="true">
       
   470       <xs:attribute name="href"/>
       
   471       <xs:attribute name="keyref"/>
       
   472       <xs:attribute name="type"/>
       
   473       <xs:attributeGroup ref="univ-atts"/>
       
   474       <xs:attribute name="format"/>
       
   475       <xs:attribute name="scope">
       
   476         <xs:simpleType>
       
   477           <xs:restriction base="xs:token">
       
   478             <xs:enumeration value="local"/>
       
   479             <xs:enumeration value="peer"/>
       
   480             <xs:enumeration value="external"/>
       
   481           </xs:restriction>
       
   482         </xs:simpleType>
       
   483       </xs:attribute>
       
   484       <xs:attribute name="outputclass"/>
       
   485       <xs:attributeGroup ref="global-atts"/>
       
   486       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassEnumeratorInherited "/>
       
   487     </xs:complexType>
       
   488   </xs:element>
       
   489   <xs:element name="cxxClassDerivationAccessSpecifier">
       
   490     <xs:complexType>
       
   491       <xs:attribute name="name" default="access">
       
   492         <xs:simpleType>
       
   493           <xs:restriction base="xs:string">
       
   494             <xs:enumeration value="access"/>
       
   495           </xs:restriction>
       
   496         </xs:simpleType>
       
   497       </xs:attribute>
       
   498       <xs:attribute name="value" default="public">
       
   499         <xs:simpleType>
       
   500           <xs:restriction base="xs:token">
       
   501             <xs:enumeration value="public"/>
       
   502             <xs:enumeration value="protected"/>
       
   503             <xs:enumeration value="private"/>
       
   504           </xs:restriction>
       
   505         </xs:simpleType>
       
   506       </xs:attribute>
       
   507       <xs:attributeGroup ref="univ-atts"/>
       
   508       <xs:attribute name="outputclass"/>
       
   509       <xs:attributeGroup ref="global-atts"/>
       
   510       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDerivationAccessSpecifier "/>
       
   511     </xs:complexType>
       
   512   </xs:element>
       
   513   <xs:element name="cxxClassDerivationVirtual">
       
   514     <xs:complexType>
       
   515       <xs:attribute name="name" default="virtual">
       
   516         <xs:simpleType>
       
   517           <xs:restriction base="xs:string">
       
   518             <xs:enumeration value="virtual"/>
       
   519           </xs:restriction>
       
   520         </xs:simpleType>
       
   521       </xs:attribute>
       
   522       <xs:attribute name="value" default="true">
       
   523         <xs:simpleType>
       
   524           <xs:restriction base="xs:string">
       
   525             <xs:enumeration value="true"/>
       
   526           </xs:restriction>
       
   527         </xs:simpleType>
       
   528       </xs:attribute>
       
   529       <xs:attributeGroup ref="univ-atts"/>
       
   530       <xs:attribute name="outputclass"/>
       
   531       <xs:attributeGroup ref="global-atts"/>
       
   532       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDerivationVirtual "/>
       
   533     </xs:complexType>
       
   534   </xs:element>
       
   535   <xs:element name="cxxClassBaseClass">
       
   536     <xs:complexType mixed="true">
       
   537       <xs:attribute name="href"/>
       
   538       <xs:attribute name="keyref"/>
       
   539       <xs:attribute name="type"/>
       
   540       <xs:attributeGroup ref="univ-atts"/>
       
   541       <xs:attribute name="format"/>
       
   542       <xs:attribute name="scope">
       
   543         <xs:simpleType>
       
   544           <xs:restriction base="xs:token">
       
   545             <xs:enumeration value="local"/>
       
   546             <xs:enumeration value="peer"/>
       
   547             <xs:enumeration value="external"/>
       
   548           </xs:restriction>
       
   549         </xs:simpleType>
       
   550       </xs:attribute>
       
   551       <xs:attribute name="outputclass"/>
       
   552       <xs:attributeGroup ref="global-atts"/>
       
   553       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseClass "/>
       
   554     </xs:complexType>
       
   555   </xs:element>
       
   556   <xs:element name="cxxClassBaseStruct">
       
   557     <xs:complexType mixed="true">
       
   558       <xs:attribute name="href"/>
       
   559       <xs:attribute name="keyref"/>
       
   560       <xs:attribute name="type"/>
       
   561       <xs:attributeGroup ref="univ-atts"/>
       
   562       <xs:attribute name="format"/>
       
   563       <xs:attribute name="scope">
       
   564         <xs:simpleType>
       
   565           <xs:restriction base="xs:token">
       
   566             <xs:enumeration value="local"/>
       
   567             <xs:enumeration value="peer"/>
       
   568             <xs:enumeration value="external"/>
       
   569           </xs:restriction>
       
   570         </xs:simpleType>
       
   571       </xs:attribute>
       
   572       <xs:attribute name="outputclass"/>
       
   573       <xs:attributeGroup ref="global-atts"/>
       
   574       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseStruct "/>
       
   575     </xs:complexType>
       
   576   </xs:element>
       
   577   <xs:element name="cxxClassBaseUnion">
       
   578     <xs:complexType mixed="true">
       
   579       <xs:attribute name="href"/>
       
   580       <xs:attribute name="keyref"/>
       
   581       <xs:attribute name="type"/>
       
   582       <xs:attributeGroup ref="univ-atts"/>
       
   583       <xs:attribute name="format"/>
       
   584       <xs:attribute name="scope">
       
   585         <xs:simpleType>
       
   586           <xs:restriction base="xs:token">
       
   587             <xs:enumeration value="local"/>
       
   588             <xs:enumeration value="peer"/>
       
   589             <xs:enumeration value="external"/>
       
   590           </xs:restriction>
       
   591         </xs:simpleType>
       
   592       </xs:attribute>
       
   593       <xs:attribute name="outputclass"/>
       
   594       <xs:attributeGroup ref="global-atts"/>
       
   595       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseUnion "/>
       
   596     </xs:complexType>
       
   597   </xs:element>
       
   598   <!--  Templates -->
       
   599   <xs:element name="cxxClassTemplateParameters">
       
   600     <xs:complexType>
       
   601       <xs:group maxOccurs="unbounded" ref="cxxClassTemplateParameter"/>
       
   602       <xs:attributeGroup ref="univ-atts"/>
       
   603       <xs:attribute name="outputclass"/>
       
   604       <xs:attributeGroup ref="global-atts"/>
       
   605       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameters "/>
       
   606     </xs:complexType>
       
   607   </xs:element>
       
   608   <xs:element name="cxxClassTemplateParameter">
       
   609     <xs:complexType>
       
   610       <xs:sequence>
       
   611         <xs:group ref="cxxClassTemplateParameterType"/>
       
   612         <xs:group minOccurs="0" ref="apiDefNote"/>
       
   613       </xs:sequence>
       
   614       <xs:attributeGroup ref="univ-atts"/>
       
   615       <xs:attribute name="outputclass"/>
       
   616       <xs:attributeGroup ref="global-atts"/>
       
   617       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameter "/>
       
   618     </xs:complexType>
       
   619   </xs:element>
       
   620   <xs:element name="cxxClassTemplateParameterType">
       
   621     <xs:complexType mixed="true">
       
   622       <xs:attributeGroup ref="univ-atts"/>
       
   623       <xs:attribute name="outputclass"/>
       
   624       <xs:attributeGroup ref="global-atts"/>
       
   625       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameterType "/>
       
   626     </xs:complexType>
       
   627   </xs:element>
       
   628   <!-- Location -->
       
   629   <xs:element name="cxxClassAPIItemLocation">
       
   630     <xs:complexType>
       
   631       <xs:sequence>
       
   632         <xs:group ref="cxxClassDeclarationFile"/>
       
   633         <xs:group ref="cxxClassDeclarationFileLine"/>
       
   634         <xs:group minOccurs="0" ref="cxxClassDefinitionFile"/>
       
   635         <xs:group minOccurs="0" ref="cxxClassDefinitionFileLineStart"/>
       
   636         <xs:group minOccurs="0" ref="cxxClassDefinitionFileLineEnd"/>
       
   637       </xs:sequence>
       
   638       <xs:attributeGroup ref="univ-atts"/>
       
   639       <xs:attribute name="outputclass"/>
       
   640       <xs:attributeGroup ref="global-atts"/>
       
   641       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassAPIItemLocation "/>
       
   642     </xs:complexType>
       
   643   </xs:element>
       
   644   <xs:element name="cxxClassDeclarationFile">
       
   645     <xs:complexType>
       
   646       <xs:attribute name="name" default="filePath">
       
   647         <xs:simpleType>
       
   648           <xs:restriction base="xs:string">
       
   649             <xs:enumeration value="filePath"/>
       
   650           </xs:restriction>
       
   651         </xs:simpleType>
       
   652       </xs:attribute>
       
   653       <xs:attribute name="value" use="required"/>
       
   654       <xs:attributeGroup ref="univ-atts"/>
       
   655       <xs:attribute name="outputclass"/>
       
   656       <xs:attributeGroup ref="global-atts"/>
       
   657       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDeclarationFile "/>
       
   658     </xs:complexType>
       
   659   </xs:element>
       
   660   <xs:element name="cxxClassDeclarationFileLine">
       
   661     <xs:complexType>
       
   662       <xs:attribute name="name" default="lineNumber">
       
   663         <xs:simpleType>
       
   664           <xs:restriction base="xs:string">
       
   665             <xs:enumeration value="lineNumber"/>
       
   666           </xs:restriction>
       
   667         </xs:simpleType>
       
   668       </xs:attribute>
       
   669       <xs:attribute name="value" use="required"/>
       
   670       <xs:attributeGroup ref="univ-atts"/>
       
   671       <xs:attribute name="outputclass"/>
       
   672       <xs:attributeGroup ref="global-atts"/>
       
   673       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDeclarationFileLine "/>
       
   674     </xs:complexType>
       
   675   </xs:element>
       
   676   <xs:element name="cxxClassDefinitionFile">
       
   677     <xs:complexType>
       
   678       <xs:attribute name="name" default="filePath">
       
   679         <xs:simpleType>
       
   680           <xs:restriction base="xs:string">
       
   681             <xs:enumeration value="filePath"/>
       
   682           </xs:restriction>
       
   683         </xs:simpleType>
       
   684       </xs:attribute>
       
   685       <xs:attribute name="value" use="required"/>
       
   686       <xs:attributeGroup ref="univ-atts"/>
       
   687       <xs:attribute name="outputclass"/>
       
   688       <xs:attributeGroup ref="global-atts"/>
       
   689       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFile "/>
       
   690     </xs:complexType>
       
   691   </xs:element>
       
   692   <xs:element name="cxxClassDefinitionFileLineStart">
       
   693     <xs:complexType>
       
   694       <xs:attribute name="name" default="lineNumber">
       
   695         <xs:simpleType>
       
   696           <xs:restriction base="xs:string">
       
   697             <xs:enumeration value="lineNumber"/>
       
   698           </xs:restriction>
       
   699         </xs:simpleType>
       
   700       </xs:attribute>
       
   701       <xs:attribute name="value" use="required"/>
       
   702       <xs:attributeGroup ref="univ-atts"/>
       
   703       <xs:attribute name="outputclass"/>
       
   704       <xs:attributeGroup ref="global-atts"/>
       
   705       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFileLineStart "/>
       
   706     </xs:complexType>
       
   707   </xs:element>
       
   708   <xs:element name="cxxClassDefinitionFileLineEnd">
       
   709     <xs:complexType>
       
   710       <xs:attribute name="name" default="lineNumber">
       
   711         <xs:simpleType>
       
   712           <xs:restriction base="xs:string">
       
   713             <xs:enumeration value="lineNumber"/>
       
   714           </xs:restriction>
       
   715         </xs:simpleType>
       
   716       </xs:attribute>
       
   717       <xs:attribute name="value" use="required"/>
       
   718       <xs:attributeGroup ref="univ-atts"/>
       
   719       <xs:attribute name="outputclass"/>
       
   720       <xs:attributeGroup ref="global-atts"/>
       
   721       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFileLineEnd "/>
       
   722     </xs:complexType>
       
   723   </xs:element>
       
   724   <!-- Nested members -->
       
   725   <xs:element name="cxxClassNested">
       
   726     <xs:complexType>
       
   727       <xs:sequence>
       
   728         <xs:group ref="cxxClassNestedDetail"/>
       
   729         <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassNested-info-types"/>
       
   730       </xs:sequence>
       
   731       <xs:attribute name="conref"/>
       
   732       <xs:attribute name="outputclass"/>
       
   733       <xs:attribute ref="xml:lang"/>
       
   734       <xs:attributeGroup ref="arch-atts"/>
       
   735       <xs:attribute name="domains" default="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                            (topic ut-d) (topic pr-d api-d) (topic pr-d api-d cxxapi-d)"/>
       
   736       <xs:attributeGroup ref="global-atts"/>
       
   737       <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClassNested "/>
       
   738     </xs:complexType>
       
   739   </xs:element>
       
   740   <xs:element name="cxxClassNestedDetail">
       
   741     <xs:complexType>
       
   742       <xs:choice maxOccurs="unbounded">
       
   743         <xs:group ref="cxxClassNestedClass"/>
       
   744         <xs:group ref="cxxClassNestedStruct"/>
       
   745         <xs:group ref="cxxClassNestedUnion"/>
       
   746       </xs:choice>
       
   747       <xs:attributeGroup ref="id-atts"/>
       
   748       <xs:attribute name="translate">
       
   749         <xs:simpleType>
       
   750           <xs:restriction base="xs:token">
       
   751             <xs:enumeration value="yes"/>
       
   752             <xs:enumeration value="no"/>
       
   753           </xs:restriction>
       
   754         </xs:simpleType>
       
   755       </xs:attribute>
       
   756       <xs:attribute ref="xml:lang"/>
       
   757       <xs:attribute name="outputclass"/>
       
   758       <xs:attributeGroup ref="global-atts"/>
       
   759       <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxClass/cxxClassNestedDetail "/>
       
   760     </xs:complexType>
       
   761   </xs:element>
       
   762   <xs:element name="cxxClassNestedClass">
       
   763     <xs:complexType mixed="true">
       
   764       <xs:attribute name="href"/>
       
   765       <xs:attribute name="keyref"/>
       
   766       <xs:attribute name="type"/>
       
   767       <xs:attributeGroup ref="univ-atts"/>
       
   768       <xs:attribute name="format"/>
       
   769       <xs:attribute name="scope">
       
   770         <xs:simpleType>
       
   771           <xs:restriction base="xs:token">
       
   772             <xs:enumeration value="local"/>
       
   773             <xs:enumeration value="peer"/>
       
   774             <xs:enumeration value="external"/>
       
   775           </xs:restriction>
       
   776         </xs:simpleType>
       
   777       </xs:attribute>
       
   778       <xs:attribute name="outputclass"/>
       
   779       <xs:attributeGroup ref="global-atts"/>
       
   780       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedClass "/>
       
   781     </xs:complexType>
       
   782   </xs:element>
       
   783   <xs:element name="cxxClassNestedStruct">
       
   784     <xs:complexType mixed="true">
       
   785       <xs:attribute name="href"/>
       
   786       <xs:attribute name="keyref"/>
       
   787       <xs:attribute name="type"/>
       
   788       <xs:attributeGroup ref="univ-atts"/>
       
   789       <xs:attribute name="format"/>
       
   790       <xs:attribute name="scope">
       
   791         <xs:simpleType>
       
   792           <xs:restriction base="xs:token">
       
   793             <xs:enumeration value="local"/>
       
   794             <xs:enumeration value="peer"/>
       
   795             <xs:enumeration value="external"/>
       
   796           </xs:restriction>
       
   797         </xs:simpleType>
       
   798       </xs:attribute>
       
   799       <xs:attribute name="outputclass"/>
       
   800       <xs:attributeGroup ref="global-atts"/>
       
   801       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedStruct "/>
       
   802     </xs:complexType>
       
   803   </xs:element>
       
   804   <xs:element name="cxxClassNestedUnion">
       
   805     <xs:complexType mixed="true">
       
   806       <xs:attribute name="href"/>
       
   807       <xs:attribute name="keyref"/>
       
   808       <xs:attribute name="type"/>
       
   809       <xs:attributeGroup ref="univ-atts"/>
       
   810       <xs:attribute name="format"/>
       
   811       <xs:attribute name="scope">
       
   812         <xs:simpleType>
       
   813           <xs:restriction base="xs:token">
       
   814             <xs:enumeration value="local"/>
       
   815             <xs:enumeration value="peer"/>
       
   816             <xs:enumeration value="external"/>
       
   817           </xs:restriction>
       
   818         </xs:simpleType>
       
   819       </xs:attribute>
       
   820       <xs:attribute name="outputclass"/>
       
   821       <xs:attributeGroup ref="global-atts"/>
       
   822       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedUnion "/>
       
   823     </xs:complexType>
       
   824   </xs:element>
       
   825 </xs:schema>
       
   826 <!-- ============ Class attributes for type ancestry ============ -->
       
   827 <!-- Representing inheritance -->
       
   828 <!-- Templates -->
       
   829 <!-- Nested members -->
       
   830 <!-- Location elements -->
       
   831 <!-- Inheritance sub-topics -->