1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17#
18#
19# XML RELAX NG schema for Subversion command-line client output
20# Common declarations
21
22# Data types.
23
24## A revision number.
25revnum.type = xsd:nonNegativeInteger
26
27## A user name.
28username.type = string
29
30## A path or URL.
31target.type = string | xsd:anyURI
32
33## An UUID.
34uuid.type = string
35
36## An MD5 checksum.
37md5sum.type = xsd:hexBinary { length = "16" }
38
39# Common elements
40
41## Commit info.
42commit = element commit { attlist.commit, author?, date? }
43attlist.commit &= attribute revision { revnum.type }
44
45author = element author { username.type }
46
47date = element date { xsd:dateTime }
48
49## Lock info stored in repository or working copy.
50lock =
51  element lock {
52    \token, owner, comment?, created, expires?
53  }
54
55## Lock token.
56\token = element token { xsd:anyURI }
57
58## Lock owner.
59owner = element owner { username.type }
60
61## Lock comment.
62comment = element comment { text }
63
64## Creation date.
65created = element created { xsd:dateTime }
66
67## Expiration date.
68expires = element expires { xsd:dateTime }
69
70## Node and revision properties.
71property = element property { attlist.property, text }
72attlist.property &=
73  ## The property name
74  attribute name { string },
75  ## The encoding of the element content.  If not present, the value
76  ## is the raw content of the element.
77  attribute encoding { "base64" }?
78