<?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) 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>