1<?xml version="1.0" encoding="iso-8859-1"?> 2<!-- Client-side Image Map Module --> 3<grammar xmlns="http://relaxng.org/ns/structure/1.0"> 4 5<define name="area"> 6 <element name="area"> 7 <ref name="area.attlist"/> 8 </element> 9</define> 10 11<define name="area.attlist"> 12 <ref name="Common.attrib"/> 13 <optional> 14 <attribute name="href"> 15 <ref name="URI.datatype"/> 16 </attribute> 17 </optional> 18 <ref name="shape.attrib"/> 19 <ref name="coords.attrib"/> 20 <optional> 21 <attribute name="nohref"> 22 <value>nohref</value> 23 </attribute> 24 </optional> 25 <attribute name="alt"> 26 <ref name="Text.datatype"/> 27 </attribute> 28 <optional> 29 <attribute name="tabindex"> 30 <ref name="Number.datatype"/> 31 </attribute> 32 </optional> 33 <optional> 34 <attribute name="accesskey"> 35 <ref name="Character.datatype"/> 36 </attribute> 37 </optional> 38</define> 39 40<define name="map"> 41 <element name="map"> 42 <ref name="map.attlist"/> 43 <oneOrMore> 44 <choice> 45 <!-- This does not use Block.mix 46 because loose.dtd doesn't use %Flow; --> 47 <ref name="Block.class"/> 48 <ref name="area"/> 49 </choice> 50 </oneOrMore> 51 </element> 52</define> 53 54<define name="map.attlist"> 55 <ref name="CommonIdRequired.attrib"/> 56</define> 57 58<define name="a.attlist" combine="interleave"> 59 <ref name="shape.attrib"/> 60 <ref name="coords.attrib"/> 61</define> 62 63<define name="img.attlist" combine="interleave"> 64 <ref name="usemap.attlist"/> 65</define> 66 67<define name="object.attlist" combine="interleave"> 68 <ref name="usemap.attlist"/> 69</define> 70 71<define name="usemap.attlist"> 72 <optional> 73 <attribute name="usemap"> 74 <ref name="IDREF.datatype"/> 75 </attribute> 76 </optional> 77</define> 78 79<define name="shape.attrib"> 80 <optional> 81 <attribute name="shape"> 82 <choice> 83 <value>rect</value> 84 <value>circle</value> 85 <value>poly</value> 86 <value>default</value> 87 </choice> 88 </attribute> 89 </optional> 90</define> 91 92<define name="coords.attrib"> 93 <optional> 94 <attribute name="coords"/> 95 </optional> 96</define> 97 98<define name="Inline.class" combine="choice"> 99 <ref name="map"/> 100</define> 101 102</grammar>