<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:zed="http://www.daisy.org/ns/zedval/testmap" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <a:documentation> attributes.rng Original version: mgylling 2005-06-01 Version/change history: </a:documentation> <include href="datatypes.rng"/> <define name="attribute.id.required"> <attribute name="id"> <ref name="datatype.id"/> </attribute> </define> <define name="attribute.id.optional"> <optional> <ref name="attribute.id.required"/> </optional> </define> <define name="attribute.href.required"> <attribute name="href"> <ref name="datatype.uri"/> </attribute> </define> <define name="attribute.href.required.z3986-2005.subset"> <attribute name="href"> <ref name="datatype.uri.z3986-2005.subset"/> </attribute> </define> <define name="attribute.href.optional.z3986-2005.subset"> <optional> <ref name="attribute.href.required.z3986-2005.subset"/> </optional> </define> <define name="attribute.href.optional"> <attribute name="href"> <ref name="datatype.uri"/> </attribute> </define> <define name="attribute.href.required.relative.smilwithfragment"> <attribute name="href"> <ref name="datatype.uri.relative.smilwithfragment"/> </attribute> </define> <define name="attribute.class.required"> <attribute name="class"> <text/> </attribute> </define> <define name="attribute.class.optional"> <optional> <ref name="attribute.class.required"/> </optional> </define> <define name="attribute.content.stringvalue"> <attribute name="content"> <ref name="datatype.string"/> </attribute> </define> <define name="attribute.content.stringvalue.required"> <ref name="attribute.content.stringvalue"/> </define> <define name="attribute.content.stringvalue.optional"> <optional> <ref name="attribute.content.stringvalue"/> </optional> </define> <define name="attribute.content.urivalue.required"> <attribute name="content"> <data type="anyURI"/> </attribute> </define> <define name="attribute.content.urivalue.optional"> <optional> <ref name="attribute.content.urivalue.required"/> </optional> </define> <define name="attribute.content.urivalue.z3986-subset.required"> <attribute name="content"> <ref name="datatype.uri.z3986-2005.subset"/> </attribute> </define> <define name="attribute.content.urivalue.z3986-subset.optional"> <optional> <ref name="attribute.content.urivalue.z3986-subset.required"/> </optional> </define> <define name="attribute.title.required"> <attribute name="title"> <text/> </attribute> </define> <define name="attribute.title.optional"> <optional> <ref name="attribute.title.required"/> </optional> </define> <define name="attribute.xml.lang.required"> <attribute name="xml:lang"> <ref name="datatype.rfc1766"/> </attribute> </define> <define name="attribute.xml.lang.optional"> <optional> <ref name="attribute.xml.lang.required"/> </optional> </define> <define name="attribute.lang.required"> <attribute name="lang"> <ref name="datatype.rfc1766"/> </attribute> </define> <define name="attribute.lang.optional"> <optional> <ref name="attribute.lang.required"/> </optional> </define> <define name="attribute.dir.required"> <attribute name="dir"> <choice> <value>ltr</value> <value>rtl</value> </choice> </attribute> </define> <define name="attribute.dir.optional"> <optional> <ref name="attribute.dir.required"/> </optional> </define> <define name="attribute.dur.required"> <attribute name="dur"> <ref name="datatype.smilclock"/> </attribute> </define> <define name="attribute.dur.optional"> <optional> <ref name="attribute.dur.required"/> </optional> </define> <define name="attribute.src.required"> <attribute name="src"> <ref name="datatype.uri"/> </attribute> </define> <define name="attribute.src.required.z3986-2005.subset"> <attribute name="src"> <ref name="datatype.uri.z3986-2005.subset"/> </attribute> </define> <define name="attribute.src.required.uri.z3986-2005.subset.relative.smilwithfragment"> <attribute name="src"> <ref name="datatype.uri.z3986-2005.subset.relative.smilwithfragment"/> </attribute> </define> <define name="attribute.src.optional.uri.z3986-2005.subset.relative.smilwithfragment"> <optional> <ref name="attribute.src.required.uri.z3986-2005.subset.relative.smilwithfragment"/> </optional> </define> <define name="attribute.src.optional"> <optional> <ref name="attribute.src.required"/> </optional> </define> <define name="attribute.src.optional.z3986-2005.subset"> <optional> <ref name="attribute.src.required.z3986-2005.subset"/> </optional> </define> <define name="attribute.clipBegin.required"> <attribute name="clipBegin"> <ref name="datatype.smilclock"/> </attribute> </define> <define name="attribute.clipBegin.optional"> <optional> <ref name="attribute.clipBegin.required"/> </optional> </define> <define name="attribute.clipEnd.required"> <attribute name="clipEnd"> <ref name="datatype.smilclock"/> </attribute> </define> <define name="attribute.clipEnd.optional"> <optional> <ref name="attribute.clipEnd.required"/> </optional> </define> <define name="attribute.customTest.required"> <attribute name="customTest"> <ref name="datatype.idref"/> </attribute> </define> <define name="attribute.customTest.optional"> <optional> <ref name="attribute.customTest.required"/> </optional> </define> <define name="attribute.region.required"> <attribute name="region"> <text/> </attribute> </define> <define name="attribute.region.optional"> <optional> <ref name="attribute.region.required"/> </optional> </define> <define name="attribute.scheme"> <attribute name="scheme"> <ref name="datatype.string"/> </attribute> </define> <define name="attribute.scheme.required"> <ref name="attribute.scheme"/> </define> <define name="attribute.scheme.optional"> <optional> <ref name="attribute.scheme"/> </optional> </define> </grammar>