namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" tryton = element tryton { attlist.tryton, data* } attlist.tryton &= empty data = element data { attlist.data, (record | menuitem)* } attlist.data &= [ a:defaultValue = "0" ] attribute noupdate { "0" | "1" }? attlist.data &= [ a:defaultValue = "0" ] attribute grouped { "0" | "1" }? attlist.data &= attribute depends { text }? attlist.data &= attribute language { text }? record = element record { attlist.record, field* } attlist.record &= attribute model { text } attlist.record &= attribute id { text } attlist.record &= [ a:defaultValue = "0" ] attribute update { "0" | "1" }? field = element field { attlist.field, text } attlist.field &= attribute name { text } attlist.field &= attribute search { text }? attlist.field &= attribute ref { text }? attlist.field &= attribute eval { text }? attlist.field &= attribute pyson { "0" | "1" }? attlist.field &= attribute type { "xml" }? attlist.field &= attribute depends { text }? menuitem = element menuitem { attlist.menuitem, empty } attlist.menuitem &= attribute id { text } attlist.menuitem &= attribute name { text }? attlist.menuitem &= attribute icon { text }? attlist.menuitem &= attribute sequence { text }? attlist.menuitem &= attribute parent { text }? attlist.menuitem &= attribute action { text }? attlist.menuitem &= attribute groups { text }? attlist.menuitem &= attribute active { text }? start = tryton