Show More
@@ -0,0 +1,41 b'' | |||||
|
1 | # RelaxNG schema for "xml" log style | |||
|
2 | # Inspired by Subversion's XML log format. | |||
|
3 | ||||
|
4 | start = log | |||
|
5 | node.type = xsd:string {minLength = "40" maxLength = "40"} | |||
|
6 | ||||
|
7 | log = element log { logentry+ } | |||
|
8 | logentry = element logentry { | |||
|
9 | logentry.attlist, | |||
|
10 | branch*, tag*, hgparent*, | |||
|
11 | author, date, | |||
|
12 | msg, paths?, copies?, extra* | |||
|
13 | } | |||
|
14 | logentry.attlist = | |||
|
15 | attribute revision {xsd:nonNegativeInteger} | |||
|
16 | & attribute node {node.type} | |||
|
17 | branch = element branch { text } | |||
|
18 | tag = element tag { text } | |||
|
19 | hgparent = element parent {hgparent.attlist, text} | |||
|
20 | hgparent.attlist = | |||
|
21 | attribute revision {xsd:integer {minInclusive = "-1"} } | |||
|
22 | & attribute node {node.type} | |||
|
23 | author = element author { author.attlist, text } | |||
|
24 | author.attlist = | |||
|
25 | attribute email {text} | |||
|
26 | date = element date {xsd:dateTime} | |||
|
27 | msg = element msg {msg.attlist, text} | |||
|
28 | msg.attlist = | |||
|
29 | attribute xml:space {"preserve"} | |||
|
30 | paths = element paths { path* } | |||
|
31 | path = element path { path.attlist, text } | |||
|
32 | path.attlist = | |||
|
33 | # Action: (A)dd, (M)odify, (R)emove | |||
|
34 | attribute action {"A"|"M"|"R"} | |||
|
35 | copies = element copies { copy+ } | |||
|
36 | copy = element copy { copy.attlist, text } | |||
|
37 | copy.attlist = | |||
|
38 | attribute source {text} | |||
|
39 | extra = element extra {extra.attlist, text} | |||
|
40 | extra.attlist = | |||
|
41 | attribute key {text} |
General Comments 0
You need to be logged in to leave comments.
Login now