blob: c9bae70b2377df5470f715eecdd9535208511e5d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: myrpki.rnc 2528 2009-06-16 19:35:50Z sra $
RelaxNG Schema for MyRPKI XML messages
libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so
run the compact syntax through trang to get XML syntax.
-->
<grammar ns="http://www.hactrn.net/uris/rpki/myrpki/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="base64">
<data type="base64Binary">
<param name="maxLength">512000</param>
</data>
</define>
<define name="object_handle">
<data type="string">
<param name="maxLength">255</param>
<param name="pattern">[\-_A-Za-z0-9]*</param>
</data>
</define>
<define name="uri">
<data type="anyURI">
<param name="maxLength">4096</param>
</data>
</define>
<define name="asn_list">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9]*</param>
</data>
</define>
<define name="ipv4_list">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9/.]*</param>
</data>
</define>
<define name="ipv6_list">
<data type="string">
<param name="maxLength">512000</param>
<param name="pattern">[\-,0-9/:a-fA-F]*</param>
</data>
</define>
<start>
<element name="myrpki">
<attribute name="version">
<data type="positiveInteger">
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="handle">
<ref name="object_handle"/>
</attribute>
<zeroOrMore>
<ref name="roa_request"/>
</zeroOrMore>
<zeroOrMore>
<ref name="child"/>
</zeroOrMore>
<optional>
<ref name="bpki_ca_certificate"/>
</optional>
<optional>
<ref name="bpki_ee_certificate"/>
</optional>
</element>
</start>
<define name="roa_request">
<element name="roa_request">
<attribute name="asn">
<data type="positiveInteger"/>
</attribute>
<attribute name="v4">
<ref name="ipv4_list"/>
</attribute>
<attribute name="v6">
<ref name="ipv6_list"/>
</attribute>
</element>
</define>
<define name="child">
<element name="child">
<attribute name="handle">
<ref name="object_handle"/>
</attribute>
<attribute name="valid_until">
<data type="dateTime">
<param name="pattern">.*Z</param>
</data>
</attribute>
<optional>
<attribute name="asns">
<ref name="asn_list"/>
</attribute>
</optional>
<optional>
<attribute name="v4">
<ref name="ipv4_list"/>
</attribute>
</optional>
<optional>
<attribute name="v6">
<ref name="ipv6_list"/>
</attribute>
</optional>
</element>
</define>
<define name="bpki_ca_certificate">
<element name="bpki_ca_certificate">
<ref name="base64"/>
</element>
</define>
<define name="bpki_ee_certificate">
<element name="bpki_ee_certificate">
<ref name="base64"/>
</element>
</define>
</grammar>
<!--
Local Variables:
indent-tabs-mode: nil
End:
-->
|