text
patch =
- attribute engine { text },
attribute patchid { text },
attribute timestamp { xsd:nonNegativeInteger },
+ attribute engine { text },
element-name,
element-summary,
element-description,
element-license-to-confirm*,
element-version,
- dependency-block,
+ dependency-block?,
element-category,
element reboot-needed { empty }?,
element package-manager { empty }?,
<text/>
</define>
<define name="patch">
- <attribute name="engine"/>
<attribute name="patchid"/>
<attribute name="timestamp">
<data type="nonNegativeInteger"/>
</attribute>
+ <attribute name="engine"/>
<ref name="element-name"/>
<ref name="element-summary"/>
<ref name="element-description"/>
<ref name="element-license-to-confirm"/>
</zeroOrMore>
<ref name="element-version"/>
- <ref name="dependency-block"/>
+ <optional>
+ <ref name="dependency-block"/>
+ </optional>
<ref name="element-category"/>
<optional>
<element name="reboot-needed">
element version { version }
version =
- attribute epoch { xsd:nonNegativeInteger },
+ attribute epoch { xsd:nonNegativeInteger }?,
attribute ver { text },
attribute rel { text },
empty
</element>
</define>
<define name="version">
- <attribute name="epoch">
- <data type="nonNegativeInteger"/>
- </attribute>
+ <optional>
+ <attribute name="epoch">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
<attribute name="ver"/>
<attribute name="rel"/>
<empty/>
element-install-only =
element install-only { empty }
+
+element-license-to-confirm =
+ element license-to-confirm { localized-string }
\ No newline at end of file
<empty/>
</element>
</define>
+ <define name="element-license-to-confirm">
+ <element name="license-to-confirm">
+ <ref name="localized-string"/>
+ </element>
+ </define>
</grammar>