Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-table.rng
@niederle niederle on 29 Dec 2015 4 KB 1er commit
<?xml version="1.0" encoding="UTF-8"?>
<!--
  =============================================================================================
  WileyML 3G
  
  A model for the content of John Wiley &amp; 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) 2011 John Wiley & Sons Inc. All rights reserved worldwide.
  
  $Id: Wileyml3g-table.rnc,v 1.21 2011/07/24 08:5l:46 johnp Exp $
  =============================================================================================
-->
<grammar 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">
  <!--
    Changes for v2.0 (Aug 2011):
      1. <tabular>: added (mediaResource | mediaResourceGroup+)?
      2. <tabularFixed>: added (mediaResource | mediaResourceGroup+)?
  -->
  <!--
    Changes for v1.0.3 (Aug 2010):
      1. <tabularFixed>: added (title | titleGroup)? to model
  -->
  <!--
    =============================================================================================
    tabular
    =============================================================================================
  -->
  <define name="wng.tabular.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.id.attribute"/>
      <optional>
        <ref name="pattern.autonumber.attribute"/>
      </optional>
      <ref name="pattern.rights.attributes"/>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.tabular">
    <element name="wng:tabular">
      <aux:desc aux:cat="tabular">A table.</aux:desc>
      <ref name="wng.tabular.attlist"/>
      <optional>
        <ref name="wng.label"/>
      </optional>
      <optional>
        <ref name="pattern.model.fragment.titling"/>
      </optional>
      <choice>
        <group>
          <ref name="table"/>
          <optional>
            <choice>
              <ref name="wng.mediaResource"/>
              <oneOrMore>
                <ref name="wng.mediaResourceGroup"/>
              </oneOrMore>
            </choice>
          </optional>
        </group>
        <ref name="wng.mediaResource"/>
        <oneOrMore>
          <ref name="wng.mediaResourceGroup"/>
        </oneOrMore>
      </choice>
      <optional>
        <choice>
          <group>
            <ref name="wng.source"/>
            <optional>
              <ref name="wng.noteGroup"/>
            </optional>
          </group>
          <group>
            <ref name="wng.noteGroup"/>
            <optional>
              <ref name="wng.source"/>
            </optional>
          </group>
        </choice>
      </optional>
    </element>
  </define>
  <!--
    =============================================================================================
    tabularFixed
    =============================================================================================
  -->
  <define name="wng.tabularFixed.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <ref name="pattern.rights.attributes"/>
    </interleave>
  </define>
  <define name="wng.tabularFixed">
    <element name="wng:tabularFixed">
      <aux:desc aux:cat="tabular">Informal tabular material.</aux:desc>
      <ref name="wng.tabularFixed.attlist"/>
      <optional>
        <ref name="pattern.model.fragment.titling"/>
      </optional>
      <ref name="table"/>
      <optional>
        <choice>
          <ref name="wng.mediaResource"/>
          <oneOrMore>
            <ref name="wng.mediaResourceGroup"/>
          </oneOrMore>
        </choice>
      </optional>
      <optional>
        <choice>
          <group>
            <ref name="wng.source"/>
            <optional>
              <ref name="wng.noteGroup"/>
            </optional>
          </group>
          <group>
            <ref name="wng.noteGroup"/>
            <optional>
              <ref name="wng.source"/>
            </optional>
          </group>
        </choice>
      </optional>
    </element>
  </define>
</grammar>