moreiramota

Untitled

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