Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-index.rng
@niederle niederle on 29 Dec 2015 3 KB 1er commit
<?xml version="1.0" encoding="UTF-8"?>
<!--
  =============================================================================================
  WileyML 3G
  
  A model for the content of John Wiley & Sons. 
  
  This file conforms to ISO/IEC 19757-2:2003 AMENDMENT 1 (RELAX NG Compact Syntax). The
  collection of these files normatively defines the XML grammar for WileyNG instances.
  
  Copyright (c) 2010 John Wiley & Sons Inc. All rights reserved worldwide.
  
  $Id: Wileyml3g-index.rnc,v 1.3 2010/08/16 07:29:45 johnp Exp $
  =============================================================================================
-->
<grammar xmlns:cms="http://cms.wiley.com" xmlns:wng="http://www.wiley.com/namespaces/wiley" xmlns:aux="http://www.wiley.com/namespaces/wiley/aux" xmlns="http://relaxng.org/ns/structure/1.0">
  <!--
    =============================================================================================
    index
    =============================================================================================
  -->
  <define name="wng.index.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
    </interleave>
  </define>
  <define name="wng.index">
    <element>
      <name>wng:index</name>
      <aux:desc aux:cat="index">An index.</aux:desc>
      <ref name="wng.index.attlist"/>
      <zeroOrMore>
        <ref name="wng.p"/>
      </zeroOrMore>
      <oneOrMore>
        <ref name="wng.indexEntryGroup"/>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    indexEntry
    =============================================================================================
  -->
  <define name="wng.indexEntry.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <attribute name="seeRef">
          <aux:desc>reference to one or more other index entries that provide the information for this item</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:seeRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="seeAlsoRef">
          <aux:desc>reference to one or more other index entries that have additional relevant information</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:seeAlsoRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="sort">
          <aux:desc>sort key for the entry</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.indexEntry">
    <element>
      <name>wng:indexEntry</name>
      <aux:desc aux:cat="index">An entry in an index.</aux:desc>
      <ref name="wng.indexEntry.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.formatting"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    indexEntryGroup
    =============================================================================================
  -->
  <define name="wng.indexEntryGroup.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.indexEntryGroup">
    <element>
      <name>wng:indexEntryGroup</name>
      <aux:desc aux:cat="index">A section in an index.</aux:desc>
      <ref name="wng.indexEntryGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.indexEntry"/>
      </oneOrMore>
      <zeroOrMore>
        <ref name="wng.indexEntryGroup"/>
      </zeroOrMore>
    </element>
  </define>
</grammar>