2012-01-31 01:32:22 +00:00
|
|
|
start = element interface {
|
|
|
|
attribute domain { text } ?,
|
2013-03-20 07:33:52 +00:00
|
|
|
( requires | object | template | menu ) *
|
2012-01-31 01:32:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
requires = element requires {
|
|
|
|
attribute lib { text },
|
|
|
|
attribute version { text }
|
|
|
|
}
|
|
|
|
|
|
|
|
object = element object {
|
2013-11-18 01:15:54 +00:00
|
|
|
attribute id { xsd:ID } ?,
|
2012-01-31 01:32:22 +00:00
|
|
|
attribute class { text },
|
|
|
|
attribute type-func { text } ?,
|
|
|
|
attribute constructor { text } ?,
|
|
|
|
(property | signal | child | ANY) *
|
|
|
|
}
|
|
|
|
|
2013-03-20 07:33:52 +00:00
|
|
|
template = element template {
|
|
|
|
attribute class { text },
|
|
|
|
attribute parent { text },
|
|
|
|
(property | signal | child | ANY) *
|
|
|
|
}
|
|
|
|
|
2012-01-31 01:32:22 +00:00
|
|
|
property = element property {
|
|
|
|
attribute name { text },
|
|
|
|
attribute translatable { "yes" | "no" } ?,
|
|
|
|
attribute comments { text } ?,
|
|
|
|
attribute context { text } ?,
|
2014-04-11 19:24:04 +00:00
|
|
|
(attribute bind-source { text },
|
|
|
|
attribute bind-property { text },
|
|
|
|
attribute bind-flags { text } ?) ?,
|
2012-01-31 01:32:22 +00:00
|
|
|
text ?
|
|
|
|
}
|
|
|
|
|
|
|
|
signal = element signal {
|
|
|
|
attribute name { text },
|
|
|
|
attribute handler { text },
|
|
|
|
attribute after { text } ?,
|
|
|
|
attribute swapped { text } ?,
|
|
|
|
attribute object { text } ?,
|
|
|
|
attribute last_modification_time { text } ?,
|
|
|
|
empty
|
|
|
|
}
|
|
|
|
|
|
|
|
child = element child {
|
|
|
|
attribute type { text } ?,
|
|
|
|
attribute internal-child { text } ?,
|
|
|
|
(object | ANY)*
|
|
|
|
}
|
|
|
|
|
|
|
|
menu = element menu {
|
|
|
|
attribute id { xsd:ID },
|
|
|
|
attribute domain { text } ?,
|
|
|
|
(item | submenu | section) *
|
|
|
|
}
|
|
|
|
|
|
|
|
item = element item {
|
|
|
|
attribute id { xsd:ID } ?,
|
|
|
|
(attribute_ | link) *
|
|
|
|
}
|
|
|
|
|
|
|
|
attribute_ = element attribute {
|
|
|
|
attribute name { text },
|
|
|
|
attribute type { text } ?,
|
|
|
|
attribute translatable { "yes" | "no" } ?,
|
|
|
|
attribute context { text } ?,
|
|
|
|
attribute comments { text } ?,
|
|
|
|
text ?
|
|
|
|
}
|
|
|
|
|
|
|
|
link = element link {
|
|
|
|
attribute id { xsd:ID } ?,
|
|
|
|
attribute name { text },
|
|
|
|
item *
|
|
|
|
}
|
|
|
|
|
|
|
|
submenu = element submenu {
|
|
|
|
attribute id { xsd:ID } ?,
|
|
|
|
(attribute_ | item | submenu | section) *
|
|
|
|
}
|
|
|
|
|
|
|
|
section = element section {
|
|
|
|
attribute id { xsd:ID } ?,
|
|
|
|
(attribute_ | item | submenu | section) *
|
|
|
|
}
|
|
|
|
|
2013-03-20 07:33:52 +00:00
|
|
|
ANY = element * - (interface | requires | object | template | property | signal | child | menu | item | attribute | link | submenu | section) {
|
2012-01-31 01:32:22 +00:00
|
|
|
attribute * { text } *,
|
|
|
|
(ALL * & text ?)
|
|
|
|
}
|
|
|
|
ALL = element * {
|
|
|
|
attribute * { text } *,
|
|
|
|
(ALL * & text ?)
|
|
|
|
}
|