Advertisement
moreiramota

Untitled

May 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns="http://www.dei.isep.ipp.pt/lprog"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. targetNamespace="http://www.dei.isep.ipp.pt/lprog"
  5. elementFormDefault="qualified">
  6. <xs:element name="casos" type="casosType"/>
  7. <!-- CasosType type -->
  8. <xs:complexType name="casosType">
  9. <xs:sequence>
  10. <xs:element name="cliente" type="clienteType" maxOccurs ="unbounded"/>
  11. </xs:sequence>
  12. </xs:complexType>
  13.  
  14. <!-- cliente type -->
  15. <xs:complexType name="clienteType">
  16. <xs:sequence>
  17. <xs:element name="cc" type="ccType"/>
  18. <xs:element name="nome" type="nomeType"/>
  19. <xs:element name="contactos" type="contactosType"/>
  20. <xs:element name="morada" type="moradaType" minOccurs ="1"/>
  21. <xs:element name="objetos" type="objetosType" minOccurs ="1"/>
  22. </xs:sequence>
  23. <xs:attribute type="xs:string" name="reference"/>
  24. </xs:complexType>
  25.  
  26. <xs:complexType name="objetosType">
  27. <xs:sequence>
  28. <xs:element name="objeto" type="objetoType"/>
  29. </xs:sequence>
  30. </xs:complexType>
  31.  
  32. <!-- cc type -->
  33. <xs:complexType name="objetoType">
  34. <xs:sequence>
  35. <xs:element name="nomeObjeto" type="stringValida"/>
  36. <xs:element name="moradaObjeto" type="moradaType" minOccurs ="1"/>
  37. <xs:element type="coberturasType" name="coberturas"/>
  38. <xs:element type="numeroMaiorZeroType" name="valorPremio"/>
  39. <xs:element type="vigenciaType" name="vigencia"/>
  40. <xs:element type="ocurrenciasType" name="ocurrencias"/>
  41. </xs:sequence>
  42. </xs:complexType>
  43.  
  44.  
  45. <!-- cc type -->
  46. <xs:complexType name="ccType">
  47. <xs:sequence>
  48. <xs:element name="numero" type="stringTamanhoOito"/>
  49. <xs:element name="dataFim" type="xs:date"/>
  50. </xs:sequence>
  51. </xs:complexType>
  52.  
  53. <!-- nome type -->
  54. <xs:complexType name="nomeType">
  55. <xs:sequence>
  56. <xs:element name="primeiro" type="stringValida"/>
  57. <xs:element name="apelido" type="stringValida"/>
  58. </xs:sequence>
  59. </xs:complexType>
  60.  
  61. <!-- stringTamanho type -->
  62. <xs:simpleType name="stringTamanhoOito">
  63. <xs:restriction base="xs:string">
  64. <xs:pattern value = "[0-9]{8}"/>
  65. </xs:restriction>
  66. </xs:simpleType>
  67.  
  68.  
  69. <!-- stringValida type -->
  70. <xs:simpleType name="stringValida">
  71. <xs:restriction base="xs:string">
  72. <xs:pattern value = "[A-Za-z0-9 ]+"/>
  73. </xs:restriction>
  74. </xs:simpleType>
  75.  
  76. <!-- contactoType type -->
  77. <xs:complexType name="contactosType">
  78. <xs:sequence maxOccurs ="unbounded">
  79. <xs:element name="telefone" type="telefoneType"/>
  80. </xs:sequence>
  81. </xs:complexType>
  82.  
  83. <!-- telefoneType type -->
  84. <xs:simpleType name="telefoneType">
  85. <xs:restriction base="xs:integer">
  86. <xs:minInclusive value= "100000000"/>
  87. <xs:maxInclusive value= "999999999"/>
  88. </xs:restriction>
  89. </xs:simpleType>
  90.  
  91. <!-- moradaType type -->
  92. <xs:complexType name="moradaType">
  93. <xs:sequence>
  94. <xs:element name="rua" type="stringValida"/>
  95. <xs:element name="porta" type="stringValida"/>
  96. <xs:element name ="localidade" type = "stringValida"/>
  97. <xs:element name ="pais" type = "stringValida"/>
  98. <xs:element name ="codigo_postal" type = "numeroNaoVazioType"/>
  99. </xs:sequence>
  100. </xs:complexType>
  101.  
  102. <!-- numeroNaoVazio type -->
  103. <xs:simpleType name="numeroNaoVazioType">
  104. <xs:restriction base="xs:integer">
  105. <xs:minInclusive value= "0"/>
  106. </xs:restriction>
  107. </xs:simpleType>
  108.  
  109.  
  110.  
  111.  
  112. <!-- CoberturasType type -->
  113. <xs:complexType name="coberturasType">
  114. <xs:sequence maxOccurs = "unbounded">
  115. <xs:element type ="coberturaType" name = "cobertura"/>
  116. </xs:sequence>
  117. </xs:complexType>
  118.  
  119. <xs:complexType name="coberturaType">
  120. <xs:sequence maxOccurs = "unbounded">
  121. <xs:element type ="stringValida" name = "descricao"/>
  122. </xs:sequence>
  123. <xs:attribute name="cobertura" type="xs:string" use="required"/>
  124. </xs:complexType>
  125.  
  126.  
  127. <!-- vigenciaType type -->
  128. <xs:complexType name="vigenciaType">
  129. <xs:sequence>
  130. <xs:element name="dataInicio" type="dataType"/>
  131. <xs:element name="dataFim" type="dataType"/>
  132. </xs:sequence>
  133. </xs:complexType>
  134.  
  135. <!-- vigenciaType type -->
  136. <xs:complexType name="dataType">
  137. <xs:sequence>
  138. <xs:element name="ano" type="numeroMaiorZeroType"/>
  139. <xs:element name="mes" type="numeroMaiorZeroType"/>
  140. <xs:element name="dia" type="numeroMaiorZeroType"/>
  141. </xs:sequence>
  142. </xs:complexType>
  143.  
  144. <!-- ocurrenciasType type -->
  145. <xs:complexType name="ocurrenciasType">
  146. <xs:sequence>
  147. <xs:element name="ocurrenciasTotal" type="numeroValidoType"/>
  148. <xs:element name="ocurrenciasPenultimoAno" type="numeroValidoType"/>
  149. <xs:element name="ocurrenciasUltimoAno" type="numeroValidoType"/>
  150. </xs:sequence>
  151. </xs:complexType>
  152.  
  153. <!-- numeroMaiorZeroType type -->
  154. <xs:simpleType name="numeroMaiorZeroType">
  155. <xs:restriction base="xs:integer">
  156. <xs:minInclusive value= "1"/>
  157. </xs:restriction>
  158. </xs:simpleType>
  159.  
  160. <!-- numeroValidoType type -->
  161. <xs:simpleType name="numeroValidoType">
  162. <xs:restriction base="xs:integer">
  163. <xs:minInclusive value= "0"/>
  164. </xs:restriction>
  165. </xs:simpleType>
  166.  
  167. <!-- diaDaSemana Type type -->
  168. <xs:simpleType name="diaDaSemanaType">
  169. <xs:restriction base="xs:string">
  170. <xs:enumeration value="Domingos"/>
  171. <xs:enumeration value="Segunda-Feiras"/>
  172. <xs:enumeration value="Terça-Feiras"/>
  173. <xs:enumeration value="Quarta-Feiras"/>
  174. <xs:enumeration value="Quinta-Feiras"/>
  175. <xs:enumeration value="Sexta-Feiras"/>
  176. <xs:enumeration value="Sabados"/>
  177. </xs:restriction>
  178. </xs:simpleType>
  179.  
  180. </xs:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement