<?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) 2010 John Wiley & Sons Inc. All rights reserved worldwide. $Id: Wileyml3g-index.rnc,v 1.3 2010/08/16 07:29:45 johnp Exp $ ============================================================================================= --> <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"> <!-- ============================================================================================= index ============================================================================================= --> <define name="wng.index.attlist"> <interleave> <ref name="pattern.global.attributes"/> <ref name="pattern.id.attribute"/> </interleave> </define> <define name="wng.index"> <element> <name>wng:index</name> <aux:desc aux:cat="index">An index.</aux:desc> <ref name="wng.index.attlist"/> <zeroOrMore> <ref name="wng.p"/> </zeroOrMore> <oneOrMore> <ref name="wng.indexEntryGroup"/> </oneOrMore> </element> </define> <!-- ============================================================================================= indexEntry ============================================================================================= --> <define name="wng.indexEntry.attlist"> <interleave> <ref name="pattern.global.attributes"/> <optional> <ref name="pattern.id.attribute"/> </optional> <optional> <attribute name="seeRef"> <aux:desc>reference to one or more other index entries that provide the information for this item</aux:desc> </attribute> </optional> <optional> <attribute name="cms:seeRef"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="seeAlsoRef"> <aux:desc>reference to one or more other index entries that have additional relevant information</aux:desc> </attribute> </optional> <optional> <attribute name="cms:seeAlsoRef"> <aux:desc>!suppress!</aux:desc> </attribute> </optional> <optional> <attribute name="sort"> <aux:desc>sort key for the entry</aux:desc> </attribute> </optional> </interleave> </define> <define name="wng.indexEntry"> <element> <name>wng:indexEntry</name> <aux:desc aux:cat="index">An entry in an index.</aux:desc> <ref name="wng.indexEntry.attlist"/> <zeroOrMore> <choice> <text/> <ref name="pattern.formatting"/> </choice> </zeroOrMore> </element> </define> <!-- ============================================================================================= indexEntryGroup ============================================================================================= --> <define name="wng.indexEntryGroup.attlist"> <interleave> <ref name="pattern.global.attributes"/> <optional> <ref name="pattern.id.attribute"/> </optional> </interleave> </define> <define name="wng.indexEntryGroup"> <element> <name>wng:indexEntryGroup</name> <aux:desc aux:cat="index">A section in an index.</aux:desc> <ref name="wng.indexEntryGroup.attlist"/> <oneOrMore> <ref name="wng.indexEntry"/> </oneOrMore> <zeroOrMore> <ref name="wng.indexEntryGroup"/> </zeroOrMore> </element> </define> </grammar>