Mercurial > hg
annotate contrib/xml.rnc @ 41307:e8273eaa0726 stable
ui: inline _writenobuf() into write() due to performance issue
I'll remove redundant conditions later in this series.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 24 Jan 2019 21:35:55 +0900 |
parents | 3acfb69a4729 |
children |
rev | line source |
---|---|
10161
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
1 # RelaxNG schema for "xml" log style |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
2 # Inspired by Subversion's XML log format. |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
3 |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
4 start = log |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
5 node.type = xsd:string {minLength = "40" maxLength = "40"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
6 |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
7 log = element log { logentry+ } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
8 logentry = element logentry { |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
9 logentry.attlist, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
10 branch*, tag*, hgparent*, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
11 author, date, |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
12 msg, paths?, copies?, extra* |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
13 } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
14 logentry.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
15 attribute revision {xsd:nonNegativeInteger} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
16 & attribute node {node.type} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
17 branch = element branch { text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
18 tag = element tag { text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
19 hgparent = element parent {hgparent.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
20 hgparent.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
21 attribute revision {xsd:integer {minInclusive = "-1"} } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
22 & attribute node {node.type} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
23 author = element author { author.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
24 author.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
25 attribute email {text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
26 date = element date {xsd:dateTime} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
27 msg = element msg {msg.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
28 msg.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
29 attribute xml:space {"preserve"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
30 paths = element paths { path* } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
31 path = element path { path.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
32 path.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
33 # Action: (A)dd, (M)odify, (R)emove |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
34 attribute action {"A"|"M"|"R"} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
35 copies = element copies { copy+ } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
36 copy = element copy { copy.attlist, text } |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
37 copy.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
38 attribute source {text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
39 extra = element extra {extra.attlist, text} |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
40 extra.attlist = |
3acfb69a4729
Added RelaxNG schema for hg log XML output format
Robert Bachmann <rbachm@gmail.com>
parents:
diff
changeset
|
41 attribute key {text} |