<?xml version="1.0" encoding="UTF-8"?>
<!-- ============================================================= -->
<!--                    HEADER                                     -->
<!-- ============================================================= -->
<!--  MODULE:    DITA Map Group Domain                             -->
<!--  VERSION:   1.0.1                                             -->
<!--  DATE:      November 2005                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
<!--                                                               -->
<!-- PURPOSE:    Define elements and specialization attributes     -->
<!--             for Map Group Domain                              -->
<!--                                                               -->
<!-- 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">

  <xs:group name="mapgroup-d-topicref">
      <xs:choice>
        <xs:element ref="topichead"/>
        <xs:element ref="topicgroup"/>
      </xs:choice>
  </xs:group>

    <xs:element name="topichead" type="topichead.class"  >
      <xs:annotation>
        <xs:documentation>The &lt;<keyword>topichead</keyword>> element provides a title-only
          entry in a navigation map, as an alternative to the fully-linked title provided
          by the &lt;<keyword>topicref</keyword>> element.
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:complexType name="topichead.class">
        <xs:sequence>
          <xs:element ref="topicmeta" minOccurs="0" />
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:group ref="navref" />
            <xs:group ref="anchor" />
            <xs:group ref="topicref" />
          </xs:choice>
        </xs:sequence>
        <xs:attribute name="navtitle" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:ID"/>
        <xs:attribute name="conref" type="xs:string"/>
        <xs:attributeGroup ref="topicref-atts" />
        <xs:attributeGroup ref="select-atts" />
        <xs:attributeGroup ref="global-atts" />
        <xs:attribute ref="class" default="+ map/topicref mapgroup/topichead " />
    </xs:complexType>
  

  <xs:element name="topicgroup" type="topicgroup.class" >
    <xs:annotation>
      <xs:documentation>The &lt;<keyword>topicgroup</keyword>> element is for creating
        groups of &lt;<keyword>topicref</keyword>> elements without affecting the
        hierarchy, as opposed to nested &lt;<keyword>topicref</keyword>> elements
        within a &lt;<keyword>topicref</keyword>>, which does imply a structural hierarchy.
        It is typically used outside a hierarchy to identify groups for linking without
        affecting the resulting toc/navigation output.          
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="topicgroup.class">
        <xs:sequence>
          <xs:group ref="topicmeta" minOccurs="0" />
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:group ref="navref" />
            <xs:group ref="anchor" />
            <xs:group ref="topicref" />
          </xs:choice>
        </xs:sequence>
        <xs:attribute name="id" type="xs:ID"/>
        <xs:attribute name="conref" type="xs:string"/>
        <xs:attributeGroup ref="topicref-atts" />
        <xs:attributeGroup ref="select-atts" />
        <xs:attributeGroup ref="global-atts" />
        <xs:attribute ref="class" default="+ map/topicref mapgroup/topicgroup " />
  </xs:complexType>

</xs:schema>
