Add a copy of metadata.dtd, for repoman tests.
authorZac Medico <zmedico@gentoo.org>
Fri, 26 Aug 2011 03:44:58 +0000 (20:44 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 26 Aug 2011 03:44:58 +0000 (20:44 -0700)
Since repoman uses metadata.dtd for metadata.xml checks, our sources
need to include a copy in order to test it.

cnf/metadata.dtd [new file with mode: 0644]

diff --git a/cnf/metadata.dtd b/cnf/metadata.dtd
new file mode 100644 (file)
index 0000000..d97642a
--- /dev/null
@@ -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-->