<?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-patterns.rnc,v 1.52 2011/07/24 8:58:37 johnp Exp $ ============================================================================================= --> <grammar xmlns:cms="http://cms.wiley.com" xmlns:dctm="http://www.documentum.com" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:aux="http://www.wiley.com/namespaces/wiley/aux" xmlns="http://relaxng.org/ns/structure/1.0"> <!-- Addition (Dec 2015): 1. added @guid to global attributes (pattern.global.attributes) --> <!-- Addition (Oct 2014): 1. moved @audience to global attributes (pattern.global.attributes) --> <!-- Addition (Feb 2013): 1. added eLocator to pattern.model.fragment.bib.common --> <!-- Changes for v2.0 (Aug 2011): 1. added pattern.para.or.paras.or.ftf 2. added optional onlyChannels to pattern.global.attributes 3. added termGroup to pattern.common.inline.semantics.nomath.nobib 4. removed "public" and "limited" from pattern.rights.attributes.tokens --> <!-- Changes for v1.0.3 (Oct 2010): 1. pattern.model.fragment.high.appendix: added feature --> <define name="pattern.boolean.tokens"> <choice> <value>yes</value> <value>no</value> </choice> </define> <define name="pattern.model.fragment.inline.name.elements.bib"> <choice> <ref name="wng.familyName"/> <ref name="wng.givenNames"/> <ref name="wng.familyNamePrefix"/> <ref name="wng.nameSuffix"/> </choice> </define> <define name="pattern.model.fragment.inline.name.elements"> <choice> <ref name="pattern.model.fragment.inline.name.elements.bib"/> <ref name="wng.titlesAfterNames"/> </choice> </define> <define name="pattern.rights.attributes.tokens"> <choice> <value>yes</value> <value>no</value> <value>unknown</value> </choice> </define> <define name="pattern.type.attribute"> <attribute name="type"> <aux:desc>for specializing the use of the element</aux:desc> </attribute> </define> <define name="pattern.rights.attributes"> <interleave> <optional> <attribute name="pRights"> <aux:desc>print publishing rights (default value is yes). See usage guideline above.</aux:desc> <ref name="pattern.rights.attributes.tokens"/> </attribute> </optional> <optional> <attribute name="eRights"> <aux:desc>online publishing rights (default value is yes). See usage guideline above.</aux:desc> <ref name="pattern.rights.attributes.tokens"/> </attribute> </optional> <optional> <attribute name="copyright"> <aux:desc>copyright for this element content</aux:desc> </attribute> </optional> </interleave> </define> <define name="pattern.list.style.tokens"> <choice> <value>1</value> <value>I</value> <value>i</value> <value>A</value> <value>a</value> <value>plain</value> <value>bulleted</value> <value>custom</value> <value>checkbox</value> </choice> </define> <define name="pattern.global.attributes"> <interleave> <optional> <attribute name="role"> <aux:desc>for specializing the use of the element</aux:desc> </attribute> </optional> <optional> <attribute name="onlyChannels"> <aux:desc>specifies whether content of the element should be restricted to appearing only in print or only online. Omission of this attribute means the content is to appear in all renderings.</aux:desc> </attribute> </optional> <optional> <attribute name="audience"> <aux:desc>the intended audience (default value is both)</aux:desc> </attribute> </optional> <optional> <attribute name="guid"> <aux:desc>A Globally Unique Identifier)</aux:desc> </attribute> </optional> <optional> <attribute name="dctm:obj_id"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="dctm:obj_status"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="dctm:version_label"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="dctm:link_version_label"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="cms:chunk"> <aux:desc>!suppress!</aux:desc> <ref name="pattern.boolean.tokens"/> </attribute> </optional> <optional> <attribute name="cms:link"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> </interleave> </define> <define name="pattern.id.attribute"> <attribute name="xml:id"> <aux:desc>an xml:id compliant identifier</aux:desc> </attribute> </define> <define name="pattern.lang.attribute"> <attribute name="xml:lang"> <aux:desc>the language/dialect of the element content as a two-letter lowercase code conforming to ISO 639-1 (see second column of http://www.loc.gov/standards/iso639-2/php/code_list.php) If the attribute is omitted, the value is inherited from the nearest ancestor bearing an xml:lang value.</aux:desc> </attribute> </define> <define name="pattern.countryCode.attribute"> <attribute name="countryCode"> <aux:desc>ISO 3166 two-letter country code</aux:desc> </attribute> </define> <define name="pattern.autonumber.attribute"> <optional> <attribute name="resumeNumberingAt"> <aux:desc>specifies a number at which to resume automated numbering after an irregularity</aux:desc> </attribute> </optional> </define> <define name="pattern.date.attribute"> <attribute name="date"> <aux:desc>an ISO 8601 date</aux:desc> </attribute> </define> <define name="pattern.model.fragment.fixed"> <choice> <ref name="wng.list"/> <ref name="wng.listPaired"/> <ref name="wng.tabularFixed"/> <ref name="wng.blockFixed"/> <ref name="wng.computerCode"/> <ref name="wng.featureFixed"/> <ref name="wng.displayedItem"/> <ref name="wng.chemicalStructure"/> <ref name="wng.mathStatement"/> </choice> </define> <define name="pattern.model.fragment.floats"> <choice> <ref name="wng.tabular"/> <ref name="wng.figure"/> <ref name="wng.block"/> <ref name="wng.recipe"/> </choice> </define> <define name="pattern.minimal.formatting"> <choice> <ref name="wng.i"/> <ref name="wng.b"/> <ref name="wng.sup"/> <ref name="wng.sub"/> </choice> </define> <define name="pattern.formatting.nomath"> <choice> <ref name="pattern.minimal.formatting"/> <ref name="wng.sc"/> <ref name="wng.fc"/> <ref name="wng.span"/> <ref name="wng.inlineGraphic"/> <ref name="wng.fr"/> <ref name="wng.fi"/> </choice> </define> <define name="pattern.formatting"> <choice> <ref name="pattern.minimal.formatting"/> <ref name="wng.sc"/> <ref name="wng.fc"/> <ref name="wng.span"/> <ref name="wng.inlineGraphic"/> <ref name="math"/> <ref name="wng.fr"/> <ref name="wng.fi"/> </choice> </define> <define name="pattern.common.inline.semantics.nomath.nobib"> <choice> <ref name="wng.blank"/> <ref name="wng.email"/> <ref name="wng.url"/> <ref name="wng.infoAsset"/> <ref name="wng.accessionId"/> <ref name="wng.link"/> <ref name="wng.note"/> <ref name="wng.term"/> <ref name="wng.termDefinition"/> <ref name="wng.termGroup"/> <ref name="wng.record"/> </choice> </define> <define name="pattern.common.inline.semantics.nobib"> <choice> <ref name="pattern.common.inline.semantics.nomath.nobib"/> <ref name="math"/> </choice> </define> <define name="pattern.common.inline.semantics.nomath"> <choice> <ref name="pattern.common.inline.semantics.nomath.nobib"/> <ref name="wng.citation"/> </choice> </define> <define name="pattern.common.inline.semantics"> <choice> <ref name="pattern.common.inline.semantics.nomath"/> <ref name="math"/> </choice> </define> <define name="pattern.model.fragment.common.inlines"> <choice> <ref name="pattern.formatting"/> <ref name="pattern.common.inline.semantics.nomath"/> </choice> </define> <define name="pattern.model.fragment.all.inlines"> <choice> <ref name="pattern.formatting"/> <ref name="pattern.common.inline.semantics.nomath"/> </choice> </define> <define name="pattern.model.fragment.para.model"> <choice> <ref name="pattern.model.fragment.all.inlines"/> <ref name="pattern.model.fragment.fixed"/> <ref name="wng.exercise"/> </choice> </define> <define name="pattern.para.or.paras"> <zeroOrMore> <choice> <text/> <ref name="pattern.model.fragment.para.model"/> <ref name="wng.p"/> </choice> </zeroOrMore> </define> <define name="pattern.para.or.paras.or.ftf"> <zeroOrMore> <choice> <text/> <ref name="pattern.model.fragment.para.model"/> <ref name="wng.p"/> <ref name="wng.figure"/> <ref name="wng.tabular"/> <ref name="wng.feature"/> </choice> </zeroOrMore> </define> <define name="pattern.common.semantic.fragment"> <ref name="wng.url"/> </define> <define name="pattern.model.fragment.bib.common"> <choice> <ref name="wng.pubYear"/> <ref name="wng.defendant"/> <ref name="wng.plaintiff"/> <ref name="wng.articleTitle"/> <ref name="wng.author"/> <ref name="wng.bookSeriesTitle"/> <ref name="wng.bookTitle"/> <ref name="wng.chapterTitle"/> <ref name="wng.edition"/> <ref name="wng.editor"/> <ref name="wng.eLocator"/> <ref name="wng.groupName"/> <ref name="wng.journalTitle"/> <ref name="wng.otherTitle"/> <ref name="wng.pageFirst"/> <ref name="wng.pageLast"/> <ref name="wng.publisherLoc"/> <ref name="wng.publisherName"/> <ref name="wng.statuteTitle"/> <ref name="wng.issue"/> <ref name="wng.vol"/> <ref name="pattern.common.inline.semantics.nobib"/> </choice> </define> <define name="pattern.model.fragment.high.appendix"> <choice> <ref name="wng.section"/> <ref name="wng.bibliography"/> <ref name="wng.feature"/> <ref name="wng.letter"/> <ref name="wng.noteGroup"/> <ref name="wng.subComponent"/> <ref name="wng.exerciseSection"/> <ref name="wng.protocol"/> </choice> </define> <define name="wng.hard"> <ref name="pattern.formatting"/> </define> <define name="pattern.model.fragment.titling"> <choice> <ref name="wng.title"/> <ref name="wng.titleGroup"/> </choice> </define> </grammar>