Validatieschema voor Flexmap
MDMC_Map.xsd
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="document">
<xs:complexType>
<xs:sequence>
<xs:element ref="center" minOccurs="1" maxOccurs="1"/>
<xs:element name="zoom" type="xs:integer" minOccurs="1" maxOccurs="1"/>
<xs:element ref="widgetinfo" minOccurs="1" maxOccurs="1"/>
<xs:element ref="basisobjecten" minOccurs="0" maxOccurs="1"/>
<xs:element ref="widgetopdracht" minOccurs="0" maxOccurs="1"/>
<xs:element ref="openwavelayers" minOccurs="0" maxOccurs="1"/>
<xs:element ref="wfslayers" minOccurs="0" maxOccurs="1"/>
<xs:element ref="wmslayers" minOccurs="0" maxOccurs="1"/>
<xs:element ref="widgetbuttons" minOccurs="0" maxOccurs="1"/>
<xs:element ref="actions" minOccurs="0" maxOccurs="1"/>
<xs:element ref="punten" minOccurs="0" maxOccurs="1"/>
<xs:element ref="lijnen" minOccurs="0" maxOccurs="1"/>
<xs:element ref="vlakken" minOccurs="0" maxOccurs="1"/>
<xs:element ref="cirkels" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="center">
<xs:complexType>
<xs:sequence>
<xs:element name="point" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="widgetinfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="koptekst" minOccurs="1" maxOccurs="1"/>
<xs:element ref="body" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="koptekst">
<xs:complexType>
<xs:sequence>
<xs:element name="regel" type="koptekstregeltype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="koptekstregeltype">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="required" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element name="regel" type="koptekstregeltype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="basisobjecten">
<xs:complexType>
<xs:sequence>
<xs:element ref="basisobject" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="basisobject">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="type" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="widgetopdracht">
<xs:complexType>
<xs:all>
<xs:element ref="point" minOccurs="0" maxOccurs="1"/>
<xs:element ref="linestring" minOccurs="0" maxOccurs="1"/>
<xs:element ref="polygon" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="polygon">
<xs:complexType>
<xs:sequence>
<xs:element ref="koptekst" minOccurs="1" maxOccurs="1"/>
<xs:element ref="opdracht" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="opdracht">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="point">
<xs:complexType>
<xs:sequence>
<xs:element ref="koptekst" minOccurs="1" maxOccurs="1"/>
<xs:element ref="opdracht" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="linestring">
<xs:complexType>
<xs:sequence>
<xs:element ref="koptekst" minOccurs="1" maxOccurs="1"/>
<xs:element ref="opdracht" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="openwavelayers">
<xs:complexType>
<xs:sequence>
<xs:element name="layer" type="owlayertype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="owlayertype">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="active" use="required" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="wfslayers">
<xs:complexType>
<xs:sequence>
<xs:element name="layer" type="wfslayertype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="wfslayertype">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="active" use="required" type="xs:boolean"/>
<xs:attribute name="isbasislaag" use="required" type="xs:boolean"/>
<xs:attribute name="opacity" use="required" type="xs:integer"/>
<xs:attribute name="index" use="required" type="xs:integer"/>
<xs:attribute name="layer" use="required" type="xs:string"/>
<xs:attribute name="source" use="required" type="xs:string"/>
<xs:attribute name="color" use="required" type="xs:string"/>
<xs:attribute name="icon" use="required" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="wmslayers">
<xs:complexType>
<xs:sequence>
<xs:element name="layer" type="wmslayertype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="wmslayertype">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="active" use="required" type="xs:boolean"/>
<xs:attribute name="isbasislaag" use="required" type="xs:boolean"/>
<xs:attribute name="opacity" use="required" type="xs:integer"/>
<xs:attribute name="index" use="required" type="xs:integer"/>
<xs:attribute name="layer" use="required" type="xs:string"/>
<xs:attribute name="source" use="required" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="widgetbuttons">
<xs:complexType>
<xs:all>
<xs:element ref="opdrachtpoint" minOccurs="0" maxOccurs="1"/>
<xs:element ref="opdrachtlinestring" minOccurs="0" maxOccurs="1"/>
<xs:element ref="opdrachtpolygon" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="opdrachtpoint">
<xs:complexType>
<xs:sequence>
<xs:element name="button" type="buttontype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="buttontype">
<xs:simpleContent>
<xs:extension base="xs:boolean">
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="hint" use="required" type="xs:string"/>
<xs:attribute name="icoon" use="required" type="xs:integer"/>
<xs:attribute name="action" use="required" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="opdrachtlinestring">
<xs:complexType>
<xs:sequence>
<xs:element name="button" type="buttontype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="opdrachtpolygon">
<xs:complexType>
<xs:sequence>
<xs:element name="button" type="buttontype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="actions">
<xs:complexType>
<xs:all>
<xs:element ref="actionpoint" minOccurs="0" maxOccurs="1"/>
<xs:element ref="actionpolygon" minOccurs="0" maxOccurs="1"/>
<xs:element ref="actionlinestring" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="actionpoint">
<xs:complexType>
<xs:sequence>
<xs:element name="action" type="actiontype" minOccurs="2" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="actionlinestring">
<xs:complexType>
<xs:sequence>
<xs:element name="action" type="actiontype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="actionpolygon">
<xs:complexType>
<xs:sequence>
<xs:element name="action" type="actiontype" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="actiontype">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="required" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="punten">
<xs:complexType>
<xs:sequence>
<xs:element ref="punt" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="punt">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="layer" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="lijnen">
<xs:complexType>
<xs:sequence>
<xs:element ref="lijn" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lijn">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="layer" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="vlakken">
<xs:complexType>
<xs:sequence>
<xs:element ref="vlak" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="vlak">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="layer" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="cirkels">
<xs:complexType>
<xs:sequence>
<xs:element ref="cirkel" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cirkel">
<xs:complexType>
<xs:sequence>
<xs:element name="resultset" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="layer" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:schema>