45 lines
2.3 KiB
XML
45 lines
2.3 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<xs:schema targetNamespace="https://tunnelbroker.net/tunnelInfo.php"
|
|
xmlns="https://tunnelbroker.net/tunnelInfo.php"
|
|
xmlns:tunnels="https://tunnelbroker.net/tunnelInfo.php"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified">
|
|
|
|
<xs:include schemaLocation="../lib/types/net.xsd"/>
|
|
<xs:include schemaLocation="../lib/types/std.xsd"/>
|
|
|
|
<!-- ROOT -->
|
|
<xs:element name="tunnels">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="tunnel" minOccurs="1" maxOccurs="5">
|
|
<xs:complexType>
|
|
<xs:all minOccurs="1" maxOccurs="1">
|
|
<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="serverv4" type="t_net_addr_ip4" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="clientv4" type="t_net_addr_ip4" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="serverv6" type="t_net_addr_ip6" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="clientv6" type="t_net_addr_ip6" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="routed64" type="t_net_qualified_addr_ip6" minOccurs="1" maxOccurs="1"/>
|
|
<xs:element name="routed48" type="t_net_qualified_addr_ip6" minOccurs="0" maxOccurs="1"/>
|
|
<!--
|
|
FYI, these are FQDNs... but it's more or less impossible to validate through XSD so we let code do that.
|
|
-->
|
|
<!-- BEGIN THE FUCKERY. -->
|
|
<xs:element name="rdns1" type="t_std_nonempty" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element name="rdns2" type="t_std_nonempty" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element name="rdns3" type="t_std_nonempty" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element name="rdns4" type="t_std_nonempty" minOccurs="0" maxOccurs="1"/>
|
|
<xs:element name="rdns5" type="t_std_nonempty" minOccurs="0" maxOccurs="1"/>
|
|
<!-- END THE FUCKERY. -->
|
|
</xs:all>
|
|
<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:schema>
|