EVOLUTION-MANAGER
Edit File: service.xsd
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="service"> <xs:complexType> <xs:sequence> <xs:element name="short" type="xs:string" minOccurs="0"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="port" type="porttype" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="source-port" type="porttype" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="protocol" type="prototype" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="module" type="nametype" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="destination" type="desttype" minOccurs="0"/> </xs:sequence> <xs:attribute name="version" type="xs:string"/> </xs:complexType> </xs:element> <xs:complexType name="nametype"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="prototype"> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="porttype"> <xs:attribute name="port" type="porttyperestrict" use="required"/> <xs:attribute name="protocol" type="xs:string" use="required"/> </xs:complexType> <xs:simpleType name="porttyperestrict"> <xs:restriction base="xs:string"> <xs:pattern value="([0-9]+(\-[0-9]+)?)?"/> </xs:restriction> </xs:simpleType> <xs:complexType name="desttype"> <xs:attribute name="ipv4" type="ipv4addrtype"/> <xs:attribute name="ipv6" type="ipv6addrtype"/> </xs:complexType> <xs:simpleType name="ipv4addrtype"> <xs:restriction base="xs:string"> <xs:pattern value="([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ipv6addrtype"> <xs:restriction base="xs:string"> <!-- very rough RE --> <xs:pattern value="[0-9A-Fa-f:]{3,39}(/[0-9]{1,3})?"/> </xs:restriction> </xs:simpleType> </xs:schema>