<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Indexing Domain                             -->
<!--  VERSION:   1.2                                             -->
<!--  DATE:      November 2009                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    Define elements and specialization attributes     -->
<!--             for Indexing Domain                              -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             June 2006                                        -->
<!--                                                               -->
<!--             (C) Copyright OASIS-Open.org 2006, 2009                -->
<!--             All Rights Reserved.                              -->
<!-- ============================================================= -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  
  <xs:annotation>
    <xs:appinfo>
      <dita:domainsModule xmlns:dita="http://dita.oasis-open.org/architecture/2005/">(topic indexing-d)</dita:domainsModule>
    </xs:appinfo>
    <xs:documentation> 
    
    </xs:documentation>
  </xs:annotation>


  <xs:group name="indexing-d-index-base">
    <xs:choice>
      <xs:element ref="index-see"/>
      <xs:element ref="index-see-also"/>
      <xs:element ref="index-sort-as"/>
    </xs:choice>
  </xs:group>

  <xs:group name="index-see">
    <xs:sequence>
      <xs:choice>
        <xs:element ref="index-see"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:group name="index-see-also">
    <xs:sequence>
      <xs:choice>
        <xs:element ref="index-see-also"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:group name="index-sort-as">
    <xs:sequence>
      <xs:choice>
        <xs:element ref="index-sort-as"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>


  <xs:element name="index-see">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="index-see.class">
          <xs:attribute ref="class" default="+ topic/index-base indexing-d/index-see "/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="index-see.class" mixed="true">
    <xs:sequence>
      <xs:group ref="index-see.content"/>
    </xs:sequence>
    <xs:attributeGroup ref="index-see.attributes"/>
  </xs:complexType>

  <xs:group name="index-see.content">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:group ref="words.cnt"/>
        <xs:group ref="indexterm"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:attributeGroup name="index-see.attributes">
    <xs:attribute name="keyref" type="xs:string"/>
    <xs:attributeGroup ref="univ-atts"/>
    <xs:attributeGroup ref="global-atts"/>
  </xs:attributeGroup>

  <xs:element name="index-see-also">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="index-see-also.class">
          <xs:attribute ref="class" default="+ topic/index-base indexing-d/index-see-also "/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="index-see-also.class" mixed="true">
    <xs:sequence>
      <xs:group ref="index-sort-also.content"/>
    </xs:sequence>
    <xs:attributeGroup ref="index-sort-also.attributes"/>
  </xs:complexType>

  <xs:group name="index-sort-also.content">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:group ref="words.cnt"/>
        <xs:group ref="indexterm"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:attributeGroup name="index-sort-also.attributes">
    <xs:attribute name="keyref" type="xs:string"/>
    <xs:attributeGroup ref="univ-atts"/>
    <xs:attributeGroup ref="global-atts"/>
  </xs:attributeGroup>

  <xs:element name="index-sort-as">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="index-sort-as.class">
          <xs:attribute ref="class" default="+ topic/index-base indexing-d/index-sort-as "/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="index-sort-as.class" mixed="true">
    <xs:sequence>
      <xs:group ref="index-sort-as.content"/>
    </xs:sequence>
    <xs:attributeGroup ref="index-sort-as.attributes"/>
  </xs:complexType>

  <xs:group name="index-sort-as.content">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:group ref="words.cnt"/>
        <xs:group ref="indexterm"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:attributeGroup name="index-sort-as.attributes">
    <xs:attribute name="keyref" type="xs:string"/>
    <xs:attributeGroup ref="univ-atts"/>
    <xs:attributeGroup ref="global-atts"/>
  </xs:attributeGroup>

</xs:schema>
