<?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-typo.rnc,v 1.14 2011/07/24 08:59:12 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. <b>: added infoAsset 2. <i>: added infoAsset --> <!-- ============================================================================================= b element ============================================================================================= --> <define name="wng.b.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.b"> <element name="wng:b"> <aux:desc aux:cat="typo">Bold text.</aux:desc> <ref name="wng.b.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.i"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fc"/> <ref name="wng.fi"/> <ref name="wng.fr"/> <ref name="wng.infoAsset"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= i element ============================================================================================= --> <define name="wng.i.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.i"> <element name="wng:i"> <aux:desc aux:cat="typo">Italic text.</aux:desc> <ref name="wng.i.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fc"/> <ref name="wng.infoAsset"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= fc element ============================================================================================= --> <define name="wng.fc.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.fc"> <element name="wng:fc"> <aux:desc aux:cat="typo">Fixed case: text that must always remain in its given case (upper or lower), regardless of context.</aux:desc> <ref name="wng.fc.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.i"/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fi"/> <ref name="wng.fr"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= fi element ============================================================================================= --> <define name="wng.fi.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.fi"> <element name="wng:fi"> <aux:desc aux:cat="typo">Fixed italic: text that must always be presented in italic, regardless of context.</aux:desc> <ref name="wng.fi.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fc"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= fr element ============================================================================================= --> <define name="wng.fr.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.fr"> <element name="wng:fr"> <aux:desc aux:cat="typo">Fixed roman: text that must always be presented in roman (upright), regardless of context.</aux:desc> <ref name="wng.fr.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fc"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= sc element ============================================================================================= --> <define name="wng.sc.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.sc"> <element name="wng:sc"> <aux:desc aux:cat="typo">Text that is to be typeset or otherwise rendered in small capitals.</aux:desc> <ref name="wng.sc.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.i"/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sub"/> <ref name="wng.sup"/> <ref name="wng.fi"/> <ref name="wng.fr"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= span element ============================================================================================= --> <define name="wng.span.attlist"> <interleave> <ref name="pattern.global.attributes"/> <optional> <ref name="pattern.id.attribute"/> </optional> <optional> <ref name="pattern.type.attribute"/> </optional> <optional> <ref name="pattern.lang.attribute"/> </optional> <optional> <attribute name="cssStyle"> <aux:desc>CSS3 styling</aux:desc> </attribute> </optional> </interleave> </define> <define name="wng.span"> <element> <name>wng:span</name> <aux:desc aux:cat="typo">A span of text identified for special formatting or other purposes.</aux:desc> <ref name="wng.span.attlist"/> <zeroOrMore> <choice> <text/> <ref name="pattern.model.fragment.para.model"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= sub element ============================================================================================= --> <define name="wng.sub.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.sub"> <element> <name>wng:sub</name> <aux:desc aux:cat="typo">Subscript text.</aux:desc> <ref name="wng.sub.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.i"/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.fi"/> <ref name="wng.fr"/> <ref name="wng.fc"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= sup element ============================================================================================= --> <define name="wng.sup.attlist"> <ref name="pattern.global.attributes"/> </define> <define name="wng.sup"> <element name="wng:sup"> <aux:desc aux:cat="typo">Superscript text.</aux:desc> <ref name="wng.sup.attlist"/> <zeroOrMore> <choice> <text/> <ref name="wng.i"/> <ref name="wng.b"/> <ref name="wng.span"/> <ref name="wng.sc"/> <ref name="wng.fi"/> <ref name="wng.fr"/> <ref name="wng.fc"/> </choice> </zeroOrMore> </element> </define> </grammar>