diff options
Diffstat (limited to 'tderesources/featureplan/kde-features.rng')
-rw-r--r-- | tderesources/featureplan/kde-features.rng | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/tderesources/featureplan/kde-features.rng b/tderesources/featureplan/kde-features.rng new file mode 100644 index 000000000..89a31dcb4 --- /dev/null +++ b/tderesources/featureplan/kde-features.rng @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="features"> + <element name="features"> + <ref name="attlist.features"/> + <oneOrMore> + <ref name="category"/> + </oneOrMore> + </element> + </define> + <define name="attlist.features" combine="interleave"> + <empty/> + </define> + <define name="category"> + <element name="category"> + <ref name="attlist.category"/> + <zeroOrMore> + <choice> + <ref name="feature"/> + <ref name="category"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="attlist.category" combine="interleave"> + <attribute name="name"/> + </define> + <define name="feature"> + <element name="feature"> + <ref name="attlist.feature"/> + <optional> + <ref name="summary"/> + </optional> + <zeroOrMore> + <ref name="responsible"/> + </zeroOrMore> + </element> + </define> + <define name="attlist.feature" combine="interleave"> + <optional> + <attribute name="status" a:defaultValue="todo"> + <choice> + <value>inprogress</value> + <value>todo</value> + <value>done</value> + </choice> + </attribute> + </optional> + <attribute name="target"/> + </define> + <define name="responsible"> + <element name="responsible"> + <ref name="attlist.responsible"/> + <empty/> + </element> + </define> + <define name="attlist.responsible" combine="interleave"> + <optional> + <attribute name="name"/> + </optional> + <optional> + <attribute name="email"/> + </optional> + </define> + <define name="summary"> + <element name="summary"> + <ref name="attlist.summary"/> + <zeroOrMore> + <choice> + <text/> + <ref name="i"/> + <ref name="a"/> + <ref name="b"/> + <ref name="em"/> + <ref name="strong"/> + <ref name="br"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="attlist.summary" combine="interleave"> + <empty/> + </define> + <define name="i"> + <element name="i"> + <ref name="attlist.i"/> + <text/> + </element> + </define> + <define name="attlist.i" combine="interleave"> + <empty/> + </define> + <define name="b"> + <element name="b"> + <ref name="attlist.b"/> + <text/> + </element> + </define> + <define name="attlist.b" combine="interleave"> + <empty/> + </define> + <define name="em"> + <element name="em"> + <ref name="attlist.em"/> + <text/> + </element> + </define> + <define name="attlist.em" combine="interleave"> + <empty/> + </define> + <define name="strong"> + <element name="strong"> + <ref name="attlist.strong"/> + <text/> + </element> + </define> + <define name="attlist.strong" combine="interleave"> + <empty/> + </define> + <define name="br"> + <element name="br"> + <ref name="attlist.br"/> + <empty/> + </element> + </define> + <define name="attlist.br" combine="interleave"> + <empty/> + </define> + <define name="a"> + <element name="a"> + <ref name="attlist.a"/> + <text/> + </element> + </define> + <define name="attlist.a" combine="interleave"> + <optional> + <attribute name="href"/> + </optional> + </define> + <define name="attlist.a" combine="interleave"> + <optional> + <attribute name="title"/> + </optional> + </define> + <start> + <choice> + <ref name="features"/> + </choice> + </start> +</grammar> |