<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <a:documentation> d202msmil.rng This file is part of the RelaxNG/Schematron validation suite for Daisy 2.02. All Schematron assertion strings can be identifier by the intitial part of the string being: '[sch][dtb::d202][type::warning|error][msg::'. Last edit by: mgylling 2006-09-02 </a:documentation> <define name="URI"> <data type="string" datatypeLibrary=""/> </define> <define name="smil"> <element name="smil"> <ref name="attlist.smil"/> <ref name="head"/> <ref name="body"/> </element> </define> <define name="attlist.smil" combine="interleave"> <optional> <attribute name="id"> <data type="ID"/> </attribute> </optional> </define> <define name="head"> <element name="head"> <ref name="attlist.head"/> <optional> <zeroOrMore> <ref name="meta"/> </zeroOrMore> <group> <ref name="layout"/> <zeroOrMore> <ref name="meta"/> </zeroOrMore> </group> </optional> </element> </define> <define name="attlist.head" combine="interleave"> <optional> <attribute name="id"> <data type="ID"/> </attribute> </optional> </define> <define name="meta"> <element name="meta"> <ref name="attlist.meta"/> <empty/> </element> </define> <define name="attlist.meta" combine="interleave"> <attribute name="name"> <data type="NMTOKEN"/> </attribute> <attribute name="content"/> </define> <define name="layout"> <element name="layout"> <ref name="attlist.layout"/> <ref name="region"/> </element> </define> <define name="attlist.layout" combine="interleave"> <optional> <attribute name="id"> <data type="ID"/> </attribute> </optional> </define> <define name="region"> <element name="region"> <ref name="attlist.region"/> <empty/> </element> </define> <define name="attlist.region" combine="interleave"> <attribute name="id"> <data type="ID"/> </attribute> </define> <define name="body"> <element name="body"> <ref name="attlist.body"/> <oneOrMore> <ref name="ref"/> </oneOrMore> </element> </define> <define name="attlist.body" combine="interleave"> <empty/> </define> <define name="ref"> <element name="ref"> <ref name="attlist.ref"/> <empty/> </element> </define> <define name="attlist.ref" combine="interleave"> <attribute name="id"> <data type="ID"/> </attribute> <optional> <attribute name="title"/> </optional> <attribute name="src"> <ref name="URI"/> </attribute> </define> <start> <choice> <ref name="smil"/> </choice> </start> </grammar>