Commit c1a2a252691f24d8944b8882dd687317baa05fa8

Authored by Aníbal Pacheco
1 parent bb2fcddc76
Exists in master

Incluye todo el diagrama UML, errores de validación

Showing 2 changed files with 156 additions and 79 deletions Side-by-side Diff

DireccionesXMLSchema.xsd View file @ c1a2a25
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <schema targetNamespace="http://www.example.org/DireccionesXMLSchema" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.org/DireccionesXMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2">
3 3 <import schemaLocation="http://schemas.opengis.net/gml/3.2.1/geometryBasic0d1d.xsd" namespace="http://www.opengis.net/gml/3.2"/>
4   - <element name="Direccion" type="tns:DireccionType"/>
  4 +
  5 + <complexType name="DireccionList">
  6 + <sequence>
  7 + <element maxOccurs="1" minOccurs="0" name="Direccion" type="tns:DireccionType"/>
  8 + </sequence>
  9 + </complexType>
  10 +
  11 + <complexType name="Barrio">
  12 + <sequence>
  13 + <element maxOccurs="1" minOccurs="0" name="nombre" type="string"/>
  14 + <element maxOccurs="unbounded" minOccurs="0" name="alias" type="string"/>
  15 + </sequence>
  16 + </complexType>
  17 +
5 18 <complexType name="DireccionType">
6 19 <sequence>
7   - <element name="Pais" type="string" minOccurs="0" maxOccurs="1"/>
8   - <element name="Departamento" type="string" minOccurs="0" maxOccurs="1"/>
9   - <element name="Localidad" type="string" minOccurs="0" maxOccurs="1"/>
10   - <element name="Manzana" minOccurs="0" maxOccurs="1" type="int"/>
11   - <element name="Padron" type="int" minOccurs="0" maxOccurs="1"/>
12   - <element name="Solar" type="int" minOccurs="0" maxOccurs="1"/>
13   - <element name="DirVialidad" type="tns:Vialidad" minOccurs="0" maxOccurs="1"/>
14   - <element name="Numero" type="string" maxOccurs="1" minOccurs="0"/>
15   - <element name="Letra" type="string" maxOccurs="1" minOccurs="0"/>
16   - <element name="Kilometro" type="string" maxOccurs="1" minOccurs="0"/>
17   - <element name="nombreInmueble" type="string" maxOccurs="1" minOccurs="0"/>
18   - <element name="referenciaVER" type="string"/>
19   - <element name="block" type="string" maxOccurs="1" minOccurs="0"/>
20   - <element name="torre" type="string" maxOccurs="1" minOccurs="0"/>
21   - <element name="piso" type="string" maxOccurs="1" minOccurs="0"/>
22   - <element name="apartamento" type="string" maxOccurs="1" minOccurs="0"/>
23   - <element name="codPostal" type="int" maxOccurs="1" minOccurs="0"/>
24   - <element name="barrio" type="tns:barrioType"/>
25   - <element name="seccPolicial" type="int"/>
26   - <element name="seccJudicial" type="int"/>
27   - <element name="entidadColectiva" type="tns:entidadColectivaType"/>
28   - <element name="descripcion" type="string" maxOccurs="1" minOccurs="0"/>
29   - <element name="refCoordenadas" type="tns:refCoordenadasType"/>
  20 + <element maxOccurs="1" minOccurs="0" name="pais" type="string"/>
  21 + <element maxOccurs="1" minOccurs="0" name="departamento" type="string"/>
  22 + <element maxOccurs="1" minOccurs="0" name="localidad" type="tns:Localidad"/>
  23 + <element maxOccurs="1" minOccurs="0" name="manzana" type="int"/>
  24 + <element maxOccurs="1" minOccurs="0" name="padron" type="int"/>
  25 + <element maxOccurs="1" minOccurs="0" name="solar" type="int"/>
  26 + <element maxOccurs="1" minOccurs="0" name="numero" type="string"/>
  27 + <element maxOccurs="1" minOccurs="0" name="letra" type="string"/>
  28 + <element maxOccurs="1" minOccurs="0" name="kilometro" type="string"/>
  29 + <element maxOccurs="1" minOccurs="0" name="nombreInmueble" type="string"/>
  30 + <element maxOccurs="unbounded" minOccurs="0" name="referencia" type="tns:Referencia"/>
  31 + <element maxOccurs="unbounded" minOccurs="0" name="subDireccion" type="tns:SubDireccion"/>
  32 + <element maxOccurs="1" minOccurs="0" name="codigoPostal" type="int"/>
  33 + <element maxOccurs="1" minOccurs="0" name="barrio" type="tns:Barrio"/>
  34 + <element maxOccurs="1" minOccurs="0" name="seccionPolicial" type="int"/>
  35 + <element maxOccurs="1" minOccurs="0" name="seccionJudicial" type="int"/>
  36 + <element maxOccurs="1" minOccurs="0" name="entidadColectiva" type="tns:EntidadColectiva"/>
  37 + <element maxOccurs="1" minOccurs="0" name="descripcion" type="string"/>
  38 + <element maxOccurs="1" minOccurs="0" name="viaTransito" type="tns:ViaTransito"/>
  39 + <element maxOccurs="1" minOccurs="0" name="tramoVia" type="tns:TramoVia"/>
  40 + <element maxOccurs="1" minOccurs="0" name="criterioGeocod" type="tns:CriterioGeocod"/>
30 41 <element name="coordenadas">
31 42 <complexType>
32 43 <sequence>
33 44  
34 45  
... ... @@ -37,16 +48,64 @@
37 48 </sequence>
38 49 </complexType>
39 50  
  51 + <complexType name="SubDireccion">
  52 + <sequence>
  53 + <element maxOccurs="1" minOccurs="0" name="senda" type="string"/>
  54 + <element maxOccurs="1" minOccurs="0" name="block" type="string"/>
  55 + <element maxOccurs="1" minOccurs="0" name="torre" type="string"/>
  56 + <element maxOccurs="1" minOccurs="0" name="piso" type="string"/>
  57 + <element maxOccurs="1" minOccurs="0" name="apartamento" type="string"/>
  58 + <element maxOccurs="1" minOccurs="0" name="descripcion" type="string"/>
  59 + <element maxOccurs="1" minOccurs="0" name="criterioGeocod" type="tns:CriterioGeocod"/>
  60 + <element name="coordenadas">
  61 + <complexType>
  62 + <sequence>
  63 + <element ref="gml:Point"/>
  64 + </sequence>
  65 + </complexType>
  66 + </element>
  67 + </sequence>
  68 + </complexType>
  69 +
  70 + <complexType name="ViaTransito">
  71 + <sequence>
  72 + <element maxOccurs="1" minOccurs="0" name="nombre" type="string"/>
  73 + <element maxOccurs="1" minOccurs="0" name="numeroRuta" type="int"/>
  74 + <element maxOccurs="unbounded" minOccurs="0" name="alias" type="string"/>
  75 + <element maxOccurs="1" minOccurs="0" name="vialidad" type="tns:Vialidad"/>
  76 + <element maxOccurs="unbounded" minOccurs="0" name="abrevEspecifica" type="string"/>
  77 + </sequence>
  78 + </complexType>
  79 +
  80 + <complexType name="Referencia">
  81 + <sequence>
  82 + <element maxOccurs="1" minOccurs="0" name="tipo" type="tns:TipoReferencia"/>
  83 + <element maxOccurs="1" minOccurs="0" name="cuantificador" type="int"/>
  84 + <element maxOccurs="1" minOccurs="0" name="viaReferencia" type="tns:ViaTransito"/>
  85 + </sequence>
  86 + </complexType>
  87 +
  88 + <simpleType name="TipoReferencia">
  89 + <restriction base="string">
  90 + <enumeration value="PARALELA"/>
  91 + </restriction>
  92 + </simpleType>
  93 +
  94 + <complexType name="TramoVia">
  95 + <sequence>
  96 + <element maxOccurs="1" minOccurs="0" name="via" type="tns:ViaTransito"/>
  97 + <element maxOccurs="2" minOccurs="0" name="entrecalles" type="tns:ViaTransito"/>
  98 + </sequence>
  99 + </complexType>
  100 +
40 101 <complexType name="Vialidad">
41 102 <sequence>
42   - <element name="TipoVialidad" type="tns:TipoVialidadType" maxOccurs="1" minOccurs="1"/>
43   - <element name="Nombre" type="string" minOccurs="0" maxOccurs="1"/>
44   - <element name="NumeroRuta" type="int" minOccurs="0" maxOccurs="1"/>
45   - <element name="Alias" type="string" maxOccurs="unbounded" minOccurs="0"/>
  103 + <element maxOccurs="1" minOccurs="0" name="tipo" type="tns:TipoVialidad"/>
  104 + <element maxOccurs="unbounded" minOccurs="0" name="abrevGenerica" type="string"/>
46 105 </sequence>
47 106 </complexType>
48   -
49   - <simpleType name="TipoVialidadType" final="list">
  107 +
  108 + <simpleType final="list" name="TipoVialidad">
50 109 <restriction base="string">
51 110 <enumeration value="AVENIDA"/>
52 111 <enumeration value="BOULEVARD"/>
53 112  
54 113  
55 114  
56 115  
... ... @@ -69,21 +128,22 @@
69 128 </restriction>
70 129 </simpleType>
71 130  
72   - <complexType name="barrioType">
  131 + <complexType name="Localidad">
73 132 <sequence>
74   - <element name="Nombre" type="string" maxOccurs="1" minOccurs="1"/>
75   - <element name="Alias" type="string" maxOccurs="unbounded" minOccurs="0"/>
  133 + <element maxOccurs="1" minOccurs="0" name="codigo" type="string"/>
  134 + <element maxOccurs="1" minOccurs="0" name="nombre" type="string"/>
  135 + <element maxOccurs="unbounded" minOccurs="0" name="alias" type="string"/>
76 136 </sequence>
77 137 </complexType>
78 138  
79   - <complexType name="entidadColectivaType">
  139 + <complexType name="EntidadColectiva">
80 140 <sequence>
81   - <element name="TipoEntidad" type="tns:TipoEntidadType" maxOccurs="1" minOccurs="1"/>
82   - <element name="Nombre" type="string" maxOccurs="1" minOccurs="1"/>
  141 + <element maxOccurs="1" minOccurs="0" name="tipo" type="tns:TipoEntidadColectiva"/>
  142 + <element maxOccurs="1" minOccurs="0" name="nombre" type="string"/>
83 143 </sequence>
84 144 </complexType>
85 145  
86   - <simpleType name="TipoEntidadType" final="list">
  146 + <simpleType final="list" name="TipoEntidadColectiva">
87 147 <restriction base="string">
88 148 <enumeration value="AEROPUERTO"/>
89 149 <enumeration value="ASENTAMIENTO IRREGULAR"/>
... ... @@ -101,7 +161,7 @@
101 161 </restriction>
102 162 </simpleType>
103 163  
104   - <simpleType name="refCoordenadasType">
  164 + <simpleType name="CriterioGeocod">
105 165 <restriction base="string">
106 166 <enumeration value="0: Punto de entrega del servicio"/>
107 167 <enumeration value="1: Sobre la calle frente a la entrega del servicio"/>
... ... @@ -113,5 +173,6 @@
113 173 <enumeration value="7: No aplica"/>
114 174 </restriction>
115 175 </simpleType>
  176 +
116 177 </schema>
ejemplo1.xml View file @ c1a2a25
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<tns:Direccion xmlns:tns="DireccionesXMLSchema" xmlns:xsi="DireccionesXMLSchema.xsd" xmlns:gml="http://www.opengis.net/gml/3.2">
3   - <tns:Pais>UY</tns:Pais>
4   - <tns:Departamento>UYMO</tns:Departamento>
5   - <tns:Localidad>MVD</tns:Localidad>
6   - <tns:Manzana>0</tns:Manzana>
7   - <tns:Padron>5019</tns:Padron>
8   - <tns:Solar>0</tns:Solar>
9   - <tns:DirVialidad>
10   - <tns:TipoVialidad>CALLE</tns:TipoVialidad>
11   - <tns:Nombre>Andes</tns:Nombre>
12   - <tns:NumeroRuta>0</tns:NumeroRuta>
13   - <tns:Alias></tns:Alias>
14   - </tns:DirVialidad>
15   - <tns:Numero>1365</tns:Numero>
16   - <tns:Letra></tns:Letra>
17   - <tns:Kilometro></tns:Kilometro>
18   - <tns:nombreInmueble></tns:nombreInmueble>
19   - <tns:referenciaVER></tns:referenciaVER>
20   - <tns:block></tns:block>
21   - <tns:torre></tns:torre>
22   - <tns:piso>7</tns:piso>
23   - <tns:apartamento></tns:apartamento>
24   - <tns:codPostal>11100</tns:codPostal>
25   - <tns:barrio>
26   - <tns:Nombre>Centro</tns:Nombre>
27   - <tns:Alias></tns:Alias>
28   - </tns:barrio>
29   - <tns:seccPolicial>0</tns:seccPolicial>
30   - <tns:seccJudicial>0</tns:seccJudicial>
31   - <tns:entidadColectiva>
32   - <tns:TipoEntidad></tns:TipoEntidad>
33   - <tns:Nombre></tns:Nombre>
34   - </tns:entidadColectiva>
35   - <tns:descripcion></tns:descripcion>
36   - <tns:refCoordenadas>0: Punto de entrega del servicio</tns:refCoordenadas>
37   - <tns:coordenadas>
38   - <gml:Point>
39   - -56.19, -34.90
40   - </gml:Point>
41   - </tns:coordenadas>
42   -</tns:Direccion>
  2 +<DireccionList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xsi:schemaLocation="DireccionesXMLSchema.xsd" xmlns:gml="http://www.opengis.net/gml/3.2">
  4 + <Direccion>
  5 + <Pais>UY</Pais>
  6 + <Departamento>UYMO</Departamento>
  7 + <Localidad>MVD</Localidad>
  8 + <Manzana>0</Manzana>
  9 + <Padron>5019</Padron>
  10 + <Solar>0</Solar>
  11 + <DirVialidad>
  12 + <TipoVialidad>CALLE</TipoVialidad>
  13 + <Nombre>Andes</Nombre>
  14 + <NumeroRuta>0</NumeroRuta>
  15 + <Alias></Alias>
  16 + </DirVialidad>
  17 + <Numero>1365</Numero>
  18 + <Letra></Letra>
  19 + <Kilometro></Kilometro>
  20 + <nombreInmueble></nombreInmueble>
  21 + <referenciaVER></referenciaVER>
  22 + <block></block>
  23 + <torre></torre>
  24 + <piso>7</piso>
  25 + <apartamento></apartamento>
  26 + <codPostal>11100</codPostal>
  27 + <barrio>
  28 + <Nombre>Centro</Nombre>
  29 + <Alias></Alias>
  30 + </barrio>
  31 + <seccPolicial>0</seccPolicial>
  32 + <seccJudicial>0</seccJudicial>
  33 + <entidadColectiva>
  34 + <TipoEntidad></TipoEntidad>
  35 + <Nombre></Nombre>
  36 + </entidadColectiva>
  37 + <descripcion></descripcion>
  38 + <refCoordenadas>0: Punto de entrega del servicio</refCoordenadas>
  39 + <coordenadas>
  40 + <gml:Point>-56.19, -34.90</gml:Point>
  41 + </coordenadas>
  42 + </Direccion>
  43 + <Direccion>
  44 + <Pais>UY</Pais>
  45 + <Departamento>UYMO</Departamento>
  46 + <Localidad>MVD</Localidad>
  47 + <Manzana>0</Manzana>
  48 + <Padron>5019</Padron>
  49 + <Solar>0</Solar>
  50 + <DirVialidad>
  51 + <TipoVialidad>CALLE</TipoVialidad>
  52 + <Nombre>Andes</Nombre>
  53 + <NumeroRuta>0</NumeroRuta>
  54 + <Alias></Alias>
  55 + </DirVialidad>
  56 + <Numero>1366</Numero>
  57 + </Direccion>
  58 +</DireccionList>