- strict IsA values

- use untabify and 4 spaces indentation :)
(setq nxml-child-indent 4)
(add-hook 'nxml-mode-hook
	  (lambda ()
	    (setq indent-tabs-mode nil)))
This commit is contained in:
Barış Metin
2007-01-30 15:00:28 +00:00
parent aea9c1acf9
commit dfda6e1257
+415 -398
View File
@@ -4,439 +4,456 @@
<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <grammar xmlns="http://relaxng.org/ns/structure/1.0">
<!-- Start Document --> <!-- Start Document -->
<start> <start>
<choice> <choice>
<ref name="PISI"/> <ref name="PISI"/>
</choice> </choice>
</start> </start>
<!-- PISI Section --> <!-- PISI Section -->
<define name="PISI"> <define name="PISI">
<element name="PISI"> <element name="PISI">
<ref name="Source"/> <ref name="Source"/>
<oneOrMore> <oneOrMore>
<ref name="Package"/> <ref name="Package"/>
</oneOrMore> </oneOrMore>
<ref name="History"/> <ref name="History"/>
</element> </element>
</define> </define>
<!-- Source Section --> <!-- Source Section -->
<define name="Source"> <define name="Source">
<element name="Source"> <element name="Source">
<ref name="Name"/> <ref name="Name"/>
<ref name="Homepage"/> <ref name="Homepage"/>
<ref name="Packager"/> <ref name="Packager"/>
<oneOrMore> <oneOrMore>
<ref name="License"/> <ref name="License"/>
</oneOrMore> </oneOrMore>
<optional> <optional>
<ref name="Icon"/> <ref name="Icon"/>
</optional> </optional>
<oneOrMore> <oneOrMore>
<ref name="IsA"/> <ref name="IsA"/>
</oneOrMore> </oneOrMore>
<optional> <optional>
<ref name="PartOf"/> <ref name="PartOf"/>
</optional> </optional>
<oneOrMore> <oneOrMore>
<ref name="Summary"/> <ref name="Summary"/>
</oneOrMore> </oneOrMore>
<zeroOrMore> <zeroOrMore>
<!-- FIXME: should be oneOrMore --> <!-- FIXME: should be oneOrMore -->
<ref name="Description"/> <ref name="Description"/>
</zeroOrMore> </zeroOrMore>
<ref name="Archive"/> <ref name="Archive"/>
<optional> <optional>
<ref name="BuildDependencies"/> <ref name="BuildDependencies"/>
</optional> </optional>
<optional> <optional>
<ref name="Patches"/> <ref name="Patches"/>
</optional> </optional>
</element> </element>
</define> </define>
<!-- Package Section --> <!-- Package Section -->
<define name="Package"> <define name="Package">
<element name="Package"> <element name="Package">
<ref name="Name"/> <ref name="Name"/>
<optional> <optional>
<ref name="License"/> <ref name="License"/>
</optional> </optional>
<zeroOrMore> <zeroOrMore>
<ref name="IsA"/> <ref name="IsA"/>
</zeroOrMore> </zeroOrMore>
<optional> <optional>
<ref name="PartOf"/> <ref name="PartOf"/>
</optional> </optional>
<zeroOrMore> <zeroOrMore>
<ref name="Summary"/> <ref name="Summary"/>
</zeroOrMore> </zeroOrMore>
<zeroOrMore> <zeroOrMore>
<ref name="Description"/> <ref name="Description"/>
</zeroOrMore> </zeroOrMore>
<optional> <optional>
<ref name="RuntimeDependencies"/> <ref name="RuntimeDependencies"/>
</optional> </optional>
<optional> <optional>
<ref name="Conflicts"/> <ref name="Conflicts"/>
</optional> </optional>
<ref name="Files"/> <ref name="Files"/>
<optional> <optional>
<ref name="AdditionalFiles"/> <ref name="AdditionalFiles"/>
</optional> </optional>
<optional> <optional>
<ref name="Provides"/> <ref name="Provides"/>
</optional> </optional>
</element> </element>
</define> </define>
<!-- History Section --> <!-- History Section -->
<define name="History"> <define name="History">
<element name="History"> <element name="History">
<oneOrMore> <oneOrMore>
<ref name="Update"/> <ref name="Update"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- Name --> <!-- Name -->
<define name="Name"> <define name="Name">
<element name="Name"> <element name="Name">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Homepage --> <!-- Homepage -->
<define name="Homepage"> <define name="Homepage">
<element name="Homepage"> <element name="Homepage">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Icon --> <!-- Icon -->
<define name="Icon"> <define name="Icon">
<element name="Icon"> <element name="Icon">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Packager --> <!-- Packager -->
<define name="Packager"> <define name="Packager">
<element name="Packager"> <element name="Packager">
<ref name="Name"/> <ref name="Name"/>
<ref name="Email"/> <ref name="Email"/>
</element> </element>
</define> </define>
<!-- Email --> <!-- Email -->
<define name="Email"> <define name="Email">
<element name="Email"> <element name="Email">
<text/> <text/>
</element> </element>
</define> </define>
<!-- License --> <!-- License -->
<define name="License"> <define name="License">
<element name="License"> <element name="License">
<text/> <text/>
</element> </element>
</define> </define>
<!-- IsA --> <!-- IsA -->
<define name="IsA"> <define name="IsA">
<element name="IsA"> <element name="IsA">
<!-- TODO: Define available choices? --> <choice>
<text/> <value>app</value>
</element> <value>app:console</value>
</define> <value>app:gui</value>
<value>app:web</value>
<value>library</value>
<value>service</value>
<value>data</value>
<value>data:doc</value>
<value>data:font</value>
<value>kernel</value>
<value>driver</value>
<value>locale</value>
<value>locale:tr</value>
<value>locale:en</value>
<value>locale:es</value>
<value>locale:nl</value>
<value>locale:de</value>
</choice>
</element>
</define>
<!-- PartOf --> <!-- PartOf -->
<define name="PartOf"> <define name="PartOf">
<element name="PartOf"> <element name="PartOf">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Summary --> <!-- Summary -->
<define name="Summary"> <define name="Summary">
<element name="Summary"> <element name="Summary">
<ref name="attlist.Summary"/> <ref name="attlist.Summary"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.Summary --> <!-- attlist.Summary -->
<define name="attlist.Summary" combine="interleave"> <define name="attlist.Summary" combine="interleave">
<optional> <optional>
<attribute name="xml:lang"/> <attribute name="xml:lang"/>
</optional> </optional>
</define> </define>
<!-- Description --> <!-- Description -->
<define name="Description"> <define name="Description">
<element name="Description"> <element name="Description">
<ref name="attlist.Description"/> <ref name="attlist.Description"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.Description --> <!-- attlist.Description -->
<define name="attlist.Description" combine="interleave"> <define name="attlist.Description" combine="interleave">
<optional> <optional>
<attribute name="xml:lang"/> <attribute name="xml:lang"/>
</optional> </optional>
</define> </define>
<!-- Archive --> <!-- Archive -->
<define name="Archive"> <define name="Archive">
<element name="Archive"> <element name="Archive">
<ref name="attlist.Archive"/> <ref name="attlist.Archive"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.Archive --> <!-- attlist.Archive -->
<define name="attlist.Archive" combine="interleave"> <define name="attlist.Archive" combine="interleave">
<group> <group>
<attribute name="sha1sum"/> <attribute name="sha1sum"/>
<!-- NOTE: we can limit possible types here to the ones that pisi know --> <!-- NOTE: we can limit possible types here to the ones that pisi know -->
<attribute name="type"/> <attribute name="type"/>
</group> </group>
</define> </define>
<!-- BuildDependencies --> <!-- BuildDependencies -->
<define name="BuildDependencies"> <define name="BuildDependencies">
<element name="BuildDependencies"> <element name="BuildDependencies">
<oneOrMore> <oneOrMore>
<ref name="Dependency"/> <ref name="Dependency"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- Dependency --> <!-- Dependency -->
<define name="Dependency"> <define name="Dependency">
<element name="Dependency"> <element name="Dependency">
<ref name="attlist.VersionReleaseToFrom"/> <ref name="attlist.VersionReleaseToFrom"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.VersionReleaseToFrom --> <!-- attlist.VersionReleaseToFrom -->
<define name="attlist.VersionReleaseToFrom"> <define name="attlist.VersionReleaseToFrom">
<group> <group>
<optional> <optional>
<attribute name="versionFrom"/> <attribute name="versionFrom"/>
</optional> </optional>
<optional> <optional>
<attribute name="versionTo"/> <attribute name="versionTo"/>
</optional> </optional>
<optional> <optional>
<attribute name="version"/> <attribute name="version"/>
</optional> </optional>
<optional> <optional>
<attribute name="releaseFrom"/> <attribute name="releaseFrom"/>
</optional> </optional>
<optional> <optional>
<attribute name="releaseTo"/> <attribute name="releaseTo"/>
</optional> </optional>
<optional> <optional>
<attribute name="release"/> <attribute name="release"/>
</optional> </optional>
</group> </group>
</define> </define>
<!-- Patches --> <!-- Patches -->
<define name="Patches"> <define name="Patches">
<element name="Patches"> <element name="Patches">
<oneOrMore> <oneOrMore>
<ref name="Patch"/> <ref name="Patch"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- Patch --> <!-- Patch -->
<define name="Patch"> <define name="Patch">
<element name="Patch"> <element name="Patch">
<ref name="attlist.Patch"/> <ref name="attlist.Patch"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.Patch --> <!-- attlist.Patch -->
<define name="attlist.Patch" combine="interleave"> <define name="attlist.Patch" combine="interleave">
<group> <group>
<optional> <optional>
<attribute name="compressionType"/> <attribute name="compressionType"/>
</optional> </optional>
<optional> <optional>
<attribute name="level"/> <attribute name="level"/>
</optional> </optional>
<optional> <optional>
<attribute name="target"/> <attribute name="target"/>
</optional> </optional>
</group> </group>
</define> </define>
<!-- Provides --> <!-- Provides -->
<define name="Provides"> <define name="Provides">
<element name="Provides"> <element name="Provides">
<oneOrMore> <oneOrMore>
<ref name="COMAR"/> <ref name="COMAR"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- COMAR --> <!-- COMAR -->
<define name="COMAR"> <define name="COMAR">
<element name="COMAR"> <element name="COMAR">
<ref name="attlist.COMAR"/> <ref name="attlist.COMAR"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.COMAR --> <!-- attlist.COMAR -->
<define name="attlist.COMAR"> <define name="attlist.COMAR">
<optional> <optional>
<attribute name="script"/> <attribute name="script"/>
</optional> </optional>
</define> </define>
<!-- Conflicts --> <!-- Conflicts -->
<define name="Conflicts"> <define name="Conflicts">
<element name="Conflicts"> <element name="Conflicts">
<oneOrMore> <oneOrMore>
<ref name="Conflicts.Package"/> <ref name="Conflicts.Package"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<define name="Conflicts.Package"> <define name="Conflicts.Package">
<element name="Package"> <element name="Package">
<ref name="attlist.VersionReleaseToFrom"/> <ref name="attlist.VersionReleaseToFrom"/>
<text /> <text />
</element> </element>
</define> </define>
<!-- AdditionalFiles --> <!-- AdditionalFiles -->
<define name="AdditionalFiles"> <define name="AdditionalFiles">
<element name="AdditionalFiles"> <element name="AdditionalFiles">
<oneOrMore> <oneOrMore>
<ref name="AdditionalFile"/> <ref name="AdditionalFile"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- AdditionalFile --> <!-- AdditionalFile -->
<define name="AdditionalFile"> <define name="AdditionalFile">
<element name="AdditionalFile"> <element name="AdditionalFile">
<ref name="attlist.AdditionalFile"/> <ref name="attlist.AdditionalFile"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.AdditionalFile --> <!-- attlist.AdditionalFile -->
<define name="attlist.AdditionalFile"> <define name="attlist.AdditionalFile">
<attribute name="target"/> <attribute name="target"/>
<optional> <optional>
<attribute name="permission"/> <attribute name="permission"/>
</optional> </optional>
<optional> <optional>
<attribute name="owner"/> <attribute name="owner"/>
</optional> </optional>
</define> </define>
<!-- RuntimeDependencies --> <!-- RuntimeDependencies -->
<define name="RuntimeDependencies"> <define name="RuntimeDependencies">
<element name="RuntimeDependencies"> <element name="RuntimeDependencies">
<oneOrMore> <oneOrMore>
<ref name="Dependency"/> <ref name="Dependency"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- Files --> <!-- Files -->
<define name="Files"> <define name="Files">
<element name="Files"> <element name="Files">
<oneOrMore> <oneOrMore>
<ref name="Path"/> <ref name="Path"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
<!-- Path --> <!-- Path -->
<define name="Path"> <define name="Path">
<element name="Path"> <element name="Path">
<ref name="attlist.Path"/> <ref name="attlist.Path"/>
<text/> <text/>
</element> </element>
</define> </define>
<!-- attlist.Path --> <!-- attlist.Path -->
<define name="attlist.Path" combine="interleave"> <define name="attlist.Path" combine="interleave">
<group> <group>
<attribute name="fileType"> <attribute name="fileType">
<choice> <choice>
<value>executable</value> <value>executable</value>
<value>library</value> <value>library</value>
<value>data</value> <value>data</value>
<value>config</value> <value>config</value>
<value>doc</value> <value>doc</value>
<value>man</value> <value>man</value>
<value>info</value> <value>info</value>
<value>localedata</value> <value>localedata</value>
<value>header</value> <value>header</value>
</choice> </choice>
</attribute> </attribute>
<optional> <optional>
<attribute name="permanent"> <attribute name="permanent">
<choice> <choice>
<value>false</value> <value>false</value>
<value>true</value> <value>true</value>
</choice> </choice>
</attribute> </attribute>
</optional> </optional>
</group> </group>
</define> </define>
<!-- Update --> <!-- Update -->
<define name="Update"> <define name="Update">
<element name="Update"> <element name="Update">
<ref name="attlist.Update"/> <ref name="attlist.Update"/>
<ref name="Date"/> <ref name="Date"/>
<ref name="Version"/> <ref name="Version"/>
<ref name="Comment"/> <ref name="Comment"/>
<ref name="Name"/> <ref name="Name"/>
<ref name="Email"/> <ref name="Email"/>
</element> </element>
</define> </define>
<!-- attlist.Update --> <!-- attlist.Update -->
<define name="attlist.Update" combine="interleave"> <define name="attlist.Update" combine="interleave">
<attribute name="release"/> <attribute name="release"/>
<optional> <optional>
<!-- FIXME: valid types must be used instead of CDATA (a.k.a choice)--> <!-- FIXME: valid types must be used instead of CDATA (a.k.a choice)-->
<attribute name="type"/> <attribute name="type"/>
</optional> </optional>
</define> </define>
<!-- Date --> <!-- Date -->
<define name="Date"> <define name="Date">
<!-- FIXME: Take a look at xmlschema data types at http://www.w3.org/TR/xmlschema-2/#dateTime --> <!-- FIXME: Take a look at xmlschema data types at http://www.w3.org/TR/xmlschema-2/#dateTime -->
<element name="Date"> <element name="Date">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Version --> <!-- Version -->
<define name="Version"> <define name="Version">
<element name="Version"> <element name="Version">
<text/> <text/>
</element> </element>
</define> </define>
<!-- Comment --> <!-- Comment -->
<define name="Comment"> <define name="Comment">
<element name="Comment"> <element name="Comment">
<text/> <text/>
</element> </element>
</define> </define>
</grammar> </grammar>