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.
This commit is contained in:
86
gtk/gtkbuilder.rnc
Normal file
86
gtk/gtkbuilder.rnc
Normal file
@ -0,0 +1,86 @@
|
||||
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 ?)
|
||||
}
|
||||
Reference in New Issue
Block a user