Table of Contents
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="trigger">
<element name="trigger">
<attribute name="ns">
<data type="string"/>
</attribute>
<attribute name="nameList">
<list>
<oneOrMore>
<data type="NCName"/>
</oneOrMore>
</list>
</attribute>
</element>
</define><element name="trigger">
<attribute name="ns">
<data type="string"/>
</attribute>
<attribute name="nameList">
<list>
<oneOrMore>
<data type="NCName"/>
</oneOrMore>
</list>
</attribute>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mode">
<element name="mode">
<attribute name="name">
<data type="NCName"/>
</attribute>
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
</define><element name="mode">
<attribute name="name">
<data type="NCName"/>
</attribute>
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="includedMode">
<element name="mode">
<optional>
<attribute name="name">
<data type="NCName"/>
</attribute>
</optional>
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
</define><element name="mode">
<optional>
<attribute name="name">
<data type="NCName"/>
</attribute>
</optional>
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="rule">
<choice>
<element name="namespace">
<attribute name="ns">
<data type="string"/>
</attribute>
<optional>
<attribute name="wildCard">
<data type="string">
<param name="maxLength">1</param>
</data>
</attribute>
</optional>
<ref name="ruleModel"/>
</element>
<element name="anyNamespace">
<ref name="ruleModel"/>
</element>
</choice>
</define><choice>
<element name="namespace">
<attribute name="ns">
<data type="string"/>
</attribute>
<optional>
<attribute name="wildCard">
<data type="string">
<param name="maxLength">1</param>
</data>
</attribute>
</optional>
<ref name="ruleModel"/>
</element>
<element name="anyNamespace">
<ref name="ruleModel"/>
</element>
</choice>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="ruleModel">
<optional>
<attribute name="match">
<ref name="elementsOrAttributes"/>
</attribute>
</optional>
<ref name="actions"/>
</define><optional>
<attribute name="match">
<ref name="elementsOrAttributes"/>
</attribute>
</optional><ref name="actions"/>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="elementsOrAttributes">
<list>
<choice>
<group>
<value>elements</value>
<value>attributes</value>
</group>
<group>
<value>attributes</value>
<value>elements</value>
</group>
<value>elements</value>
<value>attributes</value>
</choice>
</list>
</define><list>
<choice>
<group>
<value>elements</value>
<value>attributes</value>
</group>
<group>
<value>attributes</value>
<value>elements</value>
</group>
<value>elements</value>
<value>attributes</value>
</choice>
</list>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="actions">
<choice>
<ref name="cancelAction"/>
<group>
<zeroOrMore>
<ref name="noResultAction"/>
</zeroOrMore>
<choice>
<ref name="noResultAction"/>
<ref name="resultAction"/>
</choice>
<zeroOrMore>
<ref name="noResultAction"/>
</zeroOrMore>
</group>
</choice>
</define><choice>
<ref name="cancelAction"/>
<group>
<zeroOrMore>
<ref name="noResultAction"/>
</zeroOrMore>
<choice>
<ref name="noResultAction"/>
<ref name="resultAction"/>
</choice>
<zeroOrMore>
<ref name="noResultAction"/>
</zeroOrMore>
</group>
</choice>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="cancelAction">
<element name="cancelNestedActions">
<empty/>
</element>
</define><element name="cancelNestedActions">
<empty/>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="noResultAction">
<choice>
<element name="validate">
<optional>
<ref name="schemaType"/>
</optional>
<zeroOrMore>
<choice>
<ref name="message"/>
<ref name="option"/>
</choice>
</zeroOrMore>
<ref name="schema"/>
<ref name="modeUsage"/>
</element>
<element>
<choice>
<name>allow</name>
<name>reject</name>
</choice>
<zeroOrMore>
<ref name="message"/>
</zeroOrMore>
<ref name="modeUsage"/>
</element>
</choice>
</define><choice>
<element name="validate">
<optional>
<ref name="schemaType"/>
</optional>
<zeroOrMore>
<choice>
<ref name="message"/>
<ref name="option"/>
</choice>
</zeroOrMore>
<ref name="schema"/>
<ref name="modeUsage"/>
</element>
<element>
<choice>
<name>allow</name>
<name>reject</name>
</choice>
<zeroOrMore>
<ref name="message"/>
</zeroOrMore>
<ref name="modeUsage"/>
</element>
</choice>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="schema">
<choice>
<attribute name="schema">
<data type="anyURI"/>
</attribute>
<element name="schema">
<choice>
<text/>
<ref name="foreignElement"/>
</choice>
</element>
</choice>
</define><choice>
<attribute name="schema">
<data type="anyURI"/>
</attribute>
<element name="schema">
<choice>
<text/>
<ref name="foreignElement"/>
</choice>
</element>
</choice>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="message">
<choice>
<attribute name="message"/>
<element name="message">
<interleave>
<text/>
<optional>
<attribute name="xml:lang"/>
</optional>
</interleave>
</element>
</choice>
</define><choice>
<attribute name="message"/>
<element name="message">
<interleave>
<text/>
<optional>
<attribute name="xml:lang"/>
</optional>
</interleave>
</element>
</choice>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="resultAction">
<element>
<choice>
<name>attach</name>
<name>attachPlaceholder</name>
<name>unwrap</name>
</choice>
<zeroOrMore>
<ref name="message"/>
</zeroOrMore>
<ref name="modeUsage"/>
</element>
</define><element>
<choice>
<name>attach</name>
<name>attachPlaceholder</name>
<name>unwrap</name>
</choice>
<zeroOrMore>
<ref name="message"/>
</zeroOrMore>
<ref name="modeUsage"/>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="option">
<element name="option">
<attribute name="name">
<data type="anyURI"/>
</attribute>
<optional>
<attribute name="arg"/>
</optional>
<optional>
<attribute name="mustSupport">
<data type="boolean"/>
</attribute>
</optional>
</element>
</define><element name="option">
<attribute name="name">
<data type="anyURI"/>
</attribute>
<optional>
<attribute name="arg"/>
</optional>
<optional>
<attribute name="mustSupport">
<data type="boolean"/>
</attribute>
</optional>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="modeUsage">
<optional>
<choice>
<attribute name="useMode">
<data type="NCName"/>
</attribute>
<ref name="nestedMode"/>
</choice>
</optional>
<zeroOrMore>
<element name="context">
<attribute name="path">
<ref name="path"/>
</attribute>
<optional>
<choice>
<attribute name="useMode">
<data type="NCName"/>
</attribute>
<ref name="nestedMode"/>
</choice>
</optional>
</element>
</zeroOrMore>
</define><optional>
<choice>
<attribute name="useMode">
<data type="NCName"/>
</attribute>
<ref name="nestedMode"/>
</choice>
</optional><zeroOrMore>
<element name="context">
<attribute name="path">
<ref name="path"/>
</attribute>
<optional>
<choice>
<attribute name="useMode">
<data type="NCName"/>
</attribute>
<ref name="nestedMode"/>
</choice>
</optional>
</element>
</zeroOrMore>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="nestedMode">
<element name="mode">
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
</define><element name="mode">
<zeroOrMore>
<ref name="includedMode"/>
</zeroOrMore>
<zeroOrMore>
<ref name="rule"/>
</zeroOrMore>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="schemaType">
<attribute name="schemaType">
<ref name="mediaType"/>
</attribute>
</define><attribute name="schemaType">
<ref name="mediaType"/>
</attribute>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mediaType">
<!--5.1 of RFC 2045 allows <any (US-ASCII) CHAR except SPACE, CTLs,
or tspecials>, where
tspecials := "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / <">
"/" / "[" / "]" / "?" / "="
-->
<data type="string">
<param name="pattern">\s*[0-9A-Za-z!#$%&'\*\+\-\.\^_`\{\|\}~]*/[0-9A-Za-z!#$%&'\*\+\-\.\^_`\{\|\}~]*\s*</param>
</data>
</define>
<!--5.1 of RFC 2045 allows <any (US-ASCII) CHAR except SPACE, CTLs,
or tspecials>, where
tspecials := "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / <">
"/" / "[" / "]" / "?" / "="
--><data type="string">
<param name="pattern">\s*[0-9A-Za-z!#$%&'\*\+\-\.\^_`\{\|\}~]*/[0-9A-Za-z!#$%&'\*\+\-\.\^_`\{\|\}~]*\s*</param>
</data>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="path">
<data type="string">
<param name="pattern">\s*(/\s*)?\i\c*(\s*/\s*\i\c*)*\s*(\|\s*(/\s*)?\i\c*(\s*/\s*\i\c*)*\s*)*</param>
</data>
</define><data type="string">
<param name="pattern">\s*(/\s*)?\i\c*(\s*/\s*\i\c*)*\s*(\|\s*(/\s*)?\i\c*(\s*/\s*\i\c*)*\s*)*</param>
</data>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="foreignElement">
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="anyElement"/>
</zeroOrMore>
</mixed>
</element>
</define><element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="anyElement"/>
</zeroOrMore>
</mixed>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="anyElement">
<element>
<anyName/>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="anyElement"/>
</zeroOrMore>
</mixed>
</element>
</define><element>
<anyName/>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="anyElement"/>
</zeroOrMore>
</mixed>
</element>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="foreignAttribute">
<attribute>
<anyName>
<except>
<nsName/>
<nsName ns=""/>
</except>
</anyName>
</attribute>
</define><attribute>
<anyName>
<except>
<nsName/>
<nsName ns=""/>
</except>
</anyName>
</attribute>
<define xmlns:nvdl="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="foreign">
<zeroOrMore>
<ref name="foreignAttribute"/>
</zeroOrMore>
<zeroOrMore>
<ref name="foreignElement"/>
</zeroOrMore>
</define><zeroOrMore>
<ref name="foreignAttribute"/>
</zeroOrMore><zeroOrMore>
<ref name="foreignElement"/>
</zeroOrMore>