~launchpad-pqm/launchpad/devel

3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
1
default namespace = "https://launchpad.net/xmlns/2006/bugs"
2
3
start = lpbugs
4
5
# Data types
6
7
boolean = "True" | "False"
8
lpname = xsd:string { pattern = "[a-z0-9][a-z0-9\+\.\-]*" }
9
cvename = xsd:string { pattern = "(19|20)[0-9][0-9]-[0-9][0-9][0-9][0-9]" }
14273.1.3 by Gavin Panella
Rename text1 to non_empty_text as suggested by jtv.
10
non_empty_text = xsd:string { minLength = "1" }
3691.440.21 by James Henstridge
add some new coments in response to Bjorn's review
11
4664.1.1 by Curtis Hovey
Normalized comments for bug 3732.
12
# XXX: jamesh 2006-04-11 bug=105401:
3691.440.21 by James Henstridge
add some new coments in response to Bjorn's review
13
# These status and importance values need to be kept in sync with the
14
# rest of Launchpad.  However, there are not yet any tests for this.
15
#     https://bugs.launchpad.net/bugs/105401
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
16
status = (
4864.1.1 by James Henstridge
Add support for creating bug watches as part of a bug import.
17
  "NEW"          |
18
  "INCOMPLETE"   |
19
  "INVALID"      |
20
  "WONTFIX"      |
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
21
  "CONFIRMED"    |
4864.1.1 by James Henstridge
Add support for creating bug watches as part of a bug import.
22
  "TRIAGED"      |
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
23
  "INPROGRESS"   |
24
  "FIXCOMMITTED" |
25
  "FIXRELEASED"  |
26
  "UNKNOWN")
27
importance = (
28
  "UNKNOWN"   |
29
  "CRITICAL"  |
30
  "HIGH"      |
31
  "MEDIUM"    |
32
  "LOW"       |
33
  "WISHLIST"  |
34
  "UNDECIDED")
35
36
# Content model for a person element.  The element content is the
37
# person's name.  For successful bug import, an email address must be
38
# provided.
14273.1.2 by Gavin Panella
Improve schema for person elements.
39
person_nobody = (
40
  attribute name { string "nobody" })
41
person_normal = (
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
42
  attribute name { lpname }?,
14273.1.3 by Gavin Panella
Rename text1 to non_empty_text as suggested by jtv.
43
  attribute email { non_empty_text },
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
44
  text)
14273.1.2 by Gavin Panella
Improve schema for person elements.
45
person = (
46
  person_nobody |
47
  person_normal)
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
48
49
lpbugs = element launchpad-bugs { bug* }
50
51
bug = element bug {
3691.440.14 by James Henstridge
changes and extra tests suggested in BjornT's review
52
  attribute id { xsd:integer } &
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
53
  element private { boolean }? &
54
  element security_related { boolean }? &
3691.440.14 by James Henstridge
changes and extra tests suggested in BjornT's review
55
  element duplicateof { xsd:integer }? &
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
56
  element datecreated { xsd:dateTime } &
57
  element nickname { lpname }? &
3691.440.21 by James Henstridge
add some new coments in response to Bjorn's review
58
  # The following will likely be renamed summary in a future version.
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
59
  element title { text } &
60
  element description { text } &
61
  element reporter { person } &
62
  element status { status } &
63
  element importance { importance } &
64
  element milestone { lpname }? &
65
  element assignee { person }? &
66
  element urls {
67
    element url { attribute href { xsd:anyURI }, text }*
68
  }? &
69
  element cves {
70
    element cve { cvename }*
71
  }? &
72
  element tags {
73
    element tag { lpname }*
74
  }? &
4864.1.1 by James Henstridge
Add support for creating bug watches as part of a bug import.
75
  element bugwatches {
76
    element bugwatch { attribute href { xsd:anyURI } }*
77
  }? &
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
78
  element subscriptions {
79
    element subscriber { person }*
80
  }? &
81
  comment+
82
}
83
84
# A bug has one or more comments.  The first comment duplicates the
85
# reporter, datecreated, title, description of the bug.
86
comment = element comment {
87
  element sender { person } &
88
  element date { xsd:dateTime } &
89
  element title { text }? &
90
  element text { text } &
91
  attachment*
92
}
93
94
# A bug attachment.  Attachments are associated with a bug comment.
95
attachment = element attachment {
96
  attribute href { xsd:anyURI }? &
97
  element type { "PATCH" | "UNSPECIFIED" }? &
14273.1.3 by Gavin Panella
Rename text1 to non_empty_text as suggested by jtv.
98
  element filename { non_empty_text }? &
3691.440.21 by James Henstridge
add some new coments in response to Bjorn's review
99
  # The following will likely be renamed summary in a future version.
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
100
  element title { text }? &
101
  element mimetype { text }? &
14273.1.1 by Gavin Panella
Ensure that attachment filename and contents are at least 1 unit long.
102
  element contents { xsd:base64Binary { minLength = "1" } }
3691.440.1 by James Henstridge
rebase bug-import stuff on latest rocketfuel
103
}