DITA-OT_CXX_Plugin/cxxapiref/dtd/cxxStruct.mod
author Jonathan Harrington <jonathan.harrington@nokia.com>
Wed, 11 Aug 2010 14:49:30 +0100
changeset 4 468f4c8d3d5b
parent 1 82f11024044a
permissions -rw-r--r--
Orb version 0.2.0

<!-- ================================================================= -->
<!--                    HEADER                                         -->
<!-- ================================================================= -->
<!--  MODULE:    C++ Struct DTD                                        -->
<!--  VERSION:   0.6.0                                                 -->
<!--  DATE:      May 2010                                              -->
<!--                                                                   -->
<!-- ================================================================= -->

<!-- ================================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION                -->
<!--                    TYPICAL INVOCATION                             -->
<!--                                                                   -->
<!--  Refer to this file by the following public identifier or an 
      appropriate system identifier 
PUBLIC "-//NOKIA//DTD DITA C++ API Struct Reference Type v0.6.0//EN"
      Delivered as file "cxxStruct.dtd"                                   -->
 
<!-- ================================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)         -->
<!--                                                                   -->
<!-- PURPOSE:    C++ API Reference for Structs                         -->
<!--                                                                   -->
<!-- ORIGINAL CREATION DATE:                                           -->
<!--             November 2009                                         -->
<!--                                                                   -->
<!-- Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -->
<!-- All rights reserved.                                              -->
<!--                                                                   -->
<!--  Change History (latest at top):                                  -->
<!--  +++++++++++++++++++++++++++++++                                  -->
<!--  2010-05-14 PaulRoss: Fixed templates.                            -->
<!--  2010-02-16 VOG: Updated.                                         -->
<!--  2010-02-10 PaulRoss: Updated.                                    -->
<!--  2009-11-16 PaulRoss: Initial design.                             -->
<!--                                                                   -->
<!-- ================================================================= -->

<!--
Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
-->

<!-- ============ Hooks for domain extension ============ -->
<!ENTITY % cxxStruct                             "cxxStruct">
<!ENTITY % cxxStructDetail                       "cxxStructDetail">
<!ENTITY % cxxStructDefinition                   "cxxStructDefinition">

<!ENTITY % cxxStructAbstract                     "cxxStructAbstract">
<!ENTITY % cxxStructAccessSpecifier              "cxxStructAccessSpecifier">

<!ENTITY % cxxStructDerivations                  "cxxStructDerivations">
<!ENTITY % cxxStructDerivation                   "cxxStructDerivation">
<!ENTITY % cxxClassDerivation                    "cxxClassDerivation">

<!-- Templates -->
<!ENTITY % cxxStructTemplateParameters           "cxxStructTemplateParameters">
<!ENTITY % cxxStructTemplateParameter            "cxxStructTemplateParameter">
<!ENTITY % cxxStructTemplateParameterType        "cxxStructTemplateParameterType">

<!-- Derivation -->
<!ENTITY % cxxStructDerivationAccessSpecifier    "cxxStructDerivationAccessSpecifier">
<!ENTITY % cxxStructDerivationVirtual            "cxxStructDerivationVirtual">
<!ENTITY % cxxStructBaseClass                    "cxxStructBaseClass">
<!ENTITY % cxxStructBaseStruct                   "cxxStructBaseStruct">
<!ENTITY % cxxStructBaseUnion                    "cxxStructBaseUnion">
<!ENTITY % cxxStructInherits                     "cxxStructInherits">
<!ENTITY % cxxStructInheritsDetail               "cxxStructInheritsDetail">

<!ENTITY % cxxStructFunctionInherited            "cxxStructFunctionInherited">
<!ENTITY % cxxStructVariableInherited            "cxxStructVariableInherited">
<!ENTITY % cxxStructEnumerationInherited         "cxxStructEnumerationInherited">
<!ENTITY % cxxStructEnumeratorInherited          "cxxStructEnumeratorInherited">

<!-- Nested members -->
<!ENTITY % cxxStructNested                       "cxxStructNested">
<!ENTITY % cxxStructNestedDetail                 "cxxStructNestedDetail">
<!ENTITY % cxxStructNestedClass                  "cxxStructNestedClass">
<!ENTITY % cxxStructNestedStruct                 "cxxStructNestedStruct">
<!ENTITY % cxxStructNestedUnion                  "cxxStructNestedUnion">

<!-- Location elements -->
<!ENTITY % cxxStructAPIItemLocation              "cxxStructAPIItemLocation">
<!ENTITY % cxxStructDeclarationFile              "cxxStructDeclarationFile">
<!ENTITY % cxxStructDeclarationFileLine          "cxxStructDeclarationFileLine">
<!ENTITY % cxxStructDefinitionFile               "cxxStructDefinitionFile">
<!ENTITY % cxxStructDefinitionFileLineStart      "cxxStructDefinitionFileLineStart">
<!ENTITY % cxxStructDefinitionFileLineEnd        "cxxStructDefinitionFileLineEnd">

<!-- ============ Hooks for shell DTD ============ -->
<!ENTITY % cxxStruct-types-default
    "cxxStructNested | cxxFunction | cxxDefine | cxxVariable | cxxEnumeration | cxxTypedef">
<!ENTITY % cxxStruct-info-types  "%cxxStruct-types-default;">

<!ENTITY % cxxStructNested-types-default "no-topic-nesting">
<!ENTITY % cxxStructNested-info-types  "%cxxStructNested-types-default;">

<!ENTITY included-domains "">

<!-- ============ Topic specializations ============ -->
                        <!-- (%cxxStruct-info-types;)* -->

<!ELEMENT cxxStruct   (
                        (%apiName;),
                        (%shortdesc;)?,
                        (%prolog;)?,
                        (%cxxStructDetail;),
                        (%related-links;)?,
                        (%cxxStruct-info-types;)*,
                        (%cxxStructInherits;)*
                      )
>
<!ATTLIST cxxStruct       id ID #REQUIRED
                          conref CDATA #IMPLIED
                          outputclass CDATA #IMPLIED
                          xml:lang NMTOKEN #IMPLIED
                          %arch-atts;
                          domains CDATA "&included-domains;"
>

<!ELEMENT cxxStructDetail  ((%cxxStructDefinition;)?, (%apiDesc;)?, (%example; | %section; | %apiImpl;)*)>
<!ATTLIST cxxStructDetail  %id-atts;
                          translate (yes|no) #IMPLIED
                          xml:lang NMTOKEN #IMPLIED
                          outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDefinition   (
                                    (%cxxStructAccessSpecifier;)?,
                                    (%cxxStructAbstract;)?,
                                    (%cxxStructDerivations;)?,
                                    (%cxxStructTemplateParameters;)?,
                                    (%cxxStructAPIItemLocation;)
                               )
>
<!ATTLIST cxxStructDefinition    spectitle CDATA #IMPLIED
                                  %univ-atts;
                                  outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructAccessSpecifier  EMPTY>
<!ATTLIST cxxStructAccessSpecifier  name CDATA #FIXED "access"
                          value (public|protected|private) "public"
                          %univ-atts;
                          outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructAbstract  EMPTY>
<!ATTLIST cxxStructAbstract  name CDATA #FIXED "abstract"
                            value CDATA #FIXED "abstract"
                            %univ-atts;
                            outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDerivations   (%cxxClassDerivation; | %cxxStructDerivation;)+ >
<!ATTLIST cxxStructDerivations    %univ-atts;
                                outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDerivation   (
                                    %cxxStructDerivationAccessSpecifier;,
                                    (%cxxStructDerivationVirtual;)*,
                                    (
                                        %cxxStructBaseClass;
                                        | %cxxStructBaseStruct;
                                        | %cxxStructBaseUnion;
                                     )
                               )
>
<!ATTLIST cxxStructDerivation    %univ-atts;
                                outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructInherits   (
                                %cxxStructInheritsDetail;
                              )
>

<!ATTLIST cxxStructInherits    %univ-atts;
                                outputclass CDATA #IMPLIED
                                domains CDATA "&included-domains;"
>

<!ELEMENT cxxStructInheritsDetail   (
                                (
                                    %cxxStructFunctionInherited;
                                    | %cxxStructVariableInherited;
                                    | %cxxStructEnumerationInherited;
                                    | %cxxStructEnumeratorInherited;
                                )+
                              )
>

<!ATTLIST cxxStructInheritsDetail    %univ-atts;
                                outputclass CDATA #IMPLIED
                                domains CDATA "&included-domains;"
>

<!ELEMENT cxxStructFunctionInherited  (#PCDATA)*>
<!ATTLIST cxxStructFunctionInherited   href CDATA #IMPLIED
                                      keyref CDATA #IMPLIED
                                      type   CDATA  #IMPLIED
                                      %univ-atts;
                                      format        CDATA   #IMPLIED
                                      scope (local | peer | external) #IMPLIED
                                      outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructVariableInherited  (#PCDATA)*>
<!ATTLIST cxxStructVariableInherited   href CDATA #IMPLIED
                                      keyref CDATA #IMPLIED
                                      type   CDATA  #IMPLIED
                                      %univ-atts;
                                      format        CDATA   #IMPLIED
                                      scope (local | peer | external) #IMPLIED
                                      outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructEnumerationInherited  (#PCDATA)*>
<!ATTLIST cxxStructEnumerationInherited   href CDATA #IMPLIED
                                          keyref CDATA #IMPLIED
                                          type   CDATA  #IMPLIED
                                          %univ-atts;
                                          format        CDATA   #IMPLIED
                                          scope (local | peer | external) #IMPLIED
                                          outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructEnumeratorInherited  (#PCDATA)*>
<!ATTLIST cxxStructEnumeratorInherited   href CDATA #IMPLIED
                                          keyref CDATA #IMPLIED
                                          type   CDATA  #IMPLIED
                                          %univ-atts;
                                          format        CDATA   #IMPLIED
                                          scope (local | peer | external) #IMPLIED
                                          outputclass CDATA #IMPLIED
>


<!ELEMENT cxxStructDerivationAccessSpecifier  EMPTY>
<!ATTLIST cxxStructDerivationAccessSpecifier  name CDATA #FIXED "access"
                                             value (public | protected | private) "public"
                                            %univ-atts;
                                            outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDerivationVirtual  EMPTY>
<!ATTLIST cxxStructDerivationVirtual  name CDATA #FIXED "virtual"
                                      value CDATA #FIXED "true"
                                      %univ-atts;
                                      outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructBaseClass  (#PCDATA)*>
<!ATTLIST cxxStructBaseClass   href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructBaseStruct  (#PCDATA)*>
<!ATTLIST cxxStructBaseStruct   href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructBaseUnion  (#PCDATA)*>
<!ATTLIST cxxStructBaseUnion   href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>

<!-- Templates-->
<!ELEMENT cxxStructTemplateParameters   (%cxxStructTemplateParameter;)+ >
<!ATTLIST cxxStructTemplateParameters    %univ-atts;
										outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructTemplateParameter   	(%cxxStructTemplateParameterType;,
										(%apiDefNote;)?
										)
>
<!ATTLIST cxxStructTemplateParameter    %univ-atts;
                                  outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructTemplateParameterType   (#PCDATA | %apiRelation;)*>
<!ATTLIST cxxStructTemplateParameterType    %univ-atts;
											outputclass CDATA #IMPLIED
>

<!-- Location -->
<!ELEMENT cxxStructAPIItemLocation   (
                                        %cxxStructDeclarationFile;,
                                        %cxxStructDeclarationFileLine;,
                                        (%cxxStructDefinitionFile;)?,
                                        (%cxxStructDefinitionFileLineStart;)?,
                                        (%cxxStructDefinitionFileLineEnd;)?
                                     )
>
<!ATTLIST cxxStructAPIItemLocation    %univ-atts;
                                    outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDeclarationFile  EMPTY>
<!ATTLIST cxxStructDeclarationFile  name CDATA #FIXED "filePath"
                                  value CDATA #REQUIRED
                                  %univ-atts;
                                  outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDeclarationFileLine  EMPTY>
<!ATTLIST cxxStructDeclarationFileLine   name CDATA #FIXED "lineNumber"
                                        value CDATA #REQUIRED
                                        %univ-atts;
                                        outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDefinitionFile  EMPTY>
<!ATTLIST cxxStructDefinitionFile  name CDATA #FIXED "filePath"
                                  value CDATA #REQUIRED
                                  %univ-atts;
                                  outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDefinitionFileLineStart  EMPTY>
<!ATTLIST cxxStructDefinitionFileLineStart  name CDATA #FIXED "lineNumber"
                                            value CDATA #REQUIRED
                                            %univ-atts;
                                            outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructDefinitionFileLineEnd  EMPTY>
<!ATTLIST cxxStructDefinitionFileLineEnd  name CDATA #FIXED "lineNumber"
                                            value CDATA #REQUIRED
                                            %univ-atts;
                                            outputclass CDATA #IMPLIED
>

<!-- Nested members -->
<!ELEMENT cxxStructNested (
                        (%cxxStructNestedDetail;),
                        (%cxxStructNested-info-types;)*
                         )
>
<!ATTLIST cxxStructNested  conref CDATA #IMPLIED
                          outputclass CDATA #IMPLIED
                          xml:lang NMTOKEN #IMPLIED
                          %arch-atts;
                          domains CDATA "&included-domains;"
>

<!ELEMENT cxxStructNestedDetail  ( (%cxxStructNestedClass;) | (%cxxStructNestedStruct;) | (%cxxStructNestedUnion;) )+>
<!ATTLIST cxxStructNestedDetail  %id-atts;
                          translate (yes|no) #IMPLIED
                          xml:lang NMTOKEN #IMPLIED
                          outputclass CDATA #IMPLIED
>


<!ELEMENT cxxStructNestedClass  (#PCDATA)*>
<!ATTLIST cxxStructNestedClass  href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructNestedStruct  (#PCDATA)*>
<!ATTLIST cxxStructNestedStruct  href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>

<!ELEMENT cxxStructNestedUnion  (#PCDATA)*>
<!ATTLIST cxxStructNestedUnion  href CDATA #IMPLIED
                              keyref CDATA #IMPLIED
                              type   CDATA  #IMPLIED
                              %univ-atts;
                              format        CDATA   #IMPLIED
                              scope (local | peer | external) #IMPLIED
                              outputclass CDATA #IMPLIED
>


<!-- ============ Class attributes for type ancestry ============ -->
<!ATTLIST cxxStruct   %global-atts;
    class  CDATA "- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxStruct/cxxStruct ">
<!ATTLIST cxxStructDetail   %global-atts;
    class  CDATA "- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiClassifierDetail cxxStruct/cxxStructDetail ">
<!ATTLIST cxxStructDefinition   %global-atts;
    class  CDATA "- topic/section reference/section apiRef/apiDef apiClassifier/apiClassifierDef cxxStruct/cxxStructDefinition ">
<!ATTLIST cxxStructAccessSpecifier   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructAccessSpecifier ">
<!ATTLIST cxxStructAbstract   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructAbstract ">

<!-- Representing inheritance -->
<!ATTLIST cxxStructDerivations   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructDerivations ">
<!ATTLIST cxxStructDerivation   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructDerivation ">
    
<!ATTLIST cxxStructDerivationAccessSpecifier   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDerivationAccessSpecifier ">
<!ATTLIST cxxStructDerivationVirtual   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDerivationVirtual ">
<!ATTLIST cxxStructBaseClass   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxStruct/cxxStructBaseClass ">
<!ATTLIST cxxStructBaseStruct   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxStruct/cxxStructBaseStruct ">
<!ATTLIST cxxStructBaseUnion   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxStruct/cxxStructBaseUnion ">

<!-- Templates -->
<!ATTLIST cxxStructTemplateParameters   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructTemplateParameters ">
<!ATTLIST cxxStructTemplateParameter   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructTemplateParameter ">
<!ATTLIST cxxStructTemplateParameterType   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructTemplateParameterType ">
    
<!-- Nested members  -->
<!ATTLIST cxxStructNested   %global-atts;
    class  CDATA "- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxStruct/cxxStructNested ">
<!ATTLIST cxxStructNestedDetail   %global-atts;
    class  CDATA "- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxStruct/cxxStructNestedDetail ">    
<!ATTLIST cxxStructNestedClass   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructNestedClass ">
<!ATTLIST cxxStructNestedStruct   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructNestedStruct ">
<!ATTLIST cxxStructNestedUnion   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructNestedUnion ">

<!-- Location elements -->
<!ATTLIST cxxStructAPIItemLocation   %global-atts;
    class  CDATA "- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxStruct/cxxStructAPIItemLocation ">
<!ATTLIST cxxStructDeclarationFile   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDeclarationFile ">
<!ATTLIST cxxStructDeclarationFileLine   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDeclarationFileLine ">
<!ATTLIST cxxStructDefinitionFile   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDefinitionFile ">
<!ATTLIST cxxStructDefinitionFileLineStart   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDefinitionFileLineStart ">
<!ATTLIST cxxStructDefinitionFileLineEnd   %global-atts;
    class  CDATA "- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxStruct/cxxStructDefinitionFileLineEnd ">

<!-- Inheritance sub-topics -->
<!ATTLIST cxxStructInherits   %global-atts;
    class  CDATA "- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxStruct/cxxStructInherits ">  
<!ATTLIST cxxStructInheritsDetail   %global-atts;
    class  CDATA "- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxStruct/cxxStructInheritsDetail ">    
    
<!ATTLIST cxxStructEnumerationInherited   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructEnumerationInherited ">
<!ATTLIST cxxStructEnumeratorInherited   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructEnumeratorInherited ">
<!ATTLIST cxxStructFunctionInherited    %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructFunctionInherited  ">
<!ATTLIST cxxStructVariableInherited   %global-atts;
    class  CDATA "- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxStruct/cxxStructVariableInherited ">