--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DITA-OT_CXX_Plugin/cxxapiref/xsd/cxxClass.mod.xsd Wed Aug 11 14:49:30 2010 +0100
@@ -0,0 +1,831 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ================================================================= -->
+<!-- HEADER -->
+<!-- ================================================================= -->
+<!-- MODULE: C++ Class DTD -->
+<!-- VERSION: 0.6.0 -->
+<!-- DATE: May 2009 -->
+<!---->
+<!-- ================================================================= -->
+<!-- ================================================================= -->
+<!-- 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 Class Reference Type v0.6.0//EN"
+ Delivered as file "cxxClass.dtd"
+-->
+<!-- ================================================================= -->
+<!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->
+<!---->
+<!-- PURPOSE: C++ API Reference for Classes -->
+<!---->
+<!-- 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 ============ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
+ <xs:import namespace="http://dita.oasis-open.org/architecture/2005/" schemaLocation="../../../schema/base/xsd/ditaarch.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../../schema/base/xsd/xml.xsd"/>
+ <xs:group name="cxxClassDetail">
+ <xs:sequence>
+ <xs:element ref="cxxClassDetail"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDefinition">
+ <xs:sequence>
+ <xs:element ref="cxxClassDefinition"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassAbstract">
+ <xs:sequence>
+ <xs:element ref="cxxClassAbstract"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassAccessSpecifier">
+ <xs:sequence>
+ <xs:element ref="cxxClassAccessSpecifier"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDerivations">
+ <xs:sequence>
+ <xs:element ref="cxxClassDerivations"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDerivation">
+ <xs:sequence>
+ <xs:element ref="cxxClassDerivation"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxStructDerivation">
+ <xs:sequence>
+ <xs:element ref="cxxStructDerivation"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Templates -->
+ <xs:group name="cxxClassTemplateParameters">
+ <xs:sequence>
+ <xs:element ref="cxxClassTemplateParameters"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassTemplateParameter">
+ <xs:sequence>
+ <xs:element ref="cxxClassTemplateParameter"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassTemplateParameterType">
+ <xs:sequence>
+ <xs:element ref="cxxClassTemplateParameterType"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Derivation -->
+ <xs:group name="cxxClassDerivationAccessSpecifier">
+ <xs:sequence>
+ <xs:element ref="cxxClassDerivationAccessSpecifier"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDerivationVirtual">
+ <xs:sequence>
+ <xs:element ref="cxxClassDerivationVirtual"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassBaseClass">
+ <xs:sequence>
+ <xs:element ref="cxxClassBaseClass"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassBaseStruct">
+ <xs:sequence>
+ <xs:element ref="cxxClassBaseStruct"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassBaseUnion">
+ <xs:sequence>
+ <xs:element ref="cxxClassBaseUnion"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassInherits">
+ <xs:sequence>
+ <xs:element ref="cxxClassInherits"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="cxxClassInheritsDetail">
+ <xs:complexContent>
+ <xs:extension base="cxxClassInheritsDetail.element"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:group name="cxxClassFunctionInherited">
+ <xs:sequence>
+ <xs:element ref="cxxClassFunctionInherited"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassVariableInherited">
+ <xs:sequence>
+ <xs:element ref="cxxClassVariableInherited"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassEnumerationInherited">
+ <xs:sequence>
+ <xs:element ref="cxxClassEnumerationInherited"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassEnumeratorInherited">
+ <xs:sequence>
+ <xs:element ref="cxxClassEnumeratorInherited"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Nested members -->
+ <xs:group name="cxxClassNestedDetail">
+ <xs:sequence>
+ <xs:element ref="cxxClassNestedDetail"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassNestedClass">
+ <xs:sequence>
+ <xs:element ref="cxxClassNestedClass"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassNestedStruct">
+ <xs:sequence>
+ <xs:element ref="cxxClassNestedStruct"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassNestedUnion">
+ <xs:sequence>
+ <xs:element ref="cxxClassNestedUnion"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- Location elements -->
+ <xs:group name="cxxClassAPIItemLocation">
+ <xs:sequence>
+ <xs:element ref="cxxClassAPIItemLocation"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDeclarationFile">
+ <xs:sequence>
+ <xs:element ref="cxxClassDeclarationFile"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDeclarationFileLine">
+ <xs:sequence>
+ <xs:element ref="cxxClassDeclarationFileLine"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDefinitionFile">
+ <xs:sequence>
+ <xs:element ref="cxxClassDefinitionFile"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDefinitionFileLineStart">
+ <xs:sequence>
+ <xs:element ref="cxxClassDefinitionFileLineStart"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassDefinitionFileLineEnd">
+ <xs:sequence>
+ <xs:element ref="cxxClassDefinitionFileLineEnd"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ============ Hooks for shell DTD ============ -->
+ <xs:group name="cxxClass-types-default">
+ <xs:choice>
+ <xs:element ref="cxxClassNested"/>
+ <xs:element ref="cxxFunction"/>
+ <xs:element ref="cxxDefine"/>
+ <xs:element ref="cxxVariable"/>
+ <xs:element ref="cxxEnumeration"/>
+ <xs:element ref="cxxTypedef"/>
+ </xs:choice>
+ </xs:group>
+ <xs:group name="cxxClass-info-types">
+ <xs:sequence>
+ <xs:group ref="cxxClass-types-default"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassNested-types-default">
+ <xs:sequence>
+ <xs:element ref="no-topic-nesting"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="cxxClassNested-info-types">
+ <xs:sequence>
+ <xs:group ref="cxxClassNested-types-default"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ============ Topic specializations ============ -->
+ <!-- (%cxxClass-info-types;)* -->
+ <xs:element name="cxxClass">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="apiName"/>
+ <xs:group minOccurs="0" ref="shortdesc"/>
+ <xs:group minOccurs="0" ref="prolog"/>
+ <xs:group ref="cxxClassDetail"/>
+ <xs:group minOccurs="0" ref="related-links"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClass-info-types"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassInherits"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:ID"/>
+ <xs:attribute name="conref"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attributeGroup ref="arch-atts"/>
+ <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)"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClass "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDetail">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="cxxClassDefinition"/>
+ <xs:group minOccurs="0" ref="apiDesc"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="example"/>
+ <xs:group ref="section"/>
+ <xs:group ref="apiImpl"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="id-atts"/>
+ <xs:attribute name="translate">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiClassifierDetail cxxClass/cxxClassDetail "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDefinition">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group minOccurs="0" ref="cxxClassAccessSpecifier"/>
+ <xs:group minOccurs="0" ref="cxxClassAbstract"/>
+ <xs:group minOccurs="0" ref="cxxClassDerivations"/>
+ <xs:group minOccurs="0" ref="cxxClassTemplateParameters"/>
+ <xs:group ref="cxxClassAPIItemLocation"/>
+ </xs:sequence>
+ <xs:attribute name="spectitle"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/section reference/section apiRef/apiDef apiClassifier/apiClassifierDef cxxClass/cxxClassDefinition "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassAccessSpecifier">
+ <xs:complexType>
+ <xs:attribute name="name" default="access">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="access"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" default="public">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="public"/>
+ <xs:enumeration value="protected"/>
+ <xs:enumeration value="private"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassAccessSpecifier "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassAbstract">
+ <xs:complexType>
+ <xs:attribute name="name" default="abstract">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="abstract"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" default="abstract">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="abstract"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassAbstract "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDerivations">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="cxxClassDerivation"/>
+ <xs:group ref="cxxStructDerivation"/>
+ </xs:choice>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassDerivations "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDerivation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="cxxClassDerivationAccessSpecifier"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassDerivationVirtual"/>
+ <xs:choice>
+ <xs:group ref="cxxClassBaseClass"/>
+ <xs:group ref="cxxClassBaseStruct"/>
+ <xs:group ref="cxxClassBaseUnion"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassDerivation "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassInherits">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="cxxClassInheritsDetail">
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <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)"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClassInherits "/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="cxxClassInheritsDetail.element">
+ <xs:sequence>
+ <xs:element ref="cxxClassInheritsDetail"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="cxxClassInheritsDetail">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="cxxClassFunctionInherited"/>
+ <xs:group ref="cxxClassVariableInherited"/>
+ <xs:group ref="cxxClassEnumerationInherited"/>
+ <xs:group ref="cxxClassEnumeratorInherited"/>
+ </xs:choice>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <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)"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxClass/cxxClassInheritsDetail "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassFunctionInherited">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassFunctionInherited "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassVariableInherited">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassVariableInherited "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassEnumerationInherited">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassEnumerationInherited "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassEnumeratorInherited">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassEnumeratorInherited "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDerivationAccessSpecifier">
+ <xs:complexType>
+ <xs:attribute name="name" default="access">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="access"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" default="public">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="public"/>
+ <xs:enumeration value="protected"/>
+ <xs:enumeration value="private"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDerivationAccessSpecifier "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDerivationVirtual">
+ <xs:complexType>
+ <xs:attribute name="name" default="virtual">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="virtual"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" default="true">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDerivationVirtual "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassBaseClass">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseClass "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassBaseStruct">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseStruct "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassBaseUnion">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiBaseClassifier cxxClass/cxxClassBaseUnion "/>
+ </xs:complexType>
+ </xs:element>
+ <!-- Templates -->
+ <xs:element name="cxxClassTemplateParameters">
+ <xs:complexType>
+ <xs:group maxOccurs="unbounded" ref="cxxClassTemplateParameter"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameters "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassTemplateParameter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="cxxClassTemplateParameterType"/>
+ <xs:group minOccurs="0" ref="apiDefNote"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameter "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassTemplateParameterType">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassTemplateParameterType "/>
+ </xs:complexType>
+ </xs:element>
+ <!-- Location -->
+ <xs:element name="cxxClassAPIItemLocation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="cxxClassDeclarationFile"/>
+ <xs:group ref="cxxClassDeclarationFileLine"/>
+ <xs:group minOccurs="0" ref="cxxClassDefinitionFile"/>
+ <xs:group minOccurs="0" ref="cxxClassDefinitionFileLineStart"/>
+ <xs:group minOccurs="0" ref="cxxClassDefinitionFileLineEnd"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/ph reference/ph apiRef/apiDefItem apiClassifier/apiDefItem cxxClass/cxxClassAPIItemLocation "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDeclarationFile">
+ <xs:complexType>
+ <xs:attribute name="name" default="filePath">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="filePath"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" use="required"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDeclarationFile "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDeclarationFileLine">
+ <xs:complexType>
+ <xs:attribute name="name" default="lineNumber">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="lineNumber"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" use="required"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDeclarationFileLine "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDefinitionFile">
+ <xs:complexType>
+ <xs:attribute name="name" default="filePath">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="filePath"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" use="required"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFile "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDefinitionFileLineStart">
+ <xs:complexType>
+ <xs:attribute name="name" default="lineNumber">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="lineNumber"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" use="required"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFileLineStart "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassDefinitionFileLineEnd">
+ <xs:complexType>
+ <xs:attribute name="name" default="lineNumber">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="lineNumber"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="value" use="required"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/state reference/state apiRef/apiQualifier apiClassifier/apiQualifier cxxClass/cxxClassDefinitionFileLineEnd "/>
+ </xs:complexType>
+ </xs:element>
+ <!-- Nested members -->
+ <xs:element name="cxxClassNested">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="cxxClassNestedDetail"/>
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="cxxClassNested-info-types"/>
+ </xs:sequence>
+ <xs:attribute name="conref"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attributeGroup ref="arch-atts"/>
+ <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)"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/topic reference/reference apiRef/apiRef apiClassifier/apiClassifier cxxClass/cxxClassNested "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassNestedDetail">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:group ref="cxxClassNestedClass"/>
+ <xs:group ref="cxxClassNestedStruct"/>
+ <xs:group ref="cxxClassNestedUnion"/>
+ </xs:choice>
+ <xs:attributeGroup ref="id-atts"/>
+ <xs:attribute name="translate">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/body reference/refbody apiRef/apiDetail apiClassifier/apiDetail cxxClass/cxxClassNestedDetail "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassNestedClass">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedClass "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassNestedStruct">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedStruct "/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cxxClassNestedUnion">
+ <xs:complexType mixed="true">
+ <xs:attribute name="href"/>
+ <xs:attribute name="keyref"/>
+ <xs:attribute name="type"/>
+ <xs:attributeGroup ref="univ-atts"/>
+ <xs:attribute name="format"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="local"/>
+ <xs:enumeration value="peer"/>
+ <xs:enumeration value="external"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="outputclass"/>
+ <xs:attributeGroup ref="global-atts"/>
+ <xs:attribute name="class" default="- topic/xref reference/xref apiRef/apiRelation apiClassifier/apiRelation cxxClass/cxxClassNestedUnion "/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+<!-- ============ Class attributes for type ancestry ============ -->
+<!-- Representing inheritance -->
+<!-- Templates -->
+<!-- Nested members -->
+<!-- Location elements -->
+<!-- Inheritance sub-topics -->