Mercurial > hg
view contrib/xml.rnc @ 39650:d8f07b16abfc
phabricator: add support for using the vcr library to mock interactions
I'll use this in an upcoming test. The decorator dancing in this is
more complicated than I'd like, but it beats repeating all this code
everywhere.
Differential Revision: https://phab.mercurial-scm.org/D4600
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sat, 15 Sep 2018 00:20:03 -0400 |
parents | 3acfb69a4729 |
children |
line wrap: on
line source
# 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}