1 <?xml version="1.0" encoding="UTF-8"?>
2 <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4 private is not an XML namespace, just a holder for reusable
7 <define name="private.positive">
8 <data type="positiveInteger">
9 <param name="pattern">[1-9][0-9]*</param>
12 <define name="private.nonnegative">
15 <ref name="private.positive"/>
19 Unix timestamp (seconds since epoch)
20 For our purposes, this is always positive
22 <define name="private.unixts">
23 <ref name="private.positive"/>
25 <define name="private.size">
26 <ref name="private.nonnegative"/>
28 <define name="private.checksum">
31 <attribute name="type">
35 <param name="length">32</param>
36 <param name="pattern">[0-9a-f]*</param>
40 <attribute name="type">
44 <param name="length">40</param>
45 <param name="pattern">[0-9a-f]*</param>
49 <attribute name="type">
53 <param name="length">64</param>
54 <param name="pattern">[0-9a-f]*</param>
58 <attribute name="type">
62 <param name="length">32</param>
63 <param name="pattern">[0-9a-f]*</param>
68 <!-- The last option is totally broken, but is in the wild!!! :( -->
69 <define name="private.evr">
71 <attribute name="epoch">
72 <ref name="private.nonnegative"/>
75 <attribute name="ver"/>
77 <attribute name="rel"/>
80 <define name="private.localizedtext">
81 <attribute name="lang">
89 <define name="private.archenum">
93 <value>armv5el</value>
94 <value>armv5tel</value>
95 <value>armv7hl</value>
96 <value>armv7nhl</value>
97 <value>armv7el</value>
99 <value>armv7thl</value>
100 <value>armv7tnhl</value>
101 <value>athlon</value>
112 <value>x86_64</value>