namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" form = element form { attlist.form, (label | field | image | separator | newline | button | link | notebook | group | hpaned | vpaned)* } attlist.form &= attribute on_write { text }? attlist.form &= [ a:defaultValue = "1" ] attribute creatable { "0" | "1" }? attlist.form &= [ a:defaultValue = "4" ] attribute col { text }? attlist.form &= attribute cursor { text }? attlist.form &= attribute scan_code { "one" | "submit" | "loop" }? attlist.form &= attribute scan_code_depends { text }? attlist.form &= attribute scan_code_states { text }? label = element label { attlist.label, empty } attlist.label &= [ a:defaultValue = "" ] attribute string { text }? attlist.label &= ( attribute name { text } | attribute id { text } ) attlist.label &= attribute states { text }? attlist.label &= [ a:defaultValue = "0.0" ] attribute xalign { text }? attlist.label &= [ a:defaultValue = "0.5" ] attribute yalign { text }? attlist.label &= [ a:defaultValue = "0" ] attribute yexpand { "0" | "1" }? attlist.label &= [ a:defaultValue = "0" ] attribute yfill { "0" | "1" }? attlist.label &= [ a:defaultValue = "0" ] attribute xexpand { "0" | "1" }? attlist.label &= [ a:defaultValue = "1" ] attribute xfill { "0" | "1" }? attlist.label &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.label &= attribute help { text }? field = element field { attlist.field, empty } attlist.field &= attribute name { text } attlist.field &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.field &= attribute widget { "binary" | "boolean" | "callto" | "char" | "date" | "datetime" | "dict" | "document" | "email" | "float" | "html" | "image" | "integer" | "many2many" | "many2one" | "multiselection" | "numeric" | "one2many" | "one2one" | "password" | "progressbar" | "pyson" | "reference" | "richtext" | "selection" | "sip" | "text" | "time" | "timedelta" | "url" }? attlist.field &= attribute fill { "0" | "1" }? attlist.field &= attribute yexpand { "0" | "1" }? attlist.field &= attribute yfill { "0" | "1" }? attlist.field &= attribute empty { "0" | "1" }? attlist.field &= [ a:defaultValue = "1" ] attribute xexpand { "0" | "1" }? attlist.field &= [ a:defaultValue = "1" ] attribute xfill { "0" | "1" }? attlist.field &= [ a:defaultValue = "0.0" ] attribute xalign { text }? attlist.field &= [ a:defaultValue = "0.5" ] attribute yalign { text }? attlist.field &= attribute help { text }? attlist.field &= attribute width { text }? attlist.field &= attribute height { text }? attlist.field &= attribute readonly { "0" | "1" }? attlist.field &= [ a:defaultValue = "0" ] attribute tree_invisible { "0" | "1" }? attlist.field &= attribute mode { text }? attlist.field &= attribute view_ids { text }? attlist.field &= attribute product { text }? attlist.field &= [ a:defaultValue = "0" ] attribute invisible { "0" | "1" }? attlist.field &= [ a:defaultValue = "1" ] attribute create { "0" | "1" }? attlist.field &= [ a:defaultValue = "1" ] attribute delete { "0" | "1" }? attlist.field &= [ a:defaultValue = "left_to_right" ] attribute orientation { "left_to_right" | "right_to_left" | "bottom_to_top" | "top_to_bottom" }? attlist.field &= attribute spell { text }? attlist.field &= [a:defaultValue = "0"] attribute filename_visible { "0" | "1" }? attlist.field &= [a:defaultValue = "0"] attribute pre_validate { "0" | "1" }? attlist.field &= attribute icon { text }? attlist.field &= [a:defaultValue = "1"] attribute completion { "0" | "1" }? attlist.field &= attribute string { text }? attlist.field &= [a:defaultValue = "1"] attribute factor { text }? attlist.field &= attribute filename { text }? attlist.field &= attribute help_field { text }? attlist.field &= [a:defaultValue = "0"] attribute toolbar { "0" | "1" }? attlist.field &= attribute symbol { text }? attlist.field &= [a:defaultValue = "1"] attribute grouping { "0" | "1" }? attlist.field &= [a:defaultValue = "square"] attribute border { "square" | "circle" | "rounded" }? attlist.field &= attribute loading { "lazy" | "eager" }? image = element image { attlist.image, empty } attlist.image &= attribute name { text } attlist.image &= [a:defaultValue = "icon"] attribute type { "icon" | "url" }? attlist.image &= attribute url_size { text }? attlist.image &= [a:defaultValue = "square"] attribute border { "square" | "circle" | "rounded" }? attlist.image &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.image &= [ a:defaultValue = "0" ] attribute yexpand { "0" | "1" }? attlist.image &= [ a:defaultValue = "0" ] attribute yfill { "0" | "1" }? attlist.image &= [ a:defaultValue = "1" ] attribute xexpand { "0" | "1" }? attlist.image &= [ a:defaultValue = "48" ] attribute size {text }? attlist.image &= [ a:defaultValue = "0" ] attribute xfill { "0" | "1" }? attlist.image &= attribute help { text }? attlist.image &= attribute states { text }? separator = element separator { attlist.separator, empty } attlist.separator &= [ a:defaultValue = "" ] attribute string { text }? attlist.separator &= ( attribute name { text } | attribute id { text} ) attlist.separator &= attribute states { text }? attlist.separator &= [ a:defaultValue = "0.0" ] attribute xalign { text }? attlist.separator &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.separator &= [ a:defaultValue = "0" ] attribute yexpand { "0" | "1" }? attlist.separator &= [ a:defaultValue = "0" ] attribute yfill { "0" | "1" }? attlist.separator &= [ a:defaultValue = "1" ] attribute xexpand { "0" | "1" }? attlist.separator &= [ a:defaultValue = "0" ] attribute xfill { "0" | "1" }? attlist.separator &= attribute help { text }? newline = element newline { attlist.newline, empty } attlist.newline &= empty button = element button { attlist.button, empty } attlist.button &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.button &= attribute help { text }? attlist.button &= attribute string { text }? attlist.button &= attribute icon { text }? attlist.button &= attribute confirm { text }? attlist.button &= attribute name { text } attlist.button &= attribute states { text }? attlist.button &= [ a:defaultValue = "0" ] attribute yexpand { "0" | "1" }? attlist.button &= [ a:defaultValue = "0" ] attribute yfill { "0" | "1" }? attlist.button &= [ a:defaultValue = "1" ] attribute xexpand { "0" | "1" }? attlist.button &= [ a:defaultValue = "0" ] attribute xfill { "0" | "1" }? attlist.button &= [ a:defaultValue="action" ] attribute keyword { "relate" | "print" | "action" }? attlist.button &= [ a:defaultValue = "0" ] attribute rule { "0" | "1" }? attlist.button &= attribute change { text }? attlist.button &= attribute type { "class" | "instance" }? link = element link { attlist.link, empty } attlist.link &= attribute name { text } attlist.link &= attribute id { text }? attlist.link &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.link &= attribute states { text }? attlist.link &= attribute icon { text }? attlist.link &= [ a:defaultValue = "show" ] attribute empty { "show" | "hide" }? notebook = element notebook { attlist.notebook, page* } attlist.notebook &= [ a:defaultValue = "4" ] attribute colspan { text }? attlist.notebook &= [ a:defaultValue = "1" ] attribute yexpand { "0" | "1" }? attlist.notebook &= [ a:defaultValue = "1" ] attribute yfill { "0" | "1" }? attlist.notebook &= attribute states { text }? attlist.notebook &= attribute width { text }? attlist.notebook &= attribute height { text }? page = element page { attlist.page, (label | field | image | separator | newline | button | link | notebook | group | hpaned | vpaned)* } attlist.page &= attribute angle { text }? attlist.page &= attribute icon { text }? attlist.page &= [ a:defaultValue = "Unknown" ] attribute string { text }? attlist.page &= [ a:defaultValue = "4" ] attribute col { text }? attlist.page &= ( attribute name { text } | attribute id { text } ) attlist.page &= attribute states { text }? group = element group { attlist.group, (label | field | image | separator | newline | button | link | notebook | group | hpaned | vpaned)* } attlist.group &= attribute string { text }? attlist.group &= [ a:defaultValue = "1" ] attribute colspan { text }? attlist.group &= [ a:defaultValue = "0" ] attribute yexpand { "0" | "1" }? attlist.group &= [ a:defaultValue = "1" ] attribute yfill { "0" | "1" }? attlist.group &= [ a:defaultValue = "0.5" ] attribute yalign { text }? attlist.group &= [ a:defaultValue = "0" ] attribute xexpand { "0" | "1" }? attlist.group &= [ a:defaultValue = "1" ] attribute xfill { "0" | "1" }? attlist.group &= [ a:defaultValue = "0.5" ] attribute xalign { text }? attlist.group &= [ a:defaultValue = "1" ] attribute rowspan { text }? attlist.group &= [ a:defaultValue = "4" ] attribute col { text }? attlist.group &= ( attribute name { text } | attribute id { text } ) attlist.group &= attribute states { text }? attlist.group &= [ a:defaultValue = "0" ] attribute homogeneous { "0" | "1" }? attlist.group &= attribute expandable { "0" | "1" }? hpaned = element hpaned { attlist.paned, child* } vpaned = element vpaned { attlist.paned, child* } attlist.paned &= [ a:defaultValue = "4" ] attribute colspan { text }? attlist.paned &= attribute position { text }? attlist.paned &= attribute id { text } child = element child { attlist.child, (label | field | image | separator | newline | button | link | notebook | group | hpaned | vpaned)* } attlist.child &= attribute id { text } data = element data { attlist.data, xpath* } attlist.data &= empty xpath = element xpath { attlist.xpath, (label | field | image | separator | newline | button | link | notebook | group | hpaned | vpaned | form | page | child)* } attlist.xpath &= attribute expr { text } attlist.xpath &= [ a:defaultValue = "inside" ] attribute position { "inside" | "replace" | "replace_attributes" | "after" | "before" }? start = data | form