gtk2/gtk/gtkbuilder.rnc
Matthias Clasen 4497ac6b58 Document the gtkbuilder xml file better
Replace the (invalid) DTD in the GtkBuilder docs by a
RELAX NG schema. Also install the schema in /usr/share/gtk-3.0,
so it can be used to validate GtkBuilder ui files.
2012-01-30 20:32:22 -05:00

87 lines
1.8 KiB
Plaintext

start = element interface {
attribute domain { text } ?,
( requires | object | menu ) *
}
requires = element requires {
attribute lib { text },
attribute version { text }
}
object = element object {
attribute id { xsd:ID },
attribute class { text },
attribute type-func { text } ?,
attribute constructor { text } ?,
(property | signal | child | ANY) *
}
property = element property {
attribute name { text },
attribute translatable { "yes" | "no" } ?,
attribute comments { text } ?,
attribute context { text } ?,
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) *
}
ANY = element * - (interface | requires | object | property | signal | child | menu | item | attribute | link | submenu | section) {
attribute * { text } *,
(ALL * & text ?)
}
ALL = element * {
attribute * { text } *,
(ALL * & text ?)
}