summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cnf/metadata.dtd99
1 files changed, 99 insertions, 0 deletions
diff --git a/cnf/metadata.dtd b/cnf/metadata.dtd
new file mode 100644
index 000000000..d97642a72
--- /dev/null
+++ b/cnf/metadata.dtd
@@ -0,0 +1,99 @@
+<!ELEMENT packages ( pkgmetadata* )>
+
+<!-- Metadata for a category -->
+<!ELEMENT catmetadata ( (longdescription)* )>
+<!ATTLIST catmetadata pkgname CDATA "">
+
+<!-- Metadata for a package -->
+<!ELEMENT pkgmetadata ( (herd|maintainer|longdescription|use|upstream)* )>
+<!ATTLIST pkgmetadata pkgname CDATA "">
+
+ <!-- One tag for each herd this package is assigned to. -->
+ <!ELEMENT herd (#PCDATA)>
+
+ <!-- One tag for each maintainer of a package, multiple allowed-->
+ <!ELEMENT maintainer ( email, (description| name)* )>
+
+ <!-- A long description of the package in freetext-->
+ <!ELEMENT longdescription (#PCDATA|pkg|cat)* >
+
+ <!-- The changelog of the package-->
+ <!-- Please note that #PCDATA is mentioned only for the upstream changelog
+ element, where the content is a URL. This is due to limitations of the DTD -->
+ <!ELEMENT changelog (#PCDATA|change)* >
+ <!-- The changelog contains various "changes"-->
+ <!ELEMENT change (date,(developer|version|description|file|contributor|bug)*) >
+ <!ELEMENT date (#PCDATA) >
+ <!-- The date of the change, in "YYYY-MM-DD" format -->
+ <!ELEMENT developer (name?,email) >
+ <!-- The developer that made the change. The email is required, name
+ is optional-->
+ <!ELEMENT version (#PCDATA) >
+ <!--version of the packages involved (one tag per version)-->
+ <!ELEMENT file (#PCDATA) ><!-- one tag per file touched -->
+ <!ELEMENT contributor (name?,email?) >
+ <!-- A reference to a user that helped in causing this change.
+ There should at least be a name or email address included.
+ Email is preferred -->
+ <!ELEMENT bug (#PCDATA) >
+ <!-- bug-id of a bug fixed by this change, multiple allowed. The
+ format of this is a number or alias for a bug. NOT including a
+ # character -->
+
+ <!-- description of what this USE flag does for this package -->
+ <!ELEMENT use (flag)* >
+ <!ELEMENT flag (#PCDATA|pkg|cat)* >
+ <!-- name attribute holds the name of the USE flag -->
+ <!ATTLIST flag name CDATA #REQUIRED >
+
+ <!-- upstream metadata information (maintainers, upstream docs,..) -->
+ <!ELEMENT upstream (maintainer|changelog|doc|bugs-to|remote-id)* >
+ <!-- Due to the limitation of DTD this will also allow a status
+ attribute for the package maintainer element. Please note that
+ the usage of the status attribute is nevertheless _only_ allowed
+ in the upstream maintainer element. -->
+ <!ATTLIST maintainer status (active|inactive|unknown) "unknown" >
+ <!-- URL where the location of the upstream documentation can be found -->
+ <!ELEMENT doc (#PCDATA)>
+ <!ATTLIST doc lang CDATA "C" >
+ <!-- location where to report bugs
+ (may also be an email address prefixed with mailto:) -->
+ <!ELEMENT bugs-to (#PCDATA)>
+ <!-- specify a type of package identification tracker -->
+ <!ELEMENT remote-id (#PCDATA)>
+ <!ATTLIST remote-id type (freshmeat|sourceforge|sourceforge-jp|cpan|vim|google-code|ctan|pypi|rubyforge|cran) #REQUIRED>
+
+ <!-- category/package information for cross-linking in descriptions
+ and useflag descriptions -->
+ <!ELEMENT pkg (#PCDATA) >
+ <!ELEMENT cat (#PCDATA) >
+
+<!-- Common attributes -->
+
+<!-- the lang attribute, specifies the language of this tag. This is
+ only useful for descriptions of various kinds. If a tag with this
+ attribute is included there must be a description in the default
+ language "C" or "en", which is equivalent -->
+ <!ATTLIST description lang CDATA "C" >
+ <!ATTLIST longdescription lang CDATA "C" >
+ <!ATTLIST use lang CDATA "C" >
+
+<!-- The restrict attribute, this attribute specifies restrictions on
+ the applicability of tags on versions. The format of this attribute is
+ equal to the format of DEPEND lines in ebuilds. There is one special
+ value though: restrict="*". A tag that specifies this only applies if
+ there are no other tags that apply.
+
+ For required tags, there must be either an unrestricted version, or a
+ version that is default restricted. -->
+ <!ATTLIST herd restrict CDATA #IMPLIED >
+ <!ATTLIST maintainer restrict CDATA #IMPLIED >
+ <!ATTLIST longdescription restrict CDATA #IMPLIED >
+ <!ATTLIST flag restrict CDATA #IMPLIED >
+
+
+
+<!-- standard parts -->
+<!ELEMENT email (#PCDATA) ><!-- an email address -->
+<!ELEMENT name (#PCDATA) ><!-- the name of a person (maintainer, contributor)-->
+<!ELEMENT description (#PCDATA) ><!-- A description of a maintainer or change-->