/tasks/laSistEvents.xsd
https://bitbucket.org/teraxas/vu-mif-ps-it-2013 · XML Schema · 138 lines · 118 code · 20 blank · 0 comment · 0 complexity · 873108eef4f476477544a6ae2ef1bd8e MD5 · raw file
- <?xml version="1.0"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:bb="https://bitbucket.org/teraxas/vu-mif-ps-oop2-2012-lazsist"
- targetNamespace="https://bitbucket.org/teraxas/vu-mif-ps-oop2-2012-lazsist"
- elementFormDefault="qualified">
-
- <xs:element name = "eventsList" type = "bb:eventslist"/>
-
- <xs:complexType name = "eventslist">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:element name = "LsEvent" type = "bb:LsEventExt"/>
- </xs:sequence>
- </xs:complexType>
-
- <!-- 6. Complex type MIXED content -->
- <xs:complexType name = "LsEventType" mixed = "true">
- <xs:sequence>
- <xs:element name = "eventDate" type = "xs:dateTime" />
- <xs:element name = "eventName" type = "bb:EventNameType"/>
- <xs:element name = "eventLocation" type = "xs:string"/>
- <xs:element name = "eventType" type = "xs:string"/>
- <xs:element name = "eventPhone" type = "bb:TelefonoListTipas"/>
- <xs:element name = "teamsLs" type = "bb:teamsListType"/>
- </xs:sequence>
- </xs:complexType>
-
- <!-- 4.2. complex type, complex content - EXTENSION -->
- <xs:complexType name="LsEventExt">
- <xs:complexContent>
- <xs:extension base = "bb:LsEventType">
-
- <xs:attribute name = "eventCountry" type = "xs:string"/>
-
- <xs:attribute name = "eventCycle">
- <xs:simpleType>
- <xs:restriction base = "xs:string">
- <xs:pattern value="yearly|monthly|daily|weekly"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name = "ticketPrice" type = "xs:decimal"
- use = "required"/>
-
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <!--
- 4.1. complex type, complex content - RESTRICTION
- <xs:complexType name="LsEventRestr" mixed = "true">
- <xs:complexContent>
- <xs:restriction base = "bb:LsEventExt">
- <xs:sequence>
- <xs:element name = "eventDate" type = "xs:dateTime" />
- <xs:element name = "eventName" type = "bb:EventNameType"/>
- <xs:element name = "eventLocation" type = "xs:string"/>
- <xs:element name = "eventType" type = "xs:string"/>
- <xs:element name = "eventPhone" type = "bb:TelefonoListTipas"/>
- <xs:element name = "teamsLs" type = "bb:teamsListType"/>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- -->
-
- <!-- 3. complexType, simple content -->
- <xs:complexType name="EventNameTypeExt">
- <xs:simpleContent>
- <xs:extension base = "bb:NameType">
- <xs:attribute name="abbreviation" type="xs:string"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
- <xs:complexType name="EventNameType">
- <xs:simpleContent>
- <xs:restriction base = "bb:EventNameTypeExt">
- <xs:maxLength value = "50"/>
- <xs:minLength value = "5"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
-
- <xs:simpleType name="NameType">
- <xs:restriction base = "xs:string"/>
- </xs:simpleType>
-
-
- <!-- 7. Choice valdymo str. -->
- <xs:complexType name="teamsListType">
- <xs:choice>
- <xs:element name = "team" type = "bb:teamType" minOccurs = "2" maxOccurs = "unbounded">
- <!-- KEY, KEYREF -->
- <xs:key name="TeamsKey">
- <xs:selector xpath="eventsList/LsEvent/teamsLs/team"/>
- <xs:field xpath="name"/>
- </xs:key>
- <xs:keyref name="TeamKeyRef" refer="bb:TeamsKey">
- <xs:selector xpath="eventsList/LsEvent/teamsLs"/>
- <xs:field xpath="@favorite"/>
- </xs:keyref>
- </xs:element>
- <xs:element name = "player" type = "bb:teamType" minOccurs = "2" maxOccurs = "unbounded"/>
- </xs:choice>
-
- <xs:attribute name = "favorite" type = "xs:string"/>
- </xs:complexType>
-
- <xs:complexType name="teamType">
- <xs:sequence>
- <xs:element name = "name" type = "xs:string"/>
- <xs:element name = "rate" type = "xs:decimal"/>
- </xs:sequence>
- </xs:complexType>
-
- <!-- 2. saraso tipas -->
- <xs:simpleType name="TelefonoListTipas">
- <xs:list itemType="xs:long"/>
- </xs:simpleType>
-
- <xs:simpleType name="TelefonoTipas">
- <xs:restriction base="xs:long">
- <xs:totalDigits value="9"/>
- </xs:restriction>
- </xs:simpleType>
-
-
- <!-- Apribojimo principas-->
- <!-- <xs:complexType name="eventNrRestr">
- <xs:simpleContent>
- <xs:restriction base = "bb:LsEventExt">
- <xs:attribute name = "ticketPrice" use="prohibited"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- -->
- </xs:schema>