DITA-OT_CXX_Plugin/cxxapiref/xsd/cxxDefine.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++ Define 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 Define Reference Type v0.6.0//EN"
       
    18         Delivered as file "cxxDefine.dtd"
       
    19 -->
       
    20 <!-- ================================================================= -->
       
    21 <!-- SYSTEM:     Darwin Information Typing Architecture (DITA) -->
       
    22 <!---->
       
    23 <!-- PURPOSE:    C++ API Reference for Defines -->
       
    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-02-16 VOG: Updated. -->
       
    34 <!-- 2010-02-10 PaulRoss: Updated. -->
       
    35 <!-- 2009-11-16 PaulRoss: Initial design. -->
       
    36 <!---->
       
    37 <!-- ================================================================= -->
       
    38 <!--
       
    39   Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
       
    40   All rights reserved.
       
    41 -->
       
    42 <!-- ============ Hooks for domain extension ============ -->
       
    43 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
       
    44   <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="../../../schema/base/xsd/ditaarch.xsd"/>
       
    45   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../../schema/base/xsd/xml.xsd"/>
       
    46   <xs:group name="cxxDefineDetail">
       
    47     <xs:sequence>
       
    48       <xs:element ref="cxxDefineDetail"/>
       
    49     </xs:sequence>
       
    50   </xs:group>
       
    51   <xs:group name="cxxDefineDefinition">
       
    52     <xs:sequence>
       
    53       <xs:element ref="cxxDefineDefinition"/>
       
    54     </xs:sequence>
       
    55   </xs:group>
       
    56   <xs:group name="cxxDefinePrototype">
       
    57     <xs:sequence>
       
    58       <xs:element ref="cxxDefinePrototype"/>
       
    59     </xs:sequence>
       
    60   </xs:group>
       
    61   <xs:group name="cxxDefineNameLookup">
       
    62     <xs:sequence>
       
    63       <xs:element ref="cxxDefineNameLookup"/>
       
    64     </xs:sequence>
       
    65   </xs:group>
       
    66   <xs:group name="cxxDefineReimplemented">
       
    67     <xs:sequence>
       
    68       <xs:element ref="cxxDefineReimplemented"/>
       
    69     </xs:sequence>
       
    70   </xs:group>
       
    71   <!-- Parameters -->
       
    72   <xs:group name="cxxDefineParameters">
       
    73     <xs:sequence>
       
    74       <xs:element ref="cxxDefineParameters"/>
       
    75     </xs:sequence>
       
    76   </xs:group>
       
    77   <xs:group name="cxxDefineParameter">
       
    78     <xs:sequence>
       
    79       <xs:element ref="cxxDefineParameter"/>
       
    80     </xs:sequence>
       
    81   </xs:group>
       
    82   <xs:group name="cxxDefineParameterDeclarationName">
       
    83     <xs:sequence>
       
    84       <xs:element ref="cxxDefineParameterDeclarationName"/>
       
    85     </xs:sequence>
       
    86   </xs:group>
       
    87   <xs:group name="cxxDefineAccessSpecifier">
       
    88     <xs:sequence>
       
    89       <xs:element ref="cxxDefineAccessSpecifier"/>
       
    90     </xs:sequence>
       
    91   </xs:group>
       
    92   <!-- Location information -->
       
    93   <xs:group name="cxxDefineAPIItemLocation">
       
    94     <xs:sequence>
       
    95       <xs:element ref="cxxDefineAPIItemLocation"/>
       
    96     </xs:sequence>
       
    97   </xs:group>
       
    98   <xs:group name="cxxDefineDeclarationFile">
       
    99     <xs:sequence>
       
   100       <xs:element ref="cxxDefineDeclarationFile"/>
       
   101     </xs:sequence>
       
   102   </xs:group>
       
   103   <xs:group name="cxxDefineDeclarationFileLine">
       
   104     <xs:sequence>
       
   105       <xs:element ref="cxxDefineDeclarationFileLine"/>
       
   106     </xs:sequence>
       
   107   </xs:group>
       
   108   <!-- ============ Hooks for shell DTD ============ -->
       
   109   <xs:group name="cxxDefine-types-default">
       
   110     <xs:sequence>
       
   111       <xs:element ref="no-topic-nesting"/>
       
   112     </xs:sequence>
       
   113   </xs:group>
       
   114   <xs:group name="cxxDefine-info-types">
       
   115     <xs:sequence>
       
   116       <xs:group ref="cxxDefine-types-default"/>
       
   117     </xs:sequence>
       
   118   </xs:group>
       
   119   <!-- ============ Topic specializations ============ -->
       
   120   <xs:element name="cxxDefine">
       
   121     <xs:complexType>
       
   122       <xs:sequence>
       
   123         <xs:group ref="apiName"/>
       
   124         <xs:group minOccurs="0" ref="shortdesc"/>
       
   125         <xs:group minOccurs="0" ref="prolog"/>
       
   126         <xs:group ref="cxxDefineDetail"/>
       
   127         <xs:group minOccurs="0" ref="related-links"/>
       
   128         <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxDefine-info-types"/>
       
   129       </xs:sequence>
       
   130       <xs:attribute name="id" use="required" type="xs:ID"/>
       
   131       <xs:attribute name="conref"/>
       
   132       <xs:attribute name="outputclass"/>
       
   133       <xs:attribute ref="xml:lang"/>
       
   134       <xs:attributeGroup ref="arch-atts"/>
       
   135       <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)"/>
       
   136       <xs:attributeGroup ref="global-atts"/>
       
   137       <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiOperation/apiOperation cxxDefine/cxxDefine "/>
       
   138     </xs:complexType>
       
   139   </xs:element>
       
   140   <xs:element name="cxxDefineDetail">
       
   141     <xs:complexType>
       
   142       <xs:sequence>
       
   143         <xs:group ref="cxxDefineDefinition"/>
       
   144         <xs:group minOccurs="0" ref="apiDesc"/>
       
   145         <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   146           <xs:group ref="example"/>
       
   147           <xs:group ref="section"/>
       
   148           <xs:group ref="apiImpl"/>
       
   149         </xs:choice>
       
   150       </xs:sequence>
       
   151       <xs:attributeGroup ref="id-atts"/>
       
   152       <xs:attribute name="translate">
       
   153         <xs:simpleType>
       
   154           <xs:restriction base="xs:token">
       
   155             <xs:enumeration value="yes"/>
       
   156             <xs:enumeration value="no"/>
       
   157           </xs:restriction>
       
   158         </xs:simpleType>
       
   159       </xs:attribute>
       
   160       <xs:attribute ref="xml:lang"/>
       
   161       <xs:attribute name="outputclass"/>
       
   162       <xs:attributeGroup ref="global-atts"/>
       
   163       <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiOperation/apiOperationDetail cxxDefine/cxxDefineDetail "/>
       
   164     </xs:complexType>
       
   165   </xs:element>
       
   166   <xs:element name="cxxDefineDefinition">
       
   167     <xs:complexType>
       
   168       <xs:sequence>
       
   169         <xs:group minOccurs="0" ref="cxxDefineAccessSpecifier"/>
       
   170         <xs:group minOccurs="0" ref="cxxDefinePrototype"/>
       
   171         <xs:group minOccurs="0" ref="cxxDefineNameLookup"/>
       
   172         <xs:group minOccurs="0" ref="cxxDefineReimplemented"/>
       
   173         <xs:group minOccurs="0" ref="cxxDefineParameters"/>
       
   174         <xs:group minOccurs="0" ref="cxxDefineAPIItemLocation"/>
       
   175       </xs:sequence>
       
   176       <xs:attribute name="spectitle"/>
       
   177       <xs:attributeGroup ref="univ-atts"/>
       
   178       <xs:attribute name="outputclass"/>
       
   179       <xs:attributeGroup ref="global-atts"/>
       
   180       <xs:attribute name="class" default="- topic/section reference/section apiRef/apiDef apiOperation/apiOperationDef cxxDefine/cxxDefineDefinition "/>
       
   181     </xs:complexType>
       
   182   </xs:element>
       
   183   <xs:element name="cxxDefineAccessSpecifier">
       
   184     <xs:complexType>
       
   185       <xs:attribute name="name" default="access">
       
   186         <xs:simpleType>
       
   187           <xs:restriction base="xs:string">
       
   188             <xs:enumeration value="access"/>
       
   189           </xs:restriction>
       
   190         </xs:simpleType>
       
   191       </xs:attribute>
       
   192       <xs:attribute name="value" default="public">
       
   193         <xs:simpleType>
       
   194           <xs:restriction base="xs:string">
       
   195             <xs:enumeration value="public"/>
       
   196           </xs:restriction>
       
   197         </xs:simpleType>
       
   198       </xs:attribute>
       
   199       <xs:attributeGroup ref="univ-atts"/>
       
   200       <xs:attribute name="outputclass"/>
       
   201       <xs:attributeGroup ref="global-atts"/>
       
   202       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiOperation/apiQualifier cxxDefine/cxxDefineAccessSpecifier "/>
       
   203     </xs:complexType>
       
   204   </xs:element>
       
   205   <xs:element name="cxxDefinePrototype">
       
   206     <xs:complexType mixed="true">
       
   207       <xs:attributeGroup ref="univ-atts"/>
       
   208       <xs:attribute name="outputclass"/>
       
   209       <xs:attributeGroup ref="global-atts"/>
       
   210       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxDefine/cxxDefinePrototype "/>
       
   211     </xs:complexType>
       
   212   </xs:element>
       
   213   <xs:element name="cxxDefineNameLookup">
       
   214     <xs:complexType mixed="true">
       
   215       <xs:attributeGroup ref="univ-atts"/>
       
   216       <xs:attribute name="outputclass"/>
       
   217       <xs:attributeGroup ref="global-atts"/>
       
   218       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxDefine/cxxDefineNameLookup "/>
       
   219     </xs:complexType>
       
   220   </xs:element>
       
   221   <xs:element name="cxxDefineReimplemented">
       
   222     <xs:complexType mixed="true">
       
   223       <xs:attribute name="href"/>
       
   224       <xs:attribute name="keyref"/>
       
   225       <xs:attribute name="type"/>
       
   226       <xs:attributeGroup ref="univ-atts"/>
       
   227       <xs:attribute name="format"/>
       
   228       <xs:attribute name="scope">
       
   229         <xs:simpleType>
       
   230           <xs:restriction base="xs:token">
       
   231             <xs:enumeration value="local"/>
       
   232             <xs:enumeration value="peer"/>
       
   233             <xs:enumeration value="external"/>
       
   234           </xs:restriction>
       
   235         </xs:simpleType>
       
   236       </xs:attribute>
       
   237       <xs:attribute name="outputclass"/>
       
   238       <xs:attributeGroup ref="global-atts"/>
       
   239       <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiOperation/apiRelation cxxDefine/cxxDefineReimplemented  "/>
       
   240     </xs:complexType>
       
   241   </xs:element>
       
   242   <xs:element name="cxxDefineParameters">
       
   243     <xs:complexType>
       
   244       <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxDefineParameter"/>
       
   245       <xs:attributeGroup ref="univ-atts"/>
       
   246       <xs:attribute name="outputclass"/>
       
   247       <xs:attributeGroup ref="global-atts"/>
       
   248       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxDefine/cxxDefineParameters "/>
       
   249     </xs:complexType>
       
   250   </xs:element>
       
   251   <xs:element name="cxxDefineParameter">
       
   252     <xs:complexType>
       
   253       <xs:sequence>
       
   254         <xs:group minOccurs="0" ref="cxxDefineParameterDeclarationName"/>
       
   255         <xs:group minOccurs="0" ref="apiDefNote"/>
       
   256       </xs:sequence>
       
   257       <xs:attributeGroup ref="univ-atts"/>
       
   258       <xs:attribute name="outputclass"/>
       
   259       <xs:attributeGroup ref="global-atts"/>
       
   260       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxDefine/cxxDefineParameter "/>
       
   261     </xs:complexType>
       
   262   </xs:element>
       
   263   <xs:element name="cxxDefineParameterDeclarationName">
       
   264     <xs:complexType mixed="true">
       
   265       <xs:attributeGroup ref="univ-atts"/>
       
   266       <xs:attribute name="outputclass"/>
       
   267       <xs:attributeGroup ref="global-atts"/>
       
   268       <xs:attribute name="class" default="- topic/keyword reference/keyword apiRef/apiItemName apiOperation/apiItemName cxxDefine/cxxDefineParameterDeclarationName "/>
       
   269     </xs:complexType>
       
   270   </xs:element>
       
   271   <!-- Location information -->
       
   272   <xs:element name="cxxDefineAPIItemLocation">
       
   273     <xs:complexType>
       
   274       <xs:sequence>
       
   275         <xs:group ref="cxxDefineDeclarationFile"/>
       
   276         <xs:group ref="cxxDefineDeclarationFileLine"/>
       
   277       </xs:sequence>
       
   278       <xs:attributeGroup ref="univ-atts"/>
       
   279       <xs:attribute name="outputclass"/>
       
   280       <xs:attributeGroup ref="global-atts"/>
       
   281       <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiOperation/apiDefItem cxxDefine/cxxDefineAPIItemLocation "/>
       
   282     </xs:complexType>
       
   283   </xs:element>
       
   284   <xs:element name="cxxDefineDeclarationFile">
       
   285     <xs:complexType>
       
   286       <xs:attribute name="name" default="filePath">
       
   287         <xs:simpleType>
       
   288           <xs:restriction base="xs:string">
       
   289             <xs:enumeration value="filePath"/>
       
   290           </xs:restriction>
       
   291         </xs:simpleType>
       
   292       </xs:attribute>
       
   293       <xs:attribute name="value" use="required"/>
       
   294       <xs:attributeGroup ref="univ-atts"/>
       
   295       <xs:attribute name="outputclass"/>
       
   296       <xs:attributeGroup ref="global-atts"/>
       
   297       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiOperation/apiQualifier cxxDefine/cxxDefineDeclarationFile "/>
       
   298     </xs:complexType>
       
   299   </xs:element>
       
   300   <xs:element name="cxxDefineDeclarationFileLine">
       
   301     <xs:complexType>
       
   302       <xs:attribute name="name" default="lineNumber">
       
   303         <xs:simpleType>
       
   304           <xs:restriction base="xs:string">
       
   305             <xs:enumeration value="lineNumber"/>
       
   306           </xs:restriction>
       
   307         </xs:simpleType>
       
   308       </xs:attribute>
       
   309       <xs:attribute name="value" use="required"/>
       
   310       <xs:attributeGroup ref="univ-atts"/>
       
   311       <xs:attribute name="outputclass"/>
       
   312       <xs:attributeGroup ref="global-atts"/>
       
   313       <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiOperation/apiQualifier cxxDefine/cxxDefineDeclarationFileLine "/>
       
   314     </xs:complexType>
       
   315   </xs:element>
       
   316 </xs:schema>
       
   317 <!-- ============ Class attributes for type ancestry ============ -->
       
   318 <!-- Location elements -->