]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 341809 - bugzilla.dtd does not include any custom fields (automate DTD creation))
authorDavid Lawrence <dlawrence@mozilla.com>
Mon, 8 Aug 2011 05:25:44 +0000 (01:25 -0400)
committerDavid Lawrence <dlawrence@mozilla.com>
Mon, 8 Aug 2011 05:25:44 +0000 (01:25 -0400)
r=mkanat, a=LpSolit

Bugzilla/Constants.pm
bugzilla.dtd [deleted file]
template/en/default/bug/show.xml.tmpl
template/en/default/pages/bugzilla.dtd.tmpl [new file with mode: 0644]

index 1d9d07a5b56887faf2fbc88dafaed63d763988e1..9dd8b76fbbf6de44cf41bac3dc9e5501809bef54 100644 (file)
@@ -438,15 +438,16 @@ use constant LEGAL_CONTENT_TYPES => ('application', 'audio', 'image', 'message',
 
 use constant contenttypes =>
   {
-   "html"=> "text/html" ,
-   "rdf" => "application/rdf+xml" ,
-   "atom"=> "application/atom+xml" ,
-   "xml" => "application/xml" ,
-   "js"  => "application/x-javascript" ,
-   "json"=> "application/json" ,
-   "csv" => "text/csv" ,
-   "png" => "image/png" ,
-   "ics" => "text/calendar" ,
+   "html" => "text/html" ,
+   "rdf"  => "application/rdf+xml" ,
+   "atom" => "application/atom+xml" ,
+   "xml"  => "application/xml" ,
+   "dtd"  => "application/xml-dtd" , 
+   "js"   => "application/x-javascript" ,
+   "json" => "application/json" ,
+   "csv"  => "text/csv" ,
+   "png"  => "image/png" ,
+   "ics"  => "text/calendar" ,
   };
 
 # Usage modes. Default USAGE_MODE_BROWSER. Use with Bugzilla->usage_mode.
diff --git a/bugzilla.dtd b/bugzilla.dtd
deleted file mode 100644 (file)
index 61d7969..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!ELEMENT bugzilla (bug+)>
-<!ATTLIST bugzilla
-          version CDATA #REQUIRED
-          urlbase CDATA #REQUIRED
-          maintainer CDATA #REQUIRED
-          exporter CDATA #IMPLIED
->
-<!ELEMENT bug (bug_id, (alias?, creation_ts, short_desc, delta_ts, reporter_accessible, 
-    cclist_accessible, classification_id, classification, product, component, 
-    version, rep_platform, op_sys, bug_status, resolution?, dup_id?, see_also*, 
-    bug_file_loc?, status_whiteboard?, keywords*, priority, bug_severity, 
-    target_milestone?, dependson*, blocked*, everconfirmed, reporter, assigned_to, 
-    cc*, (estimated_time, remaining_time, actual_time, deadline?)?, qa_contact?, 
-    votes?, token?, group*, flag*, long_desc*, attachment*)?)>
-<!ATTLIST bug
-          error (NotFound | NotPermitted | InvalidBugId) #IMPLIED
->
-<!ELEMENT bug_id (#PCDATA)>
-<!ELEMENT alias (#PCDATA)>
-<!ELEMENT reporter_accessible (#PCDATA)>
-<!ELEMENT cclist_accessible (#PCDATA)>
-<!ELEMENT exporter (#PCDATA)>
-<!ELEMENT urlbase (#PCDATA)>
-<!ELEMENT bug_status (#PCDATA)>
-<!ELEMENT classification_id (#PCDATA)>
-<!ELEMENT classification (#PCDATA)>
-<!ELEMENT product (#PCDATA)>
-<!ELEMENT priority (#PCDATA)>
-<!ELEMENT version (#PCDATA)>
-<!ELEMENT rep_platform (#PCDATA)>
-<!ELEMENT assigned_to (#PCDATA)>
-<!ATTLIST assigned_to 
-          name CDATA #REQUIRED
->
-<!ELEMENT delta_ts (#PCDATA)>
-<!ELEMENT component (#PCDATA)>
-<!ELEMENT reporter (#PCDATA)>
-<!ATTLIST reporter
-          name CDATA #REQUIRED
->
-<!ELEMENT target_milestone (#PCDATA)>
-<!ELEMENT bug_severity (#PCDATA)>
-<!ELEMENT creation_ts (#PCDATA)>
-<!ELEMENT qa_contact (#PCDATA)>
-<!ATTLIST qa_contact
-          name CDATA #REQUIRED
->
-<!ELEMENT status_whiteboard (#PCDATA)>
-<!ELEMENT op_sys (#PCDATA)>
-<!ELEMENT resolution (#PCDATA)>
-<!ELEMENT dup_id (#PCDATA)>
-<!ELEMENT bug_file_loc (#PCDATA)>
-<!ELEMENT short_desc (#PCDATA)>
-<!ELEMENT keywords (#PCDATA)>
-<!ELEMENT dependson (#PCDATA)>
-<!ELEMENT blocked (#PCDATA)>
-<!ELEMENT everconfirmed (#PCDATA)>
-<!ELEMENT cc (#PCDATA)>
-<!ELEMENT see_also (#PCDATA)>
-<!ELEMENT votes (#PCDATA)>
-<!ELEMENT token (#PCDATA)>
-<!ELEMENT group (#PCDATA)>
-<!ATTLIST group
-          id CDATA #REQUIRED
->
-<!ELEMENT estimated_time (#PCDATA)>
-<!ELEMENT remaining_time (#PCDATA)>
-<!ELEMENT actual_time (#PCDATA)>
-<!ELEMENT deadline (#PCDATA)>
-<!ELEMENT long_desc (commentid, attachid?, who, bug_when, work_time?, thetext)>
-<!ATTLIST long_desc
-          isprivate (0|1) #REQUIRED
->
-<!ELEMENT commentid (#PCDATA)>
-<!ELEMENT who (#PCDATA)>
-<!ATTLIST who
-          name CDATA #REQUIRED
->
-<!ELEMENT bug_when (#PCDATA)>
-<!ELEMENT work_time (#PCDATA)>
-<!ELEMENT thetext (#PCDATA)>
-<!ELEMENT attachment (attachid, date, delta_ts, desc, filename, type, size, attacher, token?, data?, flag*)>
-<!ATTLIST attachment
-          isobsolete (0|1) #REQUIRED
-          ispatch (0|1) #REQUIRED
-          isprivate (0|1) #REQUIRED
->
-<!ELEMENT attacher (#PCDATA)>
-<!ELEMENT attachid (#PCDATA)>
-<!ELEMENT date (#PCDATA)>
-<!ELEMENT desc (#PCDATA)>
-<!ELEMENT filename (#PCDATA)>
-<!ELEMENT type (#PCDATA)>
-<!ELEMENT size (#PCDATA)>
-<!ELEMENT data (#PCDATA)>
-<!ATTLIST data
-          encoding (base64) #IMPLIED
->
-<!ELEMENT flag EMPTY>
-<!ATTLIST flag
-          name CDATA #REQUIRED
-          id CDATA #REQUIRED
-          type_id CDATA #REQUIRED 
-          status CDATA #REQUIRED
-          setter CDATA #REQUIRED
-          requestee CDATA #IMPLIED
->
index dae207f26618de69eabe4385251fe7f57efd9e23..c0f32d69e2c642d53b267c6995fdb30f7c1dd046 100644 (file)
   #
   #%]
 [% PROCESS bug/time.html.tmpl %]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
 <?xml version="1.0" [% IF Param('utf8') %]encoding="UTF-8" [% END %]standalone="yes" ?>
-<!DOCTYPE bugzilla SYSTEM "[% urlbase FILTER html %]bugzilla.dtd">
+<!DOCTYPE bugzilla [% IF cgi.param('dtd') %][[% PROCESS pages/bugzilla.dtd.tmpl %]][% ELSE %]SYSTEM "[% urlbase FILTER xml %]page.cgi?id=bugzilla.dtd"[% END %]>
 
 <bugzilla version="[% constants.BUGZILLA_VERSION %]"
           urlbase="[% urlbase FILTER xml %]"
diff --git a/template/en/default/pages/bugzilla.dtd.tmpl b/template/en/default/pages/bugzilla.dtd.tmpl
new file mode 100644 (file)
index 0000000..a52b274
--- /dev/null
@@ -0,0 +1,178 @@
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Dawn Endico <endico@mozilla.org>
+  #                 Dave Miller <justdave@syndicomm.com>
+  #                 Bradley Baetz <bbaetz@student.usyd.edu.au>
+  #                 Myk Mylez <myk@mozilla.org>
+  #                 Colin Ogilvie <mozilla@colinogilvie.co.uk>
+  #                 Joel Peshkin <bugreport@peshkin.net>
+  #                 Frédéric Buclin <LpSolit@gmail.com>
+  #                 Gervase Markham <gerv@gerv.net>
+  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
+  #                 David Lawrence <dkl@mozilla.com>
+  #
+  #%]
+[% USE Bugzilla %]
+<!ELEMENT [% "bugzilla" %] (bug+)>
+<!ATTLIST [% "bugzilla" %] 
+          version CDATA #REQUIRED
+          urlbase CDATA #REQUIRED
+          maintainer CDATA #REQUIRED
+          exporter CDATA #IMPLIED
+>
+<!ELEMENT [% "bug" %] (bug_id, 
+               (alias?, 
+                creation_ts, 
+                short_desc, 
+                delta_ts, 
+                reporter_accessible, 
+                cclist_accessible, 
+                classification_id, 
+                classification, 
+                product, 
+                component, 
+                version, 
+                rep_platform, 
+                op_sys, 
+                bug_status, 
+                resolution?, 
+                dup_id?, 
+                see_also*, 
+                bug_file_loc?, 
+                status_whiteboard?, 
+                keywords*, 
+                priority, 
+                bug_severity, 
+                target_milestone?, 
+                dependson*, 
+                blocked*, 
+                everconfirmed, 
+                reporter, 
+                assigned_to, 
+                cc*, 
+                (estimated_time, 
+                 remaining_time, 
+                 actual_time, 
+                 deadline?)?, 
+                qa_contact?,
+[% FOREACH field = Bugzilla.active_custom_fields %]
+                [%+ field.name FILTER xml -%]
+                [%- IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]*[% ELSE %]?[% END %], 
+[% END %]
+                votes?, 
+                token?, 
+                group*, 
+                flag*, 
+                long_desc*, 
+                attachment*)?)>
+<!ATTLIST [% "bug" %]
+          error (NotFound | NotPermitted | InvalidBugId) #IMPLIED
+>
+<!ELEMENT bug_id (#PCDATA)>
+<!ELEMENT alias (#PCDATA)>
+<!ELEMENT reporter_accessible (#PCDATA)>
+<!ELEMENT cclist_accessible (#PCDATA)>
+<!ELEMENT exporter (#PCDATA)>
+<!ELEMENT urlbase (#PCDATA)>
+<!ELEMENT bug_status (#PCDATA)>
+<!ELEMENT classification_id (#PCDATA)>
+<!ELEMENT classification (#PCDATA)>
+<!ELEMENT product (#PCDATA)>
+<!ELEMENT priority (#PCDATA)>
+<!ELEMENT version (#PCDATA)>
+<!ELEMENT rep_platform (#PCDATA)>
+<!ELEMENT assigned_to (#PCDATA)>
+<!ATTLIST assigned_to 
+          name CDATA #REQUIRED
+>
+<!ELEMENT delta_ts (#PCDATA)>
+<!ELEMENT component (#PCDATA)>
+<!ELEMENT reporter (#PCDATA)>
+<!ATTLIST reporter
+          name CDATA #REQUIRED
+>
+<!ELEMENT target_milestone (#PCDATA)>
+<!ELEMENT bug_severity (#PCDATA)>
+<!ELEMENT creation_ts (#PCDATA)>
+<!ELEMENT qa_contact (#PCDATA)>
+<!ATTLIST qa_contact
+          name CDATA #REQUIRED
+>
+<!ELEMENT status_whiteboard (#PCDATA)>
+<!ELEMENT op_sys (#PCDATA)>
+<!ELEMENT resolution (#PCDATA)>
+<!ELEMENT dup_id (#PCDATA)>
+<!ELEMENT bug_file_loc (#PCDATA)>
+<!ELEMENT short_desc (#PCDATA)>
+<!ELEMENT keywords (#PCDATA)>
+<!ELEMENT dependson (#PCDATA)>
+<!ELEMENT blocked (#PCDATA)>
+<!ELEMENT everconfirmed (#PCDATA)>
+<!ELEMENT cc (#PCDATA)>
+<!ELEMENT see_also (#PCDATA)>
+<!ELEMENT votes (#PCDATA)>
+<!ELEMENT token (#PCDATA)>
+<!ELEMENT group (#PCDATA)>
+<!ATTLIST group
+          id CDATA #REQUIRED
+>
+<!ELEMENT estimated_time (#PCDATA)>
+<!ELEMENT remaining_time (#PCDATA)>
+<!ELEMENT actual_time (#PCDATA)>
+<!ELEMENT deadline (#PCDATA)>
+[% FOREACH field = Bugzilla.active_custom_fields %]
+<!ELEMENT [% field.name FILTER xml %] (#PCDATA)>
+[% END %]
+<!ELEMENT long_desc (commentid, attachid?, who, bug_when, work_time?, thetext)>
+<!ATTLIST long_desc
+          isprivate (0|1) #REQUIRED
+>
+<!ELEMENT commentid (#PCDATA)>
+<!ELEMENT who (#PCDATA)>
+<!ATTLIST who
+          name CDATA #REQUIRED
+>
+<!ELEMENT bug_when (#PCDATA)>
+<!ELEMENT work_time (#PCDATA)>
+<!ELEMENT thetext (#PCDATA)>
+<!ELEMENT attachment (attachid, date, delta_ts, desc, filename, type, size, attacher, token?, data?, flag*)>
+<!ATTLIST attachment
+          isobsolete (0|1) #REQUIRED
+          ispatch (0|1) #REQUIRED
+          isprivate (0|1) #REQUIRED
+>
+<!ELEMENT attacher (#PCDATA)>
+<!ELEMENT attachid (#PCDATA)>
+<!ELEMENT date (#PCDATA)>
+<!ELEMENT desc (#PCDATA)>
+<!ELEMENT filename (#PCDATA)>
+<!ELEMENT type (#PCDATA)>
+<!ELEMENT size (#PCDATA)>
+<!ELEMENT data (#PCDATA)>
+<!ATTLIST data
+          encoding (base64) #IMPLIED
+>
+<!ELEMENT flag EMPTY>
+<!ATTLIST flag
+          name CDATA #REQUIRED
+          id CDATA #REQUIRED
+          type_id CDATA #REQUIRED 
+          status CDATA #REQUIRED
+          setter CDATA #REQUIRED
+          requestee CDATA #IMPLIED
+>