c3d2-web/html5-syntax/html5exclusions.rng

74 lines
2.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
<!-- ##################################################################### -->
<start>
<a:documentation> RELAX NG Schema for (X)HTML 5: Exclusions #</a:documentation>
<!-- ##################################################################### -->
<a:documentation>This file is unmaintained. Please use assertions.sch instead.</a:documentation>
<!-- ##################################################################### -->
<a:documentation>Schema Framework &amp; Parameters</a:documentation>
<ref name="normal.elem.all-inclusive"/>
</start>
<!-- ##################################################################### -->
<define name="normal.attr.anything">
<a:documentation> Normal Element Patterns</a:documentation>
<a:documentation>Any attribute from any namespace</a:documentation>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
</define>
<define name="normal.elem.all">
<a:documentation>Any element from any namespace except exceptional elements,
but allowing those elements as descendants</a:documentation>
<element>
<anyName>
<except>
<name>dfn</name>
</except>
</anyName>
<ref name="normal.elem.all-inclusive"/>
</element>
</define>
<define name="normal.elem.all-inclusive">
<a:documentation>Any element from any namespace including exceptional elements</a:documentation>
<choice>
<ref name="wildcard.elem.exclude-all"/>
<ref name="dfn.elem.exclude-self"/>
</choice>
</define>
<!-- ##################################################################### -->
<!--
exclude all exceptional elements from the name classes;
list them explicitly in content models instead
-->
<define name="normal.elem.exclude-dfn">
<a:documentation> Exclusion Element Patterns</a:documentation>
<element>
<anyName>
<except>
<name>dfn</name>
</except>
</anyName>
<ref name="normal.elem.exclude-dfn"/>
</element>
</define>
<define name="dfn.elem.exclude-self">
<element name="dfn">
<interleave>
<ref name="normal.attr.anything"/>
<ref name="normal.elem.exclude-dfn"/>
</interleave>
</element>
</define>
<!-- FIXME this part was cut off - - hsivonen -->
<define name="wildcard.elem.exclude-all">
<notAllowed/>
</define>
</grammar>
<!-- FIXME no nested forms in HTML-serializable docs -->
<!-- FIXME no nested labels -->
<!-- FIXME no blockquote inside header or footer -->
<!-- FIXME exactly one hn in header -->