Newer
Older
ade-outils-xml / dtd / Wileyml3gv20-rng / Wileyml3g-typo.rng
@niederle niederle on 29 Dec 2015 8 KB 1er commit
<?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>