Mercurial > hg-stable
changeset 10161:3acfb69a4729
Added RelaxNG schema for hg log XML output format
author | Robert Bachmann <rbachm@gmail.com> |
---|---|
date | Wed, 30 Dec 2009 02:44:37 +0100 |
parents | 48653dea23dd |
children | 542279f81203 |
files | contrib/xml.rnc |
diffstat | 1 files changed, 41 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/xml.rnc Wed Dec 30 02:44:37 2009 +0100 @@ -0,0 +1,41 @@ +# RelaxNG schema for "xml" log style +# Inspired by Subversion's XML log format. + +start = log +node.type = xsd:string {minLength = "40" maxLength = "40"} + +log = element log { logentry+ } +logentry = element logentry { + logentry.attlist, + branch*, tag*, hgparent*, + author, date, + msg, paths?, copies?, extra* +} +logentry.attlist = + attribute revision {xsd:nonNegativeInteger} + & attribute node {node.type} +branch = element branch { text } +tag = element tag { text } +hgparent = element parent {hgparent.attlist, text} +hgparent.attlist = + attribute revision {xsd:integer {minInclusive = "-1"} } + & attribute node {node.type} +author = element author { author.attlist, text } +author.attlist = + attribute email {text} +date = element date {xsd:dateTime} +msg = element msg {msg.attlist, text} +msg.attlist = + attribute xml:space {"preserve"} +paths = element paths { path* } +path = element path { path.attlist, text } +path.attlist = + # Action: (A)dd, (M)odify, (R)emove + attribute action {"A"|"M"|"R"} +copies = element copies { copy+ } +copy = element copy { copy.attlist, text } +copy.attlist = + attribute source {text} +extra = element extra {extra.attlist, text} +extra.attlist = + attribute key {text}