Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-manifest.rng
@niederle niederle on 29 Dec 2015 5 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-manifest.rnc,v 1.23 2011/07/24 13:32:42 johnp Exp $
  =============================================================================================
-->
<!--
  Changes for v2.0
    1. <composite>/@version changed to "2.0"
-->
<!--
  Changes for v1.0.3
    1. <composite>/@version changed to "1.0.3"
-->
<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">
  <!--
    =============================================================================================
    composite element
    =============================================================================================
  -->
  <define name="wng.composite.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <optional>
        <attribute name="version">
          <aux:desc>the model version, which must be '2.0'</aux:desc>
          <value>2.0</value>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.composite">
    <element name="wng:composite">
      <aux:desc aux:cat="composite">A composite representing a standalone file or item within it.</aux:desc>
      <ref name="wng.composite.attlist"/>
      <optional>
        <ref name="wng.publicationMeta"/>
      </optional>
      <optional>
        <ref name="wng.additionalMetadataGroup"/>
      </optional>
      <oneOrMore>
        <choice>
          <ref name="wng.compositeResource"/>
          <ref name="wng.composite"/>
        </choice>
      </oneOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    compositeResource 
    =============================================================================================
  -->
  <define name="wng.compositeResource.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
      <attribute name="href">
        <aux:desc>A URI or IRI giving the location of the resource</aux:desc>
      </attribute>
      <optional>
        <attribute name="entryPoint">
          <aux:desc>root file for a compound media object</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="placeBeforeRef">
          <aux:desc>A URI or IRI giving a location in another document of where to place the resource before</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:placeBeforeRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="placeAfterRef">
          <aux:desc>A URI or IRI giving a location in another document of where to place the resource after</aux:desc>
        </attribute>
      </optional>
      <optional>
        <attribute name="cms:placeAfterRef">
          <aux:desc>!suppress!</aux:desc>
        </attribute>
      </optional>
    </interleave>
  </define>
  <define name="wng.compositeResource">
    <element name="wng:compositeResource">
      <aux:desc aux:cat="core">Specification of a resource to be included and/or identified in the <xref xmlns="" linkend="wng_composite"/>
+++.</aux:desc>
      <ref name="wng.compositeResource.attlist"/>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="pattern.model.fragment.common.inlines"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <!--
    =============================================================================================
    additionalMetadata element
    =============================================================================================
  -->
  <define name="wng.additionalMetadata.attlist">
    <interleave>
      <ref name="pattern.global.attributes"/>
      <optional>
        <ref name="pattern.id.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.lang.attribute"/>
      </optional>
      <optional>
        <ref name="pattern.type.attribute"/>
      </optional>
    </interleave>
  </define>
  <define name="wng.additionalMetadata">
    <element name="wng:additionalMetadata">
      <aux:desc aux:cat="composite">Additional metadata in a <xref xmlns="" linkend="wng_composite"/>
+++.</aux:desc>
      <ref name="wng.additionalMetadata.attlist"/>
      <text/>
    </element>
  </define>
  <!--
    =============================================================================================
    additionalMetadataGroup 
    =============================================================================================
  -->
  <define name="wng.additionalMetadataGroup.attlist">
    <ref name="pattern.global.attributes"/>
  </define>
  <define name="wng.additionalMetadataGroup">
    <element name="wng:additionalMetadataGroup">
      <aux:desc aux:cat="composite">Wrapper for <xref xmlns="" linkend="wng_additionalMetadata"/>
+++ items.</aux:desc>
      <ref name="wng.additionalMetadataGroup.attlist"/>
      <oneOrMore>
        <ref name="wng.additionalMetadata"/>
      </oneOrMore>
    </element>
  </define>
</grammar>