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

<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    W3C XML Schema to describe DITA book maps              -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             June 2006                                        -->
<!--                                                               -->
<!--             (C) Copyright OASIS-Open.org 2006, 2009                -->
<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
<!--             All Rights Reserved.                              -->
<!--                                                               -->
<!-- ============================================================= -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">

    <!-- ==================== Include Section - Start ======================= -->
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:mapGroupMod.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementMod.xsd:1.2"/>
    <!-- ======== Table elements ======== -->
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclMod.xsd:1.2"/>
    <!-- ======= MetaData elements, plus keyword and indexterm ======= -->
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclMod.xsd:1.2"/>

    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:indexingDomain.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:xnalDomain.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:delayResolutionDomain.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:spec:learning:xsd:learningMapDomain.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:spec:learning:xsd:learningMetadataDomain.xsd:1.2" />
  
    <!-- base domains -->
  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:highlightDomain.xsd:1.2"/>
  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:utilitiesDomain.xsd:1.2"/>
  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:hazardstatementDomain.xsd:1.2"/>

    <!--  ================ GROUP DEFINITIONS =====================  -->
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:bookmapGrp.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.2"/>

    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:mapGrp.xsd:1.2">
        <xs:group name="topicref">
            <xs:choice>
                <xs:group ref="topicref"/>
                <xs:group ref="mapgroup-d-topicref"/>
                <xs:group ref="learningmap-d-topicref"/>
            </xs:choice>
        </xs:group>
    </xs:redefine>

    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementGrp.xsd:1.2">

        <xs:group name="index-base">
            <xs:choice>
                <xs:group ref="index-base"/>
                <xs:group ref="indexing-d-index-base"/>
            </xs:choice>
        </xs:group>
      
      <xs:group name="ph">
        <xs:choice>
          <xs:group ref="ph"/>
          <xs:group ref="hi-d-ph" />
        </xs:choice>
      </xs:group>
      
      
      <xs:group name="fig">
        <xs:choice>
          <xs:group ref="fig"/>
          <xs:group ref="ut-d-fig" />
        </xs:choice>
      </xs:group >
      
      <xs:group name="note">
        <xs:choice>
          <xs:group ref="note"/>
          <xs:group ref="hazard-d-note"/>
        </xs:choice>
      </xs:group >

    </xs:redefine>

    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclGrp.xsd:1.2">
        <xs:group name="metadata">
            <xs:choice>
                <xs:group ref="metadata"/>
                <xs:group ref="learningmeta-d-metadata"/>
            </xs:choice>
        </xs:group>

        <xs:group name="author">
            <xs:choice>
                <xs:group ref="author"/>
                <xs:group ref="xnal-d-author"/>
            </xs:choice>
        </xs:group>

        <xs:group name="keywords">
            <xs:choice>
                <xs:group ref="keywords"/>
                <xs:group ref="delay-d-keywords"/>
            </xs:choice>
        </xs:group>

    </xs:redefine>




    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:mapMod.xsd:1.2"/>
    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:bookmapMod.xsd:1.2"/>


    <xs:attributeGroup name="domains-att">
        <xs:attribute name="domains" type="xs:string"
             default="(map bookmap) 
                            (map learningmap-d)
                            (map mapgroup-d) 
                            (topic delay-d)
                            (topic hazard-d)
                            (topic hi-d)
                            (topic indexing-d)  
                            (topic learningmeta-d)
                            (topic ut-d)
                            (topic xnal-d) "/>
    </xs:attributeGroup>

</xs:schema>
