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