Blame doc/s5/ep2008/atom.rng

rpm-build d9acb6

rpm-build d9acb6
rpm-build d9acb6
  -*- rnc -*-
rpm-build d9acb6
  RELAX NG Compact Syntax Grammar for the
rpm-build d9acb6
  Atom Format Specification Version 11
rpm-build d9acb6
-->
rpm-build d9acb6
<grammar xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:s="http://www.ascc.net/xml/schematron" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
rpm-build d9acb6
  <start>
rpm-build d9acb6
    <choice>
rpm-build d9acb6
      <ref name="atomFeed"/>
rpm-build d9acb6
      <ref name="atomEntry"/>
rpm-build d9acb6
    </choice>
rpm-build d9acb6
  </start>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomCommonAttributes">
rpm-build d9acb6
    <optional>
rpm-build d9acb6
      <attribute name="xml:base">
rpm-build d9acb6
        <ref name="atomUri"/>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
    </optional>
rpm-build d9acb6
    <optional>
rpm-build d9acb6
      <attribute name="xml:lang">
rpm-build d9acb6
        <ref name="atomLanguageTag"/>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
    </optional>
rpm-build d9acb6
    <zeroOrMore>
rpm-build d9acb6
      <ref name="undefinedAttribute"/>
rpm-build d9acb6
    </zeroOrMore>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomPlainTextConstruct">
rpm-build d9acb6
    <ref name="atomCommonAttributes"/>
rpm-build d9acb6
    <optional>
rpm-build d9acb6
      <attribute name="type">
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <value>text</value>
rpm-build d9acb6
          <value>html</value>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
    </optional>
rpm-build d9acb6
    <text/>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomXHTMLTextConstruct">
rpm-build d9acb6
    <ref name="atomCommonAttributes"/>
rpm-build d9acb6
    <attribute name="type">
rpm-build d9acb6
      <value>xhtml</value>
rpm-build d9acb6
    </attribute>
rpm-build d9acb6
    <ref name="xhtmlDiv"/>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomTextConstruct">
rpm-build d9acb6
    <choice>
rpm-build d9acb6
      <ref name="atomPlainTextConstruct"/>
rpm-build d9acb6
      <ref name="atomXHTMLTextConstruct"/>
rpm-build d9acb6
    </choice>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomPersonConstruct">
rpm-build d9acb6
    <ref name="atomCommonAttributes"/>
rpm-build d9acb6
    <interleave>
rpm-build d9acb6
      <element name="atom:name">
rpm-build d9acb6
        <text/>
rpm-build d9acb6
      </element>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <element name="atom:uri">
rpm-build d9acb6
          <ref name="atomUri"/>
rpm-build d9acb6
        </element>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <element name="atom:email">
rpm-build d9acb6
          <ref name="atomEmailAddress"/>
rpm-build d9acb6
        </element>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <ref name="extensionElement"/>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </interleave>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomDateConstruct">
rpm-build d9acb6
    <ref name="atomCommonAttributes"/>
rpm-build d9acb6
    <data type="dateTime"/>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomFeed">
rpm-build d9acb6
    <element name="atom:feed">
rpm-build d9acb6
      <s:rule context="atom:feed">
rpm-build d9acb6
        <s:assert test="atom:author or not(atom:entry[not(atom:author)])">An atom:feed must have an atom:author unless all of its atom:entry children have an atom:author.</s:assert>
rpm-build d9acb6
      </s:rule>
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <interleave>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomAuthor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomCategory"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomContributor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomGenerator"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomIcon"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <ref name="atomId"/>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomLink"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomLogo"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomRights"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomSubtitle"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <ref name="atomTitle"/>
rpm-build d9acb6
        <ref name="atomUpdated"/>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="extensionElement"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
      </interleave>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <ref name="atomEntry"/>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomEntry">
rpm-build d9acb6
    <element name="atom:entry">
rpm-build d9acb6
      <s:rule context="atom:entry">
rpm-build d9acb6
        <s:assert test="atom:link[@rel='alternate'] or atom:link[not(@rel)] or atom:content">An atom:entry must have at least one atom:link element with a rel attribute of 'alternate' or an atom:content.</s:assert>
rpm-build d9acb6
      </s:rule>
rpm-build d9acb6
      <s:rule context="atom:entry">
rpm-build d9acb6
        <s:assert test="atom:author or ../atom:author or atom:source/atom:author">An atom:entry must have an atom:author if its feed does not.</s:assert>
rpm-build d9acb6
      </s:rule>
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <interleave>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomAuthor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomCategory"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomContent"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomContributor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <ref name="atomId"/>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomLink"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomPublished"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomRights"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomSource"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomSummary"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <ref name="atomTitle"/>
rpm-build d9acb6
        <ref name="atomUpdated"/>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="extensionElement"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
      </interleave>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomInlineTextContent">
rpm-build d9acb6
    <element name="atom:content">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="type">
rpm-build d9acb6
          <choice>
rpm-build d9acb6
            <value>text</value>
rpm-build d9acb6
            <value>html</value>
rpm-build d9acb6
          </choice>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <text/>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomInlineXHTMLContent">
rpm-build d9acb6
    <element name="atom:content">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <attribute name="type">
rpm-build d9acb6
        <value>xhtml</value>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
      <ref name="xhtmlDiv"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomInlineOtherContent">
rpm-build d9acb6
    <element name="atom:content">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="type">
rpm-build d9acb6
          <ref name="atomMediaType"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <text/>
rpm-build d9acb6
          <ref name="anyElement"/>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomOutOfLineContent">
rpm-build d9acb6
    <element name="atom:content">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="type">
rpm-build d9acb6
          <ref name="atomMediaType"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <attribute name="src">
rpm-build d9acb6
        <ref name="atomUri"/>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
      <empty/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="atomContent">
rpm-build d9acb6
    <choice>
rpm-build d9acb6
      <ref name="atomInlineTextContent"/>
rpm-build d9acb6
      <ref name="atomInlineXHTMLContent"/>
rpm-build d9acb6
      <ref name="atomInlineOtherContent"/>
rpm-build d9acb6
      <ref name="atomOutOfLineContent"/>
rpm-build d9acb6
    </choice>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomAuthor">
rpm-build d9acb6
    <element name="atom:author">
rpm-build d9acb6
      <ref name="atomPersonConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomCategory">
rpm-build d9acb6
    <element name="atom:category">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <attribute name="term"/>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="scheme">
rpm-build d9acb6
          <ref name="atomUri"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="label"/>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <ref name="undefinedContent"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomContributor">
rpm-build d9acb6
    <element name="atom:contributor">
rpm-build d9acb6
      <ref name="atomPersonConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomGenerator">
rpm-build d9acb6
    <element name="atom:generator">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="uri">
rpm-build d9acb6
          <ref name="atomUri"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="version"/>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <text/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomIcon">
rpm-build d9acb6
    <element name="atom:icon">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <ref name="atomUri"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomId">
rpm-build d9acb6
    <element name="atom:id">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <ref name="atomUri"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomLogo">
rpm-build d9acb6
    <element name="atom:logo">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <ref name="atomUri"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomLink">
rpm-build d9acb6
    <element name="atom:link">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <attribute name="href">
rpm-build d9acb6
        <ref name="atomUri"/>
rpm-build d9acb6
      </attribute>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="rel">
rpm-build d9acb6
          <choice>
rpm-build d9acb6
            <ref name="atomNCName"/>
rpm-build d9acb6
            <ref name="atomUri"/>
rpm-build d9acb6
          </choice>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="type">
rpm-build d9acb6
          <ref name="atomMediaType"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="hreflang">
rpm-build d9acb6
          <ref name="atomLanguageTag"/>
rpm-build d9acb6
        </attribute>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="title"/>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <optional>
rpm-build d9acb6
        <attribute name="length"/>
rpm-build d9acb6
      </optional>
rpm-build d9acb6
      <ref name="undefinedContent"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomPublished">
rpm-build d9acb6
    <element name="atom:published">
rpm-build d9acb6
      <ref name="atomDateConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomRights">
rpm-build d9acb6
    <element name="atom:rights">
rpm-build d9acb6
      <ref name="atomTextConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomSource">
rpm-build d9acb6
    <element name="atom:source">
rpm-build d9acb6
      <ref name="atomCommonAttributes"/>
rpm-build d9acb6
      <interleave>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomAuthor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomCategory"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomContributor"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomGenerator"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomIcon"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomId"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="atomLink"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomLogo"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomRights"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomSubtitle"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomTitle"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <optional>
rpm-build d9acb6
          <ref name="atomUpdated"/>
rpm-build d9acb6
        </optional>
rpm-build d9acb6
        <zeroOrMore>
rpm-build d9acb6
          <ref name="extensionElement"/>
rpm-build d9acb6
        </zeroOrMore>
rpm-build d9acb6
      </interleave>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomSubtitle">
rpm-build d9acb6
    <element name="atom:subtitle">
rpm-build d9acb6
      <ref name="atomTextConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomSummary">
rpm-build d9acb6
    <element name="atom:summary">
rpm-build d9acb6
      <ref name="atomTextConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomTitle">
rpm-build d9acb6
    <element name="atom:title">
rpm-build d9acb6
      <ref name="atomTextConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomUpdated">
rpm-build d9acb6
    <element name="atom:updated">
rpm-build d9acb6
      <ref name="atomDateConstruct"/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomNCName">
rpm-build d9acb6
    <data type="string">
rpm-build d9acb6
      <param name="minLength">1</param>
rpm-build d9acb6
      <param name="pattern">[^:]*</param>
rpm-build d9acb6
    </data>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomMediaType">
rpm-build d9acb6
    <data type="string">
rpm-build d9acb6
      <param name="pattern">.+/.+</param>
rpm-build d9acb6
    </data>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomLanguageTag">
rpm-build d9acb6
    <data type="string">
rpm-build d9acb6
      <param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
rpm-build d9acb6
    </data>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
    Unconstrained; it's not entirely clear how IRI fit into
rpm-build d9acb6
    xsd:anyURI so let's not try to constrain it here
rpm-build d9acb6
  -->
rpm-build d9acb6
  <define name="atomUri">
rpm-build d9acb6
    <text/>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="atomEmailAddress">
rpm-build d9acb6
    <data type="string">
rpm-build d9acb6
      <param name="pattern">.+@.+</param>
rpm-build d9acb6
    </data>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="simpleExtensionElement">
rpm-build d9acb6
    <element>
rpm-build d9acb6
      <anyName>
rpm-build d9acb6
        <except>
rpm-build d9acb6
          <nsName ns="http://www.w3.org/2005/Atom"/>
rpm-build d9acb6
        </except>
rpm-build d9acb6
      </anyName>
rpm-build d9acb6
      <text/>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="structuredExtensionElement">
rpm-build d9acb6
    <element>
rpm-build d9acb6
      <anyName>
rpm-build d9acb6
        <except>
rpm-build d9acb6
          <nsName ns="http://www.w3.org/2005/Atom"/>
rpm-build d9acb6
        </except>
rpm-build d9acb6
      </anyName>
rpm-build d9acb6
      <choice>
rpm-build d9acb6
        <group>
rpm-build d9acb6
          <oneOrMore>
rpm-build d9acb6
            <attribute>
rpm-build d9acb6
              <anyName/>
rpm-build d9acb6
            </attribute>
rpm-build d9acb6
          </oneOrMore>
rpm-build d9acb6
          <zeroOrMore>
rpm-build d9acb6
            <choice>
rpm-build d9acb6
              <text/>
rpm-build d9acb6
              <ref name="anyElement"/>
rpm-build d9acb6
            </choice>
rpm-build d9acb6
          </zeroOrMore>
rpm-build d9acb6
        </group>
rpm-build d9acb6
        <group>
rpm-build d9acb6
          <zeroOrMore>
rpm-build d9acb6
            <attribute>
rpm-build d9acb6
              <anyName/>
rpm-build d9acb6
            </attribute>
rpm-build d9acb6
          </zeroOrMore>
rpm-build d9acb6
          <group>
rpm-build d9acb6
            <optional>
rpm-build d9acb6
              <text/>
rpm-build d9acb6
            </optional>
rpm-build d9acb6
            <oneOrMore>
rpm-build d9acb6
              <ref name="anyElement"/>
rpm-build d9acb6
            </oneOrMore>
rpm-build d9acb6
            <zeroOrMore>
rpm-build d9acb6
              <choice>
rpm-build d9acb6
                <text/>
rpm-build d9acb6
                <ref name="anyElement"/>
rpm-build d9acb6
              </choice>
rpm-build d9acb6
            </zeroOrMore>
rpm-build d9acb6
          </group>
rpm-build d9acb6
        </group>
rpm-build d9acb6
      </choice>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="extensionElement">
rpm-build d9acb6
    <choice>
rpm-build d9acb6
      <ref name="simpleExtensionElement"/>
rpm-build d9acb6
      <ref name="structuredExtensionElement"/>
rpm-build d9acb6
    </choice>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="undefinedAttribute">
rpm-build d9acb6
    <attribute>
rpm-build d9acb6
      <anyName>
rpm-build d9acb6
        <except>
rpm-build d9acb6
          <name>xml:base</name>
rpm-build d9acb6
          <name>xml:lang</name>
rpm-build d9acb6
          <nsName ns=""/>
rpm-build d9acb6
        </except>
rpm-build d9acb6
      </anyName>
rpm-build d9acb6
    </attribute>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="undefinedContent">
rpm-build d9acb6
    <zeroOrMore>
rpm-build d9acb6
      <choice>
rpm-build d9acb6
        <text/>
rpm-build d9acb6
        <ref name="anyForeignElement"/>
rpm-build d9acb6
      </choice>
rpm-build d9acb6
    </zeroOrMore>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="anyElement">
rpm-build d9acb6
    <element>
rpm-build d9acb6
      <anyName/>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <attribute>
rpm-build d9acb6
            <anyName/>
rpm-build d9acb6
          </attribute>
rpm-build d9acb6
          <text/>
rpm-build d9acb6
          <ref name="anyElement"/>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="anyForeignElement">
rpm-build d9acb6
    <element>
rpm-build d9acb6
      <anyName>
rpm-build d9acb6
        <except>
rpm-build d9acb6
          <nsName ns="http://www.w3.org/2005/Atom"/>
rpm-build d9acb6
        </except>
rpm-build d9acb6
      </anyName>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <attribute>
rpm-build d9acb6
            <anyName/>
rpm-build d9acb6
          </attribute>
rpm-build d9acb6
          <text/>
rpm-build d9acb6
          <ref name="anyElement"/>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  
rpm-build d9acb6
  <define name="anyXHTML">
rpm-build d9acb6
    <element>
rpm-build d9acb6
      <nsName ns="http://www.w3.org/1999/xhtml"/>
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <attribute>
rpm-build d9acb6
            <anyName/>
rpm-build d9acb6
          </attribute>
rpm-build d9acb6
          <text/>
rpm-build d9acb6
          <ref name="anyXHTML"/>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
  <define name="xhtmlDiv">
rpm-build d9acb6
    <element name="xhtml:div">
rpm-build d9acb6
      <zeroOrMore>
rpm-build d9acb6
        <choice>
rpm-build d9acb6
          <attribute>
rpm-build d9acb6
            <anyName/>
rpm-build d9acb6
          </attribute>
rpm-build d9acb6
          <text/>
rpm-build d9acb6
          <ref name="anyXHTML"/>
rpm-build d9acb6
        </choice>
rpm-build d9acb6
      </zeroOrMore>
rpm-build d9acb6
    </element>
rpm-build d9acb6
  </define>
rpm-build d9acb6
</grammar>