diff options
-rw-r--r-- | cnf/metadata.dtd | 99 |
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--> |