default namespace = "urn:hatatap" namespace local = "" start = log | form | (notAllowed | element script { attribute iterations { xsd:decimal }?, attribute threads { xsd:decimal }?, attribute useragent { xsd:string }?, attribute redirect-delay { xsd:decimal }?, attribute redirect { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, attribute refresh { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, attribute trust-ssl { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, attribute javascript { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, param*, setup?, instruction*, reset?, cleanup? }) | attachment | reset | proxy | uncheck | cleanup | click | check | submit | (notAllowed | element host { attribute ip { xsd:string }?, attribute name { xsd:string } }) | (notAllowed | element window { instruction*, attribute close { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, attribute name { xsd:string } }) | send | javascript | setup | save | header | cookie | frame | useragent | toggle | mouseover | param | auth | wait | verify | refresh save = notAllowed | element save { attribute href { xsd:string }? } cookie = notAllowed | element cookie { attribute value { xsd:string }, attribute name { xsd:string } } useragent = notAllowed | element useragent { text } setup = notAllowed | element setup { container } link = attribute select { xsd:string }?, attribute ref { xsd:string }?, attribute alt { xsd:string }?, attribute name { xsd:string }?, attribute text { xsd:string }? auth = notAllowed | element auth { attribute password { xsd:string }, attribute username { xsd:string } } instruction = click | mouseover | send | form | verify | log | save | wait | refresh | cookie | javascript | header | frame | useragent | proxy | auth | element0 click = notAllowed | element click { link, attribute url { xsd:anyURI }? } checkbox = attribute name { xsd:string }?, empty check = notAllowed | element check { checkbox } log = notAllowed | element log { attribute msg { xsd:string }? } wait = notAllowed | element wait { attribute millis { xsd:string }?, attribute seconds { xsd:string }? } element3 = element local:* { mixed { (element3 | attribute local:* { text })* } } element0 = element * { mixed { (element0 | attribute * { text })* } } element1 = element * { mixed { (element1 | attribute * { text })* } } element2 = element * { mixed { (element2 | attribute * { text })* } } container = instruction*, empty reset = notAllowed | element reset { container } uncheck = notAllowed | element uncheck { checkbox } mouseover = notAllowed | element mouseover { link } toggle = notAllowed | element toggle { checkbox } proxy = notAllowed | element proxy { attribute password { xsd:string }?, attribute username { xsd:string }?, attribute port { xsd:string }?, attribute host { xsd:string }? } cleanup = notAllowed | element cleanup { container } form = notAllowed | element form { attribute select { xsd:string }?, attribute value { xsd:string }?, attribute name { xsd:string }?, (input | check | uncheck | toggle | element3)*, submit? } refresh = notAllowed | element refresh { empty } submit = notAllowed | element submit { attribute ref { xsd:string }?, attribute value { xsd:string }?, attribute name { xsd:string }? } send = notAllowed | element send { attribute content-type { xsd:string }?, attribute method { xsd:string }?, attribute url { xsd:anyURI }, header*, element2*, attachment* } attachment = notAllowed | element attachment { attribute content-type { xsd:string }, attribute location { xsd:string }, element1* } input = notAllowed | element input { attribute content-type { xsd:string }?, attribute file { xsd:string }?, attribute option { xsd:string }?, attribute value { xsd:string }?, attribute name { xsd:string }? } javascript = notAllowed | element javascript { attribute error { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" }?, attribute evaluate { xsd:NMTOKEN "no" | xsd:NMTOKEN "true" | xsd:NMTOKEN "yes" | xsd:NMTOKEN "false" } } header = notAllowed | element header { attribute value { xsd:string }, attribute name { xsd:string } } frame = notAllowed | element frame { instruction*, attribute name { xsd:string } } verify = notAllowed | element verify { attribute msg { xsd:string }?, attribute value { xsd:string }?, attribute header { xsd:string }?, attribute cookie { xsd:string }?, attribute test { xsd:string }?, attribute title { xsd:string }?, attribute contains { xsd:string }?, attribute content-length { xsd:string }?, attribute content-type { xsd:string }?, attribute response-code { xsd:string }? } param = notAllowed | element param { attribute default { xsd:string }?, attribute name { xsd:string }? }