<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Reference XSD                                -->
<!--  VERSION:   1.0.1                                             -->
<!--  DATE:      November 2005                                     -->
<!--                                                               -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    W3C XML Schema to describe DITA References        -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             March 2001                                        -->
<!--                                                               -->
<!--             (C) Copyright OASIS-Open.org 2005.                -->
<!--             (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/">
  <!-- Add the domains to the base topic XML Schema -->
  <!--  ================ TOPIC DOMAINS =====================  -->
  <xs:include schemaLocation="programmingDomain.xsd"/>
  <xs:include schemaLocation="softwareDomain.xsd"/>
  <xs:include schemaLocation="highlightDomain.xsd"/>
  <xs:include schemaLocation="uiDomain.xsd"/>
  <xs:include schemaLocation="utilitiesDomain.xsd"/>

  <!-- <xs:include schemaLocation="topicDomainsMod.xsd"/> -->
  <xs:redefine schemaLocation="topicGrp.xsd">
    <xs:group name="keyword">
      <xs:choice>
        <xs:group ref="keyword"/>
        <xs:group ref="pr-d-keyword" />
        <xs:group ref="ui-d-keyword" />
        <xs:group ref="sw-d-keyword" />
      </xs:choice>
    </xs:group>

    <xs:group name="ph">
      <xs:choice>
        <xs:group ref="ph"/>
        <xs:group ref="pr-d-ph" />
        <xs:group ref="ui-d-ph" />
        <xs:group ref="hi-d-ph" />
        <xs:group ref="sw-d-ph" />
      </xs:choice>
    </xs:group>

    <xs:group name="pre">
      <xs:choice>
        <xs:group ref="pre"/>
        <xs:group ref="pr-d-pre" />
        <xs:group ref="ui-d-pre" />
        <xs:group ref="sw-d-pre" />
      </xs:choice>
    </xs:group>


    <xs:group name="dl">
      <xs:choice>
        <xs:group ref="dl"/>
        <xs:group ref="pr-d-dl"/>
      </xs:choice >
    </xs:group >


    <xs:group name="fig">
      <xs:choice>
        <xs:group ref="fig"/>
        <xs:group ref="pr-d-fig"/>
        <xs:group ref="ut-d-fig" />
      </xs:choice>
    </xs:group >

  </xs:redefine>

  <!--  ================ INFO TYPES =====================  -->
  <xs:include schemaLocation="referenceGrp.xsd" />
  <xs:redefine schemaLocation="topicMod.xsd" >
  	<xs:complexType name="topic.class">
  		<xs:complexContent>
  			<xs:extension base="topic.class">
  				<xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d)"/>
  			</xs:extension>
  		</xs:complexContent>
  	</xs:complexType>
  </xs:redefine>
  <xs:redefine schemaLocation="referenceMod.xsd" >
  	<xs:complexType name="reference.class">
  		<xs:complexContent>
  			<xs:extension base="reference.class">
  				<xs:attribute name="domains" type="xs:string" default="(topic ui-d) (topic hi-d) (topic sw-d) (topic pr-d) (topic ut-d)"/>
  			</xs:extension>
  		</xs:complexContent>
  	</xs:complexType>
  </xs:redefine>


  <xs:group name="info-types">
    <xs:choice>
      <xs:group ref="reference-info-types"/>
    </xs:choice>
  </xs:group>

</xs:schema>
