1 <?xml version="1.0" encoding="ISO8859-1" ?> 2 <grammar xml:lang="en-us" version="1.0" root="ROOT"> 3 <!-- 4 ipaq_commands.grxml ... this is a sample which shows how to use 5 natural numbers in a grammar. It allows phrases such as 6 go to step $N .. where $N can range from 0 to 99 7 --> 8 9 <rule id="ROOT" scope="public"> 10 <one-of> 11 <item> 12 <item>center</item> 13 <item repeat="0-1"> 14 <one-of> 15 <item>here <tag>MEANING='CTR'</tag></item> 16 <item>of this <tag>MEANING='CTR'</tag></item> 17 <item>on this <tag>MEANING='CTR'</tag></item> 18 <item>on this point <tag>MEANING='CTR'</tag></item> 19 </one-of> 20 </item> 21 </item> 22 <item> 23 <item>get</item> 24 <one-of> 25 <item>a map <tag>MEANING='MAP'</tag> </item> 26 <item>directions <tag>MEANING='DIR'</tag></item> 27 <item>map <tag>MEANING='MAP'</tag></item> 28 <item>maps <tag>MEANING='MAP'</tag></item> 29 </one-of> 30 </item> 31 <item> 32 <one-of> 33 <item> 34 <item repeat="0-1">go to</item> 35 <item> 36 <one-of> 37 <item>step</item> 38 <item>steps</item> 39 </one-of> 40 </item> 41 </item> 42 <item>go to</item> 43 </one-of> 44 <ruleref uri="#NUMBER"/> 45 <tag>MEANING='STEP' + NUMBER.X;</tag> 46 </item> 47 <item>map <tag>V='MAP'</tag> </item> 48 <item> 49 <item> <one-of> 50 <item>map <tag>V='MAP'</tag> </item> 51 <item>map of<tag>V='MAP'</tag> </item> 52 <item>map of the<tag>V='MAP'</tag> </item> 53 <item>map the<tag>V='MAP'</tag> </item> 54 </one-of> </item> 55 <item> 56 <one-of> 57 <item> arrival <tag>V=V+' AP';</tag></item> 58 <item> destination <tag>V=V+' DP';</tag></item> 59 <item> end <tag>V=V+' EP';</tag></item> 60 <item> ending <tag>V=V+' EP';</tag></item> 61 <item> origin <tag>V=V+' SP';</tag></item> 62 <item> start <tag>V=V+' SP';</tag></item> 63 <item> starting <tag>V=V+' SP';</tag></item> 64 </one-of> 65 </item> 66 <item repeat="0-1"> point </item> 67 </item> 68 69 <item> 70 <item>move</item> 71 <one-of> 72 <item>down</item> 73 <item>left</item> 74 <item>right</item> 75 <item>up</item> 76 </one-of> 77 </item> 78 79 <item>next step</item> 80 81 <item>route map</item> 82 83 <item> 84 <item>zoom <tag>V='ZOOM'</tag></item> 85 <one-of> 86 <item>in <tag>V=' IN'</tag></item> 87 <item>in here <tag>V=' INH'</tag></item> 88 <item>in on this <tag>V=' INH'</tag></item> 89 <item>in on this point <tag>V=' INH'</tag></item> 90 <item>on this <tag>V=' ONH'</tag></item> 91 <item>out <tag>V=' OUT'</tag></item> 92 </one-of> 93 </item> 94 95 </one-of> 96 </rule> 97 98 <rule id="NUMBER"> 99 <one-of> 100 <item repeat="1-"> 101 <ruleref uri="#DIGIT"/> 102 <tag>X=X?X:'';X=X+DIGIT.V;</tag> 103 </item> 104 <item> 105 <ruleref uri="#TEEN"/> 106 <tag>X=X?X:'';X=X+TEEN.V;</tag> 107 </item> 108 <item> 109 <ruleref uri="#TY"/> 110 <ruleref uri="#NZ_DIGIT"/> 111 <tag>X=X?X:'';X=X+TY.V+NZ_DIGIT.V;</tag> 112 </item> 113 <item> 114 <ruleref uri="#TY"/> 115 <tag>X=X?X:'';X=X+TY.V+'0';</tag> 116 </item> 117 </one-of> 118 </rule> 119 120 <rule id="DIGIT"> 121 <one-of> 122 <item> oh <tag>V='0'</tag> </item> 123 <item> zero <tag>V='0'</tag> </item> 124 <item> one <tag>V='1'</tag> </item> 125 <item> two <tag>V='2'</tag> </item> 126 <item> three <tag>V='3'</tag> </item> 127 <item> four <tag>V='4'</tag> </item> 128 <item> five <tag>V='5'</tag> </item> 129 <item> six <tag>V='6'</tag> </item> 130 <item> seven <tag>V='7'</tag> </item> 131 <item> eight <tag>V='8'</tag> </item> 132 <item> nine <tag>V='9'</tag> </item> 133 </one-of> 134 </rule> 135 136 <rule id="NZ_DIGIT"> 137 <one-of> 138 <item> one <tag>V='1'</tag> </item> 139 <item> two <tag>V='2'</tag> </item> 140 <item> three <tag>V='3'</tag> </item> 141 <item> four <tag>V='4'</tag> </item> 142 <item> five <tag>V='5'</tag> </item> 143 <item> six <tag>V='6'</tag> </item> 144 <item> seven <tag>V='7'</tag> </item> 145 <item> eight <tag>V='8'</tag> </item> 146 <item> nine <tag>V='9'</tag> </item> 147 </one-of> 148 </rule> 149 150 <rule id="TEEN"> 151 <one-of> 152 <item> nineteen <tag>V='19'</tag> </item> 153 <item> eighteen <tag>V='18'</tag> </item> 154 <item> seventeen <tag>V='17'</tag> </item> 155 <item> sixteen <tag>V='16'</tag> </item> 156 <item> fifteen <tag>V='15'</tag> </item> 157 <item> fourteen <tag>V='14'</tag> </item> 158 <item> thirteen <tag>V='13'</tag> </item> 159 <item> twelve <tag>V='12'</tag> </item> 160 <item> eleven <tag>V='11'</tag> </item> 161 <item> ten <tag>V='10'</tag> </item> 162 </one-of> 163 </rule> 164 165 <rule id="TY"> 166 <one-of> 167 <item> ninety <tag>V='9'</tag> </item> 168 <item> eighty <tag>V='8'</tag> </item> 169 <item> seventy <tag>V='7'</tag> </item> 170 <item> sixty <tag>V='6'</tag> </item> 171 <item> fifty <tag>V='5'</tag> </item> 172 <item> forty <tag>V='4'</tag> </item> 173 <item> thirty <tag>V='3'</tag> </item> 174 <item> twenty <tag>V='2'</tag> </item> 175 </one-of> 176 </rule> 177 178 179 </grammar> 180