Orb/Doxygen/DITA/plugins/apiref/xsd/apiRefMod.xsd
changeset 3 d8fccb2cd802
equal deleted inserted replaced
2:932c358ece3e 3:d8fccb2cd802
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!--
       
     3  | (C) Copyright IBM Corporation 2005 - 2006. All Rights Reserved.
       
     4  *-->
       
     5 <!-- ============ Hooks for domain extension ============ -->
       
     6 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
       
     7   <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="../../../schema/ditaarch.xsd"/>
       
     8   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../../schema/xml.xsd"/>
       
     9   
       
    10   <!-- ============ Hooks for shell DTD ============ -->
       
    11   <xs:group name="apiRef-info-types">
       
    12     <xs:sequence>
       
    13       <xs:group ref="apiRef"/>
       
    14     </xs:sequence>
       
    15   </xs:group>
       
    16   <!-- ============ Content Models ============ -->
       
    17   <xs:group name="apiDefinition.cnt">
       
    18     <xs:choice>
       
    19       <xs:group ref="apiQualifier"/>
       
    20       <xs:group ref="apiRelation"/>
       
    21       <xs:group ref="apiType"/>
       
    22       <xs:group ref="apiArray"/>
       
    23       <xs:group ref="apiData"/>
       
    24       <xs:group ref="apiDefNote"/>
       
    25       <xs:group ref="state"/>
       
    26       <xs:group ref="keyword"/>
       
    27       <xs:group ref="ph"/>
       
    28     </xs:choice>
       
    29   </xs:group>
       
    30   <!-- ============ Element definitions ============ -->
       
    31   <xs:element name="apiRef" type="apiRef.class"/>
       
    32   <xs:complexType name="apiRef.class">
       
    33     <xs:sequence>
       
    34       <xs:group ref="apiName"/>
       
    35       <xs:choice>
       
    36         <xs:group ref="shortdesc" />
       
    37         <xs:group ref="abstract" />
       
    38       </xs:choice>      
       
    39       <xs:group minOccurs="0" ref="prolog"/>
       
    40       <xs:group ref="apiDetail"/>
       
    41       <xs:group minOccurs="0" ref="related-links"/>
       
    42       <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiRef-info-types"/>
       
    43     </xs:sequence>
       
    44     <xs:attributeGroup ref="apiRef.attlist"/>
       
    45   </xs:complexType>
       
    46   <xs:attributeGroup name="apiRef.attlist">
       
    47     <xs:attribute name="id" use="required" type="xs:ID"/>
       
    48     <xs:attribute name="conref"/>
       
    49     <xs:attribute name="outputclass"/>
       
    50     <xs:attribute ref="ditaarch:DITAArchVersion"/>
       
    51     <xs:attributeGroup ref="select-atts"/>
       
    52     <xs:attributeGroup ref="localization-atts"/>
       
    53     <xs:attributeGroup ref="global-atts"/>
       
    54     <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef "/>
       
    55   </xs:attributeGroup>
       
    56   <xs:element name="apiName">
       
    57     <xs:complexType mixed="true">
       
    58       <xs:group minOccurs="0" maxOccurs="unbounded" ref="title.cnt"/>
       
    59       <xs:attributeGroup ref="apiName.attlist"/>
       
    60     </xs:complexType>
       
    61   </xs:element>
       
    62   <xs:attributeGroup name="apiName.attlist">
       
    63     <xs:attributeGroup ref="id-atts"/>
       
    64     <xs:attribute name="outputclass"/>
       
    65     <xs:attributeGroup ref="global-atts"/>
       
    66     <xs:attribute name="class" default="- topic/title reference/title apiRef/apiName "/>
       
    67   </xs:attributeGroup>
       
    68   <xs:element name="apiDetail">
       
    69     <xs:complexType>
       
    70       <xs:sequence>
       
    71         <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiSyntax"/>
       
    72         <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiDef"/>
       
    73         <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiDesc"/>
       
    74         <xs:choice minOccurs="0" maxOccurs="unbounded">
       
    75           <xs:group ref="example"/>
       
    76           <xs:group ref="section"/>
       
    77           <xs:group ref="apiImpl"/>
       
    78         </xs:choice>
       
    79       </xs:sequence>
       
    80       <xs:attributeGroup ref="apiDetail.attlist"/>
       
    81     </xs:complexType>
       
    82   </xs:element>
       
    83   <xs:attributeGroup name="apiDetail.attlist">
       
    84     <xs:attributeGroup ref="id-atts"/>
       
    85     <xs:attributeGroup ref="localization-atts"/>
       
    86     <xs:attribute name="outputclass"/>
       
    87     <xs:attributeGroup ref="global-atts"/>
       
    88     <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail "/>
       
    89   </xs:attributeGroup>
       
    90   <xs:element name="apiSyntax">
       
    91     <xs:complexType>
       
    92       <xs:sequence>
       
    93         <xs:group maxOccurs="unbounded" ref="apiSyntaxText"/>
       
    94         <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiSyntaxItem"/>
       
    95       </xs:sequence>
       
    96       <xs:attributeGroup ref="apiSyntax.attlist"/>
       
    97     </xs:complexType>
       
    98   </xs:element>
       
    99   <xs:attributeGroup name="apiSyntax.attlist">
       
   100     <xs:attribute name="spectitle"/>
       
   101     <xs:attributeGroup ref="univ-atts"/>
       
   102     <xs:attribute name="outputclass"/>
       
   103     <xs:attributeGroup ref="global-atts"/>
       
   104     <xs:attribute name="class" default="- topic/section reference/refsyn apiRef/apiSyntax "/>
       
   105   </xs:attributeGroup>
       
   106   <xs:element name="apiSyntaxText">
       
   107     <xs:complexType mixed="true">
       
   108       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   109         <xs:group ref="apiRelation"/>
       
   110         <xs:group ref="apiType"/>
       
   111         <xs:group ref="apiItemName"/>
       
   112         <xs:group ref="apiData"/>
       
   113         <xs:group ref="keyword"/>
       
   114         <xs:group ref="txt.incl"/>
       
   115       </xs:choice>
       
   116       <xs:attributeGroup ref="apiSyntaxText.attlist"/>
       
   117     </xs:complexType>
       
   118   </xs:element>
       
   119   <xs:attributeGroup name="apiSyntaxText.attlist">
       
   120     <xs:attributeGroup ref="display-atts"/>
       
   121     <xs:attributeGroup ref="univ-atts"/>
       
   122     <xs:attribute name="spectitle"/>
       
   123     <xs:attribute name="outputclass"/>
       
   124     <xs:attribute ref="xml:space" default="preserve"/>
       
   125     <xs:attributeGroup ref="global-atts"/>
       
   126     <xs:attribute name="class" default="- topic/pre reference/pre apiRef/apiSyntaxText "/>
       
   127   </xs:attributeGroup>
       
   128   <xs:element name="apiSyntaxItem">
       
   129     <xs:complexType>
       
   130       <xs:sequence>
       
   131         <xs:group minOccurs="0" maxOccurs="unbounded" ref="apiItemName"/>
       
   132         <xs:group minOccurs="0" ref="apiDefNote"/>
       
   133       </xs:sequence>
       
   134       <xs:attributeGroup ref="apiSyntaxItem.attlist"/>
       
   135     </xs:complexType>
       
   136   </xs:element>
       
   137   <xs:attributeGroup name="apiSyntaxItem.attlist">
       
   138     <xs:attributeGroup ref="univ-atts"/>
       
   139     <xs:attribute name="outputclass"/>
       
   140     <xs:attributeGroup ref="global-atts"/>
       
   141     <xs:attribute name="class" default="- topic/p reference/p apiRef/apiSyntaxItem "/>
       
   142   </xs:attributeGroup>
       
   143   <xs:element name="apiItemName">
       
   144     <xs:complexType mixed="true">
       
   145       <xs:attributeGroup ref="apiItemName.attlist"/>
       
   146     </xs:complexType>
       
   147   </xs:element>
       
   148   <xs:attributeGroup name="apiItemName.attlist">
       
   149     <xs:attribute name="keyref"/>
       
   150     <xs:attributeGroup ref="univ-atts"/>
       
   151     <xs:attribute name="outputclass"/>
       
   152     <xs:attributeGroup ref="global-atts"/>
       
   153     <xs:attribute name="class" default="- topic/keyword reference/keyword apiRef/apiItemName "/>
       
   154   </xs:attributeGroup>
       
   155   <xs:element name="apiDefNote">
       
   156     <xs:complexType mixed="true">
       
   157       <xs:group minOccurs="0" maxOccurs="unbounded" ref="ph.cnt"/>
       
   158       <xs:attributeGroup ref="apiDefNote.attlist"/>
       
   159     </xs:complexType>
       
   160   </xs:element>
       
   161   <xs:attributeGroup name="apiDefNote.attlist">
       
   162     <xs:attributeGroup ref="univ-atts"/>
       
   163     <xs:attribute name="outputclass"/>
       
   164     <xs:attributeGroup ref="global-atts"/>
       
   165     <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefNote "/>
       
   166   </xs:attributeGroup>
       
   167   <xs:element name="apiDef">
       
   168     <xs:complexType>
       
   169       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   170         <xs:group ref="apiDefinition.cnt"/>
       
   171         <xs:group ref="apiDefItem"/>
       
   172         <xs:group ref="apiItemName"/>
       
   173       </xs:choice>
       
   174       <xs:attributeGroup ref="apiDef.attlist"/>
       
   175     </xs:complexType>
       
   176   </xs:element>
       
   177   <xs:attributeGroup name="apiDef.attlist">
       
   178     <xs:attribute name="spectitle"/>
       
   179     <xs:attributeGroup ref="univ-atts"/>
       
   180     <xs:attribute name="outputclass"/>
       
   181     <xs:attributeGroup ref="global-atts"/>
       
   182     <xs:attribute name="class" default="- topic/section reference/section apiRef/apiDef "/>
       
   183   </xs:attributeGroup>
       
   184   <xs:element name="apiDefItem">
       
   185     <xs:complexType>
       
   186       <xs:choice minOccurs="0" maxOccurs="unbounded">
       
   187         <xs:group ref="apiItemName"/>
       
   188         <xs:group ref="apiDefinition.cnt"/>
       
   189         <xs:group ref="apiDefItem"/>
       
   190       </xs:choice>
       
   191       <xs:attributeGroup ref="apiDefItem.attlist"/>
       
   192     </xs:complexType>
       
   193   </xs:element>
       
   194   <xs:attributeGroup name="apiDefItem.attlist">
       
   195     <xs:attribute name="keyref"/>
       
   196     <xs:attributeGroup ref="univ-atts"/>
       
   197     <xs:attribute name="outputclass"/>
       
   198     <xs:attributeGroup ref="global-atts"/>
       
   199     <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem "/>
       
   200   </xs:attributeGroup>
       
   201   <xs:element name="apiQualifier">
       
   202     <xs:complexType>
       
   203       <xs:attributeGroup ref="apiQualifier.attlist"/>
       
   204     </xs:complexType>
       
   205   </xs:element>
       
   206   <xs:attributeGroup name="apiQualifier.attlist">
       
   207     <xs:attribute name="name" use="required"/>
       
   208     <xs:attribute name="value" use="required"/>
       
   209     <xs:attributeGroup ref="univ-atts"/>
       
   210     <xs:attribute name="outputclass"/>
       
   211     <xs:attributeGroup ref="global-atts"/>
       
   212     <xs:attribute name="class" default="- topic/data reference/data apiRef/apiQualifier "/>
       
   213   </xs:attributeGroup>
       
   214   <xs:element name="apiRelation">
       
   215     <xs:complexType mixed="true">
       
   216       <xs:attributeGroup ref="apiRelation.attlist"/>
       
   217     </xs:complexType>
       
   218   </xs:element>
       
   219   <xs:attributeGroup name="apiRelation.attlist">
       
   220     <xs:attribute name="href"/>
       
   221     <xs:attribute name="keyref"/>
       
   222     <xs:attribute name="type"/>
       
   223     <xs:attributeGroup ref="univ-atts"/>
       
   224     <xs:attribute name="format"/>
       
   225     <xs:attribute name="scope">
       
   226       <xs:simpleType>
       
   227         <xs:restriction base="xs:token">
       
   228           <xs:enumeration value="local"/>
       
   229           <xs:enumeration value="peer"/>
       
   230           <xs:enumeration value="external"/>
       
   231           <xs:enumeration value="-dita-use-conref-target"/>
       
   232         </xs:restriction>
       
   233       </xs:simpleType>
       
   234     </xs:attribute>
       
   235     <xs:attribute name="outputclass"/>
       
   236     <xs:attributeGroup ref="global-atts"/>
       
   237     <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation "/>
       
   238   </xs:attributeGroup>
       
   239   <xs:element name="apiType">
       
   240     <xs:complexType>
       
   241       <xs:attributeGroup ref="apiType.attlist"/>
       
   242     </xs:complexType>
       
   243   </xs:element>
       
   244   <xs:attributeGroup name="apiType.attlist">
       
   245     <xs:attribute name="name" default="type"/>
       
   246     <xs:attribute name="value" use="required"/>
       
   247     <xs:attributeGroup ref="univ-atts"/>
       
   248     <xs:attribute name="outputclass"/>
       
   249     <xs:attributeGroup ref="global-atts"/>
       
   250     <xs:attribute name="class" default="- topic/state reference/state apiRef/apiType "/>
       
   251   </xs:attributeGroup>
       
   252   <xs:element name="apiArray">
       
   253     <xs:complexType>
       
   254       <xs:attributeGroup ref="apiArray.attlist"/>
       
   255     </xs:complexType>
       
   256   </xs:element>
       
   257   <xs:attributeGroup name="apiArray.attlist">
       
   258     <xs:attribute name="name" default="arraysize"/>
       
   259     <xs:attribute name="value" default=""/>
       
   260     <xs:attributeGroup ref="univ-atts"/>
       
   261     <xs:attribute name="outputclass"/>
       
   262     <xs:attributeGroup ref="global-atts"/>
       
   263     <xs:attribute name="class" default="- topic/state reference/state apiRef/apiArray "/>
       
   264   </xs:attributeGroup>
       
   265   <xs:element name="apiData">
       
   266     <xs:complexType mixed="true">
       
   267       <xs:group minOccurs="0" maxOccurs="unbounded" ref="ph.cnt"/>
       
   268       <xs:attributeGroup ref="apiData.attlist"/>
       
   269     </xs:complexType>
       
   270   </xs:element>
       
   271   <xs:attributeGroup name="apiData.attlist">
       
   272     <xs:attribute name="keyref"/>
       
   273     <xs:attributeGroup ref="univ-atts"/>
       
   274     <xs:attribute name="outputclass"/>
       
   275     <xs:attributeGroup ref="global-atts"/>
       
   276     <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiData "/>
       
   277   </xs:attributeGroup>
       
   278   <xs:element name="apiDesc">
       
   279     <xs:complexType mixed="true">
       
   280       <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.notitle.cnt"/>
       
   281       <xs:attributeGroup ref="apiDesc.attlist"/>
       
   282     </xs:complexType>
       
   283   </xs:element>
       
   284   <xs:attributeGroup name="apiDesc.attlist">
       
   285     <xs:attribute name="spectitle"/>
       
   286     <xs:attributeGroup ref="univ-atts"/>
       
   287     <xs:attribute name="outputclass"/>
       
   288     <xs:attributeGroup ref="global-atts"/>
       
   289     <xs:attribute name="class" default="- topic/section reference/section apiRef/apiDesc "/>
       
   290   </xs:attributeGroup>
       
   291   <xs:element name="apiImpl">
       
   292     <xs:complexType mixed="true">
       
   293       <xs:group minOccurs="0" maxOccurs="unbounded" ref="section.notitle.cnt"/>
       
   294       <xs:attributeGroup ref="apiImpl.attlist"/>
       
   295     </xs:complexType>
       
   296   </xs:element>
       
   297   <xs:attributeGroup name="apiImpl.attlist">
       
   298     <xs:attribute name="spectitle"/>
       
   299     <xs:attributeGroup ref="univ-atts"/>
       
   300     <xs:attribute name="outputclass"/>
       
   301     <xs:attributeGroup ref="global-atts"/>
       
   302     <xs:attribute name="class" default="- topic/section reference/section apiRef/apiImpl "/>
       
   303   </xs:attributeGroup>
       
   304   <!-- ============ Class ancestry ============ -->
       
   305 </xs:schema>