xml/schema/projects/router/networks.xsd

53 lines
2.2 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema targetNamespace="https://router.r00t2.io/network/"
xmlns="https://router.r00t2.io/network/"
xmlns:networks="https://router.r00t2.io/network/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="../../lib/types/linux.xsd"/>
<xs:include schemaLocation="../../lib/types/net.xsd"/>
<xs:include schemaLocation="../../lib/types/router.xsd"/>
<xs:element name="networks">
<xs:complexType>
<xs:sequence minOccurs="1">
<xs:element name="network" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="dnsMasqTag" type="xs:token" minOccurs="0"/>
<xs:element name="iface" type="t_router_iface"/>
<xs:element name="addrs" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="ip4" type="t_net_qualified_addr_ip4"/>
<xs:element name="ip6">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="t_net_qualified_addr_ip6">
<xs:attribute name="dhcp" use="optional" type="xs:boolean" default="false"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="notes" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="1">
<xs:element name="note" minOccurs="1" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="name" type="xs:ID" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>