scieee Science in your language
[sp] (orig)

Tema 2. Plataforma tecnológica

Author: Núñez Andrés, María Amparo
Publisher: Universitat Politècnica de Catalunya
Year: 2025
Source: https://upcommons.upc.edu/bitstream/2117/425889/2/2-Plataforma%20tecnol%c3%b3gica_23_2024.pdf
ENGINYERIA
GEOMÁTICA
P esen ación
Pla a o ma ecnológica
Docen es: Es he Pulido Ba be án; M Ampa o Núñez And és
Asigna u a:
In aes uc u a de da os espaciales
Ti ulación: Ingenie ía en geoin o mación y geomá ica
Cu so:24/25 Cua imes e: 4A
Cen o: EPSEB
Idioma: Cas ellano
Fecha: 10/2024
22In aes uc u as de Da os Espaciales
TEMA 2. Pla a o ma ecnológica
In aes uc u as de Da os Espaciales
ÍNDICE
1. A qui ec u a clien -se ido
2. A qui ec u a de 3 capes
3. A qui ec u a de n capes
4. Llengua ge XML
In aes uc u as de Da os Espaciales 3
INTRODUCCIÓN
Aspec os básicos de las pla a o mas in o má icas que sus en an
las IDE.
– A qui ec u a de sis emas que ecomienda y p opone la Di ec i a INSPIRE
(modelos de a qui ec u a p ecu so es)
– A qui ec u a o ien ada a se icios web
4In aes uc u as de Da os Espaciales
ARQUITECTURA DE SISTEMAS
Diseño es uc u al y concep ual de un sis ema de ha dwa e o so wa e
y la in e acción de sus componen es pa a cumpli los obje i os
ma cados.
Es el ma co guia pa a la CONSTRUCCIÓN, OPERACIÓN y
EVOLUCIÓN de sis emas complejos.
Pe mi e plani ica :
– Escalabilidad: capacidad de un sis ema pa a adap a se al c ecimien o de la demanda
o a una mayo ca ga de abajo sin pe de endimien o ni e iciencia (núme o de
usua ios, olumen de da os, complejidad de las ope aciones,…)
– Segu idad: conjun o de polí icas, ecnologías, y medidas diseñadas pa a p o ege los
sis emas, da os y edes en e a amenazas, a aques, y accesos no au o izados.
– Rendimien o: ealiza a eas de mane a e icien e y ápida, op imizando el uso de
ecu sos como la CPU, la memo ia, el almacenamien o y la ed.
– In eg ación: ga an iza que los sis emas, aplicaciones y bases de da os compa an
in o mación y uncionen de mane a cohe en e, op imizando los lujos de abajo y
acili ando la oma de decisiones basada en da os.
5In aes uc u as de Da os Espaciales

ARQUITECTURA DE SISTEMAS
Elemen os cla e
1. COMPONENTES: Pa es p incipales del sis ema
– So wa e, Bases de da os, Se icios, Ha dwa e
2. INTERFACES: Pun os de comunicación en e componen es, cómo los
componen es in e ac úan
– P o ocolos, APIs
3. CONECTORES: mecanismos que pe mi en la comunicación en e
componen es e in e aces
– llamadas a p ocedimien os emo os, colas de mensajes
4. DATOS: cómo los da os se almacenan, acceden y anspo an en e
componen es
– Bases de da os, Sis emas de a chi os, Nube
5. REDES: in aes uc u a de comunicación en e componen es
– Topología de ed, Ancho de banda, La encia
6. SEGURIDAD: P o ocolo y mecanismos que asegu an la in eg idad,
con idencialidad y disponibilidad del sis ema.
– Au en icación, Ci ado, i ewalls.
6In aes uc u as de Da os Espaciales
ARQUITECTURA DE SISTEMAS
Tipos
A qui ec u a monolí ica
A qui ec u a dis ibuida
A qui ec u a clien e-se ido
– Se basa en la elación en e clien es (que solici an se icios) y se ido es
(que los p opo cionan). Es una de las a qui ec u as más comunes en
aplicaciones web.
A qui ec u a de mic ose icios
A qui ec u a en la nube
7In aes uc u as de Da os Espaciales
88In aes uc u as de Da os Espaciales
2.1. A qui ec u a clien e-se ido (C/S)
Descomposición de los sis emas in o má icos en dos pa es:
– Clien e: elemen o emiso de una solici ud.
– Se ido : elemen o ecep o de una solici ud.
Al e na i a a la a qui ec u a monolí ica en la que no hay
dis ibución, an o a ni el ísico como a ni el lógico.
Ca ac e ís icas p incipales del clien e:
– Es quien inicia solici udes o pe iciones, iene po an o un papel ac i o en la
comunicación (disposi i o maes o o amo).
– Espe a y ecibe las espues as del se ido .
– Gene almen e puede simul anea conexiones a di e en es se ido es.
– Suele se el componen e que in e ac úa con el usua io median e una
in e az g á ica.
99In aes uc u as de Da os Espaciales
2.1. A qui ec u a clien e-se ido (C/S)
Ca ac e ís icas p incipales del se ido :
– Al inicia se espe a a que lleguen las solici udes de los clien es,
desempeñando un ol pasi o en la comunicación (disposi i o escla o).
– T as la ecepción de una solici ud, la p ocesan y luego en ían la espues a
al clien e.
– Gene almen e acep an conexiones desde múl iples clien es.
– No suelen in e ac ua di ec amen e con el usua io.
Comunmen e se acep a la di e enciación en e clien es:
– Lige os: equie en una ins alación mínima (no ap eciable en la mayo ía de
los casos po el usua io). A í ulo de ejemplo, una aplicación Web como
Google Maps.
– Pesados: equie en una ins alación exp esa (obligando no malmen e a
dispone de p i ilegios de adminis ado ). A í ulo de ejemplo, A cGIS
Desk op o Google Ea h.
1616In aes uc u as de Da os Espaciales
2.2. A qui ec u a de es capas
Capa de negocio:
– En ella esiden los módulos que acapa an la lógica de negocio, es deci , el
conocimien o del con ex o que pe mi e de ini los algo i mos que esuel an
los p oblemas que subyacen en la uncionalidad p esen ada po el sis ema.
– Se comunica con la capa de p esen ación pa a ecibi las solici udes y
p esen a los esul ados.
– Se comunica con la capa de da os pa a solici a al ges o de la base de
da os el almacenamien o o ecupe ación de in o mación.
Capa de da os:
– En ella esiden los da os y es la enca gada de accede a los mismos.
– Es á o mada po uno o más ges o es de bases de da os que ealizan odo
el almacenamien o de da os, eciben solici udes de almacenamien o o
ecupe ación de in o mación.
– Se comunica únicamen e con la capa de negocio.

1717In aes uc u as de Da os Espaciales
2.2. A qui ec u a de es capas
Conside aciones sob e la ubicación:
– Todas las capas pueden esidi en un único o denado , si bien lo más usual
es que haya una mul i ud de o denado es en donde eside la capa de
p esen ación (son los clien es de la a qui ec u a clien e/se ido ).
– Las capas de negocio y de da os pueden esidi en el mismo o denado , y
si el c ecimien o de las necesidades lo aconseja se pueden sepa a en dos
o más o denado es.
– Si el amaño o complejidad de la base de da os aumen a, se puede sepa a
en a ios o denado es los cuales ecibi án las pe iciones del o denado en
que esida la capa de negocio.
– Si, po el con a io, uese la complejidad en la capa de negocio lo que
obligase a la sepa ación, es a capa de negocio pod ía esidi en uno o más
o denado es que ealiza ían solici udes a una única base de da os.
1818In aes uc u as de Da os Espaciales
2.2. A qui ec u a de es capas
No con undi el é mino capa con el de ni el.
– El é mino capa hace e e encia a la o ma en la que se ealiza una
segmen ación desde un pun o de is a lógico.
– El é mino ni el co esponde a la o ma en que las capas lógicas se
encuen an dis ibuidas de o ma ísica.
Ejemplos:
– Una solución de es capas que esiden en un solo o denado iene un
único ni el.
– Una solución de es capas que esiden en dos o denado es (p esen ación
y lógica+da os) iene dos ni eles.
1919In aes uc u as de Da os Espaciales
2.2. A qui ec u a de es capas
Modelo ecomendado y p opues o po INSPIRE pa a el desa ollo de
IDEs.
Inies o, M. Jose; Nuñez, Ampa o. “Modelo p econizado po INSPIRE pa a el desa ollo de una IDE". In aes uc u as de Da os Espaciales, 2021,
h ps://www.ign.es/ esou ces/ace caDe/libDigPub/Lib o-IDE-2020.pd
2.2. A qui ec u a de es capas
20In aes uc u as de Da os Espaciales
Me ada os
• Desc iben los conjun os de da os de la CAPA DE DATOS
• Desc iben los se icios que se publican en la CAPA DE NEGOCIO
2.2. A qui ec u a de es capas
A qui ec u a del so wa e mul icapa | | UPV
–h ps://you u.be/kH xX1E9 IU
21In aes uc u as de Da os Espaciales

2222In aes uc u as de Da os Espaciales
2.3. A qui ec u a de n-capas
El núme o de capas de una a qui ec u a a ia á en unción del
núme o de compa imen os lógicos que obse emos.
Una ejemplo de solución de cinco capas se ía la siguien e:
– Capa de in e az g á ica (ej. na egado Web): p ocesa el con enido de los
documen os HTML pa a mos a los al usua io. Recupe a es os documen os
de la capa de p esen ación median e el p o ocolo HTTP.
– Capa de lógica de p esen ación (ej. módulo PHP en un se ido Web):
enca gada de gene a los documen os HTML que se en ían a la capa
supe io . La in o mación de los documen os la ecibe de la capa in e io .
– Capa de lógica de negocio (ej. se ido de aplicaciones con EJB):
exp esada en los é minos ya conocidos.
– Capa de acceso a da os (ej. se ido de aplicaciones con JDBC): in e az
de la lógica de negocio en su acceso a los da os.
– Capa de da os (ej. ges o de bases de da os): exp esada en los é minos ya
conocidos.
2323In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML (eX ensible Ma kup Language - Lenguaje de Ma cas Ex ensible)
es un lenguaje de ma cado que se u iliza pa a es uc u a , almacena y
anspo a da os.
Essimila en o ma oaHTML:
– HTML de ine cómo se debe p esen a la in o mación en una página web
– XML se cen a en desc ibi y o ganiza los da os de mane a que sean ácilmen e
comp ensibles an o pa a humanos como pa a máquinas.
Es el lenguaje es ánda median e el cual se a icula la comunicación
en e los di e en es componen es de una IDE cuando se a a de
in e cambia in o mación al anumé ica.
Fue c eado en 1996 po el Wo d Wide Web Conso ium (W3C)
pa iendo de las especi icaciones del Lenguaje Es ánda Gene alizado
de Ma cas (SGML).
La p ime a de inición que apa eció ue: Sis ema pa a de ini , alida y
compa i o ma os de documen os en la web.
2.4. Lenguaje XML
¿Po qué usa XML pa a el ámbi o de los Geoda os?
– capacidad del o ma o pa a o ganiza y es uc u a da os complejos
– amplia compa ibilidad y es anda ización
P incipales azones:
–1. Es anda ización de Da os: Es un es ánda acep ado pa a ep esen a da os
es uc u ados, lo que acili a la in e ope abilidad en e dis in os sis emas.
–2. Flexibilidad: Es un lenguaje de ma cado lexible y ex ensible.
–3. Legibilidad y Es uc u a Je á quica: Es legible an o po máquinas como po
humanos. Su es uc u a je á quica es adecuada pa a desc ibi da os geog á icos, que
ienen elaciones espaciales complejas.
–4. In e ope abilidad con es ánda es OGC: OGC ha adop ado XML como base pa a
a ios es ánda es.
–5. T ans o mación y Validación de Da os: He amien as a anzadas pa a la
alidación de da os, como esquemas XML (XSD).
–6. In eg ación con Tecnologías Web: Aplicaciones web o se icios web pa a la
dis ibución de da os espaciales.
24In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Ca ac e ís icas p incipales de XML:
–Ex ensible: no iene e ique as p ede inidas. Los usua ios pueden
de ini sus p opias e ique as, lo que lo hace muy lexible.
–Au odesc ip i o: Los da os en XML son au odesc ip i os po que
las e ique as dan con ex o al con enido.
–Po abilidad: es independien e de la pla a o ma y del lenguaje de
p og amación, pe mi e in e cambia da os en e sis emas y
aplicaciones.
–Je á quico: pe mi e o ganiza los da os en una es uc u a de á bol,
con elemen os anidados, lo que acili a la ep esen ación de
elaciones complejas en e da os.
–Legibilidad: Es ácil de lee y en ende , ya que su es uc u a de
ma cado es cla a y simple.
25In aes uc u as de Da os Espaciales
3232In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o
– Un documen o XML con iene ex o, nunca da os bina ios.
– Es á compues o de:
a) La decla ación XML
b) Elemen os (“e ique as”)
c) Tex o (cadena de ca ac e es)
d) Re e encias a En idades
e) Secciones CDATA
) Comen a ios
g) Ins ucciones de P ocesamien o

3333In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Decla ación XML
- De ca ác e opcional, pe o si apa ece debe se la p ime a línea del
documen o.
- P opo ciona in o mación básica sob e la e sión de XML y la codi icación
de ca ac e es u ilizada en el documen o.
- Aunque es opcional, es una buena p ác ica inclui la, especialmen e
cuando se necesi a especi ica la codi icación o e sión del documen o.
- Su “aspec o” es simila al de una ins ucción de p oceso:
<?xml e sion=“...” encoding=“...” s andalone=“...”?>
- Tiene es a ibu os:
-Ve sion = Indica la e sión del es ánda XML del documen o
-Encoding = Indica el juego de codi icación de ca ac e es del documen o
-S andalone:
- no ( alo po de ec o) El documen o depende de un DTD (Documen Type De ini ion)
ex e no.
-yesEl documen o con iene un DTD in e no.
2.4. Lenguaje XML
Es uc u a del documen o
Decla ación XML
– Si no se incluye una decla ación XML, las aplicaciones asumen que el
documen o es á codi icado en UTF-8 y que es á usando la e sión 1.0 de
XML.
– La decla ación XML iene la siguien e sin axis gene al:
<?xml e sion="1.0" encoding="UTF-8" s andalone="yes"?>
34In aes uc u as de Da os Espaciales
3535In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o - Elemen o <> E ique a
– Un elemen o (o e ique a o nodo) es odo aquello que a delimi ado po una
e ique a de comienzo (< ag>) y una e ique a de in (</ ag>).
– Todo lo que es á en e esas dos e ique as se llama el con enido del
elemen o.
< ag>CONTENIDO DEL ELEMENTO</ ag>
– Hay dos ipos de e ique as:
•Emp y :Una e ique a emp y ambién es un elemen o un elemen o sin
con enido < ag> </ ag> o< ag/>
•Non-Emp y o ‘con enedo a’: Con ienen algo. Tiene que habe una e ique a de
comienzo y una e ique a de in. En la e ique a de in, el símbolo < siemp e a
seguido del símbolo /
<co eo>
...
...
</co eo>
3636In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o - Elemen o <> E ique a
– El con enido de un elemen o puede se :
•Tex o:
<des ina a io>Ped o Alonso</des ina a io>
• Elemen os:
<anexos>
< iche o nomb e=“Tema io.pd ”/>
< iche o nomb e=“Apun es.pd ”/>
</anexos>
• Con enido mix o ( ex o + elemen os):
<cue poMail>
Hola Ped o, e adjun o los ema ios
< i ma>
P o eso De echo
</ i ma>
</cue poMail>
3737In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o - Elemen o <> E ique a
– Cuando un elemen o Hes á con enido en un elemen o Qse dice que:
• H es un elemen o hijo de Q.
• Q es el elemen o pad e de H.
– En XML odo elemen o iene uno y sólo un pad e.
– El elemen o aíz es el único que no iene pad e.
• Todo documen o XML debe ene uno y sólo un elemen o aíz.
• Es el llamado NODO p incipal.

3838In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Eje cicio: ealiza un documen o XML sob e la oma de
condiciones a mos é icas ealizadas en Ba celona,eldía27 de
ab il del 2011 alas8:00 de la mañana, siendo los da os
ob enidos de empe a u a: 16º,humedad: 90,di ección del
ien o SO y elocidad de 6 Km/h, en la es ación me e eológica
del Obse a o io Fab a.
– Recomendación:
• U iliza un edi o de ex os (No epad++ con plugin XML, Bloc de no as,…)
• Pasos a segui :
1. Haz un á bol de la es uc u a de la in o mación (elemen o aíz, hijos,…)
2. Es uc u a y esc ibe el documen o XML
» Decla ación XML
» Elemen os
3939In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
<condiciones_a mos é icas>
< echa>27 de ab il del 2011</ echa>
<ho a>08:00</ho a>
<luga >Ba celona</luga >
< empe a u a>16</ empe a u a>
<humedad>90</humedad>
< ien o_di eccion>SO</ ien o_di ección>
< ien o_ elocidad>6 Km/h</ ien o_ elocidad>
<nomb e_es acion>Obse a o io Fab a</nomb e_es acion>
</condiciones_a mos é icas >
4040In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
<condiciones_a mos é icas>
< echa>
<dia>27</dia>
<mes>ab il</mes>
<año>2011</año>
</ echa>
<ho a>08:00</ho a>
<luga >
<pais>España</pais>
<ciudad>Ba celona</ciudad>
</luga >
<medidas>
< empe a u a>16</ empe a u a>
<humedad>90</humedad>
< ien o>
<di ección>SO</di ección>
< elocidad>6</ elocidad>
<unidades_de_la_ elocidad>Km/h</ unidades_de_la_ elocidad >
</ ien o>
</medidas>
<es acion_me e eologica>
<nomb e>Obse a o ioFab a</nomb e>
</es acion_me e eologica >
</condiciones_a mos é icas >
4141In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Eje cicio: ealiza un documen o XML sob e el anuncio de
en a de un piso si uado en Ba celona, publicado hace 2
meses, siendo los da os del es e supe icie: 120 m2,supe icie
ú il: 104 m2, habi aciones: 4,ascenso , ai e acondicionado,
cale acción gas na u al yp ecio 325000 €, ba io Poble Nou.
– Recomendación:
• U iliza un edi o de ex os (No epad++ con plugin XML, Bloc de no as,…)
• Pasos a segui :
1. Haz un á bol de la es uc u a de la in o mación (elemen o aíz, hijos,…)
2. Es uc u a y esc ibe el documen o XML
» Decla ación XML
» Elemen os
4848In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o – Secciones CDATA
– PCDATA - Pa sed Cha ac e Da a
•XMLpa se s analizan sin ác icamen e odo el ex o con enido en un
XML.
• Cuando un elemen o XML es analizado, el ex o comp endido en e
dos e ique as XML ambién es analizado.
<message>This ex is also pa sed</message>
El analizado ealiza es e p oceso po que un elemen o XML puede
con ene o os elemen os, como se mues a a con inuación:
<name>< i s >Bill</ i s ><las >Ga es</las ></name>
El analizado descompond á es e agmen o en dos elemen os:
<name>
< i s >Bill</ i s >
<las >Ga es</las >
</name>

4949In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o – Secciones CDATA
– CDATA - (Unpa sed) Cha ac e Da a
• El é mino CDATA hace e e encia a agmen os de ex o que no
deben se in e p e ados sin ác icamen e po el XML pa se .
• Ca ac e es como “<“ o “&” no se acep an den o de elemen os XML.
–“<“ gene a á un e o po que el pa se in e p e a que es el inicio de un
nue o elemen o.
– “&” gene a á un e o po que el pa se in e p e a que es el inicio de una
nue a en idad de ca ác e .
• Algunos ex os, como el código Ja aSc ip , con ienen muchos de
es os ca ac e es. Pa a e i a e o es, es as secciones se pueden
de ini como CDATA, cosa que p o oca que su con enido sea
igno ado po el analizado .
• Una sección CDATA comienza con “<![CDATA[“ y acaba con “]]>”.
• Las secciones CDATA no pueden anida se.
5050In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o – Secciones CDATA
– CDATA - (Unpa sed) Cha ac e Da a. Ejemplos:
<asigna u a>
Apun es
<![CDATA[
<Tema_1.pd >
<Tema_2.pd >
]]>
</asigna u a>
<sc ip >
<![CDATA[
unc ion ma chwo(a,b) {
i (a < b && a < 0) hen {
e u n 1;
} else { e u n 0;
}
}
]]>
</sc ip >
5151In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Documen o – Comen a ios
– Van delimi ados po
<!--
-->
– Pueden apa ece en cualquie pa e del documen o.
– No pueden apa ece den o de e ique as.
– No pueden anida se.
– La cadena "--" no puede apa ece den o de un comen a io, pa a no
con undi la con la ma ca.
5252In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Eje cicio: ¿qué sen encias son comen a ios “co ec os”?
<!-- Es o es un comen a io -->
<!-- los ca ac e es (--) es án pe mi idos en un comen a io -->
<!-- decla ación de elemen o <apun es> y <Tex o>-->
<!— Se debencoloca comen a ios pa a cla i ica el con enido del documen o -->
5353In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Eje cicio: ¿qué sen encias son comen a ios “co ec os”?
<!-- Es o es un comen a io --> CORRECTO
<!-- los ca ac e es (--) es án pe mi idos en un comen a io --> INCORRECTO
<!-- decla ación de elemen o <apun es> y <Tex o>--> CORRECTO
<!— Se debencoloca comen a ios pa a cla i ica el con enido del documen o --> INCORRECTO

5454In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Es uc u a del documen o
Ins ucciones de p oceso (PI)
– Pe mi en indica a la aplicación des ina a ia que p ocesa á el iche o
cie os aspec os o ca ac e ís icas sob e el p opio documen o.
– Van delimi ados po :
<?
?>
<? a ge ins uc ion?>
a ge =aplicación
ins uc ion =in o mación (pueden se múl iples)
Po ejemplo, de inición de la hoja de es ilo a emplea :
<?xsl-s yleshee h e =“es ilo.css” ype=“ ex /css”?>
5555In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Documen o XML bien o mado y álido
Documen o bien o mado: aquél que iene odos los elemen os
bien anidados y es os elemen os cumplen con las
especi icaciones XML.
Documen o álido: aquél que además de es a bien o mado
ha decla ado co ec amen e odos sus elemen os y cumple
con las especi icaciones asignadas a cada uno en el DTD o en
el XML-Schema.
2.4. Lenguaje XML
Documen o XML bien o mado y álido
No mas pa a que un documen o se conside e bien o mado:
– Si hay más de un a ibu o, ienen que i sepa ados po espacios.
– Si la e ique a es con enedo a, los a ibu os sólo se esc iben en la p ime a e ique a.
– Los alo es de los a ibu os deben i en e comillas (dobles o simples).
– Una e ique a no puede ene dos a ibu os con el mismo nomb e.
– Sólo ha de ene exac amen e un elemen o de ni el supe io o elemen o aíz.
– Los elemen os han de es a adecuadamen e anidados. Un elemen o que se de ine
den o de o o elemen o debe inaliza den o de aquel.
– Los elemen os han de ene obliga o iamen e ma cado es de inicio y in.
– El nomb e del ipo en el inicio y in deben coincidi pa a odo elemen o.
– Los nomb es de los ipos son sensibles a mayúsculas.
Ca ac e ís icas de un documen o bien o mado:
– Se le puede aplica es ilos.
– Se le puede aplica ans o maciones.
56In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
Eje cicio: C ea un a chi o XML pa a una u a de sende ismo
o i ine a io de iaje
1. C ea un a chi o XML que ep esen e una u a geog á ica, como un
i ine a io de iaje o una u a de sende ismo.
• El a chi o debe con ene una lis a de pun os de e e encia (ubicaciones)
• Cada pun o debe ene los siguien es elemen os:
– nomb e: El nomb e del pun o (po ejemplo, "Inicio", "Mi ado ", “Fuen e").
– desc ipcion: Una b e e desc ipción del pun o
– coo denadas: Las coo denadas geog á icas (la i ud y longi ud).
– ele acion: La al i ud del pun o en me os.
• Cada pun o debe ene un a ibu o id que lo iden i ique de mane a única.
2. U iliza comen a ios pa a desc ibi la u a o pa a desc ibi la es uc u a
del XML.
3. U iliza una sección CDATA pa a desc ibi una pa e de la u a que
pueda inclui ca ac e es especiales.
57In aes uc u as de Da os Espaciales
6464In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Núme o de hijos:
– ?:seadmi en0o1hijo.
– * : se admi e 0 o más hijos.
– + : se admi e 1 o más hijos.
– Si no se especi ica, se en iende que es 1.
– Ejemplo: el elemen o nomb e debe inclui o zosamen e el de nomb e de
pila yunapellido.
<!ELEMENT nomb e (nomb e_pila, apellido+)>

6565In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Opciones:
– Se ponen con el ope ado disyun i o “|”
– Ejemplo: el colo puede se ojo oama illo o e de.
<!ELEMENT colo ( ojo | ama illo | e de)>
– Ejemplo: el elemen o cí culo se de ine median e su cen o +el
adio oeldiáme o.
<!ELEMENT ci culo (cen e , ( adio | diame o))>
6666In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Con enido mix o:
– Los elemen os pueden ene con enido mix o, es deci , es a o mados po
elemen os y ex o. Su decla ación se ealiza así:
<!ELEMENT de inicion (#PCDATA | e mino)*>
<de inicion> P ime a < e mino> Juan López Agui e </ e mino>Fue un homb e in e esado po las
a es y las ciencias que dejó un legado impo an e a la humanidad. Conside ado como uno de los
mejo es cien í icos de su ama , o ma pa e del ace o cien í ico mundial.
</de inicion>
Elemen os acíos:
– Se decla an así:
<!ELEMENT imagen EMPTY>
Cuali icado ANY:
– Indica que un elemen o puede ene cualquie con enido (mix o, hijos,..).
<!ELEMENT pagina ANY>
6767In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
A ibu os:
– Es posible decla a a ibu os pa a cada elemen o. Su decla ación se
ealiza meidan e la claúsula ATTLIST.
• Ejemplo: decla a el a ibu o o igen del elemen o image . El alo debe de se
una cadena de ca ac e es y es obliga o io.
<!ATTLIST image o igen CDATA #REQUIRED >
Tipos de a ibu os:
–CDATA: cualquie cadena de ex o acep able en un XML.
–NMTOKEN: es inge CDATA de o ma que el p ime ca ác e sólo pueda
se una le a, un dígi o o alguno de los ca ac e es: “.”, “-”, “_”, “:”.
–NMTOKENS: pe mi e conca ena a ios NMTOKEN sepa ados po
espacios en blanco.
–ID: indica que ha de ene un nomb e único den o del XML. El p ime
ca ác e ha de se una le a o alguno de los ca ac e es “_”, “:”.
6868In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Tipos de a ibu os (con .):
–IDREF: especi ica una e e encia a un ID de o o elemen o del XML.
–IDREFS: pe mi e conca ena a ios IDREF sepa ados po espacios.
–ENTITY: enlaza con unos da os ep esen ados median e una ab e iación
o localizados en una localización ex e na. El p ime ca ac e ha de se
una le a o alguno de los ca ac e es “_”, “:”.
–ENTITIES: pe mi e conca ena a ios ENTITY sepa ados po espacios.
–NOTATION: pe mi e asocia ipos con de e minados elemen os, así como
pa a limi a los ipos asociados con el elemen o.
<!NOTATION gi SYSTEM "image/gi ">
<!NOTATION i SYSTEM "IMAGE/TIFF">
<!NOTATION jpg SYSTEM "image/jpeg">
<!NOTATION png SYSTEM "image/png">
<!ATTLIST image ype NOTATION(gi | i | jpg | png) #REQUIRED>
Es a decla ación de ine que el elemen o image debe ene un a ibu o ype, que es obliga o io
(#REQUIRED), y que solo puede se uno de los alo es de inidos en las no aciones (gi , i , jpg o
png).
6969In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Enume ación de a ibu os:
– Lis a de odos los alo es posibles pa a el a ibu o, sepa ados po ba as
e icales
Ejemplo:
<!ATTLIST echa año (2005 | 2006 | 2007) #REQUIRED >
Valo es de a ibu os p ede e minados:
–#IMPLIED : El a ibu o es opcional
–#REQUIRED : El a ibu o es obliga o io
–#FIXED : El alo del a ibu o es cons an e e in a iable.
–Li e al : El alo p ede e minado eal se p opo ciona en e pa én esis

7070In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Enume a a ios A ibu os:
<!ATTLIST nomb e_elemen o
nomb e_a ibu o1 ipo_a ibu o1 alo _p ede e minado1
nomb e_a ibu o2 ipo_a ibu o2 alo _p ede e minado2
nomb e_a ibu o3 ipo_a ibu o3 alo _p ede e minado3
...>
<!ELEMENT lib o ( i ulo, au o )>
<!ATTLIST lib o id ID #REQUIRED
gene o CDATA #IMPLIED
año_publicacion CDATA #IMPLIED
es ado (nue o | usado) "nue o">
"nue o“ – Valo po de ec o pa a es ado
7171In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
<!ELEMENT icha (nomb e+, apellido+, di eccion+, o o?)>
<!ELEMENT nomb e (#PCDATA)>
<!ATTLIST nomb e (masculino| emenino) #IMPLIED>
<!ELEMENT apellido (#PCDATA)>
<!ELEMENT di eccion (#PCDATA)>
<!ELEMENT o o EMPTY>
<!ELEMENT icha (nomb e+, apellido+, di eccion+, o o?)>
– El elemen o icha con iene los elemen os nomb e, apellido, di eccion y opcionalmen e
o o.
– nomb e+ apellido+ di eccion+ indican que debe habe almenos un elemen o nomb e,
apellido y di eccion.
– o o? indica que el elemen o o o es opcional (puede apa ece 0 o 1 ez).
<!ELEMENT nomb e (#PCDATA)>
<!ATTLIST nomb e sexo (masculino| emenino) #IMPLIED>
– El elemen o nomb e con iene da os de ca ác e ( ex o simple).
– El a ibu o sexo puede ene los alo es masculino o emenino, y es opcional debido a
#IMPLIED. Si no se p opo ciona, no hab á ningún alo p ede e minado.
<!ELEMENT apellido (#PCDATA)>
– El elemen o apellido ambién con iene da os de ca ác e , es deci , ex o simple.
<!ELEMENT di eccion (#PCDATA)>
– El elemen o di eccion igualmen e con iene da os de ca ác e .
<!ELEMENT o o EMPTY>
– El elemen o o o se de ine como acío (EMPTY), lo que signi ica que no con iene ningún
con enido.
7272In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
Como se indica una e e encia a un DTD ex e no:
–C ea la DTD en un a chi o sepa ado, con la ex ensión .d d.
–Re e encia la DTD en el a chi o XML u ilizando una decla ación
DOCTYPE.
<!DOCTYPE elemen o SYSTEM "mi-es uc u a.d d">
2.4. Lenguaje XML
DTD
Ejemplo:
1. C ea el a chi o .d d
<!ELEMENT pe sona (nomb e, edad, di eccion)>
<!ELEMENT nomb e (#PCDATA)>
<!ELEMENT edad (#PCDATA)>
<!ELEMENT di eccion (#PCDATA)>
Es a DTD de ine un elemen o pe sona que iene es elemen os hijos:
nomb e, edad y di eccion, odos ellos son ex o simple (#PCDATA).
2. C ea el a chi o XML
<?xml e sion="1.0" encoding="UTF-8"?>
<!DOCTYPE pe sona SYSTEM "mi-es uc u a.d d">
<pe sona>
<nomb e>Juan Pe ez</nomb e>
<edad>30</edad>
<di eccion>Calle Falsa 123</di eccion>
</pe sona>
73In aes uc u as de Da os Espaciales
8080In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
<?xml e sion="1.0" encoding="UTF-8"?>
<!DOCTYPE u a [
<!ELEMENT u a (pun o+)>
<!ATTLIST u a nomb e CDATA #REQUIRED>
<!ELEMENT pun o (nomb e, desc ipcion, coo denadas, ele acion)>
<!ATTLIST pun o id ID #REQUIRED>
<!ELEMENT nomb e (#PCDATA)>
<!ELEMENT desc ipcion (#PCDATA)>
<!ELEMENT coo denadas (X_UTM, Y_UTM)>
<!ELEMENT X_UTM (#PCDATA)>
<!ELEMENT Y_UTM (#PCDATA)>
<!ELEMENT ele acion (#PCDATA)>
]>
<!-- Es e a chi o XML con iene una ep esen ación de una u a de sende ismo -->
<!-- El elemen o ' u a' es el nodo p incipal -->
< u a nomb e="Excu sió a la cascada de Noa e">
<pun o id="P01">
<!-- Cada elemen o 'pun o' iene 4 hijos -->
<nomb e>Inici</nomb e>
<desc ipcion>S'inicia la u a a les Bo des de G aus si ua a Llado e</desc ipcion>
<coo denadas>
<!-- El elemen o 'coo denadas' ien 2 hijos -->
<X_UTM>355388.7</X_UTM>
<Y_UTM>4725685.9</Y_UTM>
</coo denadas>
<ele acion>1370</ele acion>
</pun o>

8181In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
DTD
<pun o id="P02">
<nomb e>Pan à de G aus</nomb e>
<desc ipcion>Escolli el camí de la d e a en l'enc euamen al inal del pan à</desc ipcion>
<coo denadas>
<X_UTM>355484.7</X_UTM>
<Y_UTM>4726401.9</Y_UTM>
</coo denadas>
<ele acion>1450</ele acion>
</pun o>
<pun o id="P03">
<nomb e>Bo des de Noa e</nomb e>
<!-- CDATA pe mi e u iliza una cadena de ca ac e es con ca ac e es especiales como
desc ipcion -->
<desc ipcion><![CDATA[Conjun de masies o mada pe <Bo da de Masob e a> & <Bo da de Jaques>,
es po descansa al iu i inicia el camí de baixada.]]></desc ipcion>
<coo denadas>
<X_UTM>356110.2</X_UTM>
<Y_UTM>4727295.4</Y_UTM>
</coo denadas>
<ele acion>1595</ele acion>
</pun o>
<pun o id="P04">
<nomb e>Cascada de Noa e</nomb e>
<desc ipcion>Cascada del iu Noa e de g an bellesa</desc ipcion>
<coo denadas>
<X_UTM>355778.0</X_UTM>
<Y_UTM>4726911.4</Y_UTM>
</coo denadas>
<ele acion>1500</ele acion>
</pun o>
</ u a>
8282In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema
Los DTD ienen limi aciones que se subsanan con los XML
Schema.
Un Schema XML es una o ma de de ini la es uc u a,
con enido y ipos de da os de documen os XML.
El lenguaje de de inición de esquemas XML ue c eado po
W3C con el es a us de ecomendación (no es obliga o io).
Es un lenguaje XML que pe mi e desc ibi y es ablece las
es icciones necesa ias de un documen o XML.
La o ma más común de esquema XML se llama De inición
de Esquema XML o XSD.
Vamos a es udia 3 e siones de los esquemas XML
2.4. Lenguaje XML
He amien as de alidación
Exis en he amien as especializadas que pe mi en hace
e i icaciones de o ma y alidez de un documen o XML (con a
un DTD o un XML Schema).
Valida en línea
• XML Valida ion Online h ps://www.xml alida ion.com/ [LLIURE]
• F eeFo ma e XML Valida o h ps://www. ee o ma e .com/ [LLIURE]
– Esc i o io
• No epad++ + Plugin XML h ps://no epad-plus-plus.o g/ [LLIURE]
•XML Spy h ps://www.al o a.com/es/xmlspy-xml-edi o [PAGAMENT]
In aes uc u as de Da os Espaciales 83
2.4. Lenguaje XML
XML Schema
Componen es de un Esquema XML:
–Elemen os
–A ibu os
–Tipos: De inen el ipo de da os que con iene un elemen o o
a ibu o: s ing, in ege , da e, ...
•Tipos complejos: Se u ilizan pa a de ini elemen os que con ienen
o os elemen os o a ibu os.
•Tipos simples: De inen elemen os o a ibu os que solo con ienen
ex o.
–Res icciones: Especi ican es icciones adicionales sob e los
alo es y la can idad de eces que los elemen os o a ibu os
pueden apa ece .
84In aes uc u as de Da os Espaciales
85In aes uc u as de Da os Espaciales

86
2.4. Lenguaje XML
XML Schema – VERSION 1
P ime a e sión del XML-Schema (XSD)
1. xs:schema
2. De ini elemen os
• Simples xs:elemen
• Complejos xs:complexType xs:sequence
xs:choice
xs:all
3. De ini hijos xs:elemen
•Name
• Type
• minOccu s, maxOccu s
4. De ini A ibu os xs:A ibu e
•Name
• Type
•Use
In aes uc u as de Da os Espaciales
87
2.4. Lenguaje XML
XML Schema – VERSION 1
Empezamos con el elemen o xs:schema
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="h p://www.w3.o g/2001/XMLSchema">
.../...
</xs:schema>
<xs:schema>: Elemen o aíz que de ine el esquema XML
(XSD). Todo lo que es é den o de es e elemen o desc ibe las
eglas que debe segui el XML que se a a alida .
–xmlns:xs es la decla ación de un espacio de nomb es (namespace).
Es e es el elemen o aíz de un a chi o XSD. De ine el espacio de nomb es
xmlns:xs como el es ánda pa a los esquemas XML, que siemp e apun a
a h p://www.w3.o g/2001/XMLSchema.
In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – VERSION 1
xmlns:xs=h p://www.w3.o g/2001/XMLSchema
Es e namespace es ges ionado po el W3C (Wo ld Wide Web
Conso ium) y se u iliza pa a iden i ica los elemen os y ipos que
pe enecen a XML Schema.
Es o asegu a que odos los elemen os del esquema pe enezcan a un
único con ex o de inido po es e namespace.
Un namespace…
– es una o ma de e i a con lic os en e los elemen os y a ibu os con el
mismo nomb e pe o di e en es signi icados, asegu a que es os nomb es
sean únicos en su con ex o.
– Pe mi en que el lec o o p ocesado de XML en ienda inmedia amen e que
es os elemen os p o ienen del conjun o de de iniciones de XML Schema.
88In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – VERSION 1
Después de la línea inicial se de inen los elemen os y ipos que
o man pa e del esquema:
<!-- De inición de un simple elemen o “book" -->
<xs:elemen name=“book">
<xs:complexType>
<xs:sequence>
<xs:elemen name=“ i ulo" ype="xs:s ing"/>
<xs:elemen name=“año" ype="xs:in "/>
</xs:sequence>
</xs:complexType>
</xs:elemen >
<xs:elemen >: De ine un elemen o llamado book.
–<xs:complexType>:Indica que el elemen o book iene una es uc u a más compleja
que un simple alo , con eniendo a ios subelemen os.
–<xs:sequence>: Es un elemen o “composi o ” . De ine la lis a de elemen os hijo
den o de book que debe segui un o den especí ico: p ime o i ulo y luego año.
Exis en o os dos “composi o s”:
•<xs:choice>: Elección en e di e en es elemen os
•<xs:all>: Elemen os en cualquie o den
89In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – VERSION 1
La ó mula de de inición de la e sion 1 de XML Schema puede
conlle a el diseño de je a quías de muchos ni eles que di icul en la
legibilidad y el man enimien o de esquemas complejos.
Segunda e sión del XML-Schema
– Se basa en un diseño plano de odos los elemen os del ca álogo, indicando
en cada caso median e e e encias sus hijos y a ibu os
96In aes uc u as de Da os Espaciales

97
2.4. Lenguaje XML
XML Schema
Eje cicio: documen o XML que desc ibe un lib o.
– C ea un XSD Ve sion1 pa a alida lo
<?xml e sion="1.0" encoding="UTF-8"?>
<book isbn="0836217462">
< i le>Don Quijo e de la Mancha</ i le>
<au ho >Miguel de Ce an es</au ho >
<cha ac e >
<name>Sancho Panza</name>
< iend-o >El Quijo e</ iend-o >
<since>1650-12-01</since>
<quali ica ion> iel escude o</quali ica ion>
</cha ac e >
<cha ac e >
<name>Rocinan e</name>
<since>1650-08-01</since>
<quali ica ion>Caballo de Don Quijo e: iejo, laco y de poca ue za</quali ica ion>
</cha ac e >
</book>
In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="h p://www.w3.o g/2001/XMLSchema">
<xs:elemen name="book">
<xs:complexType>
<xs:sequence>
<xs:elemen name=" i le" ype="xs:s ing"/>
<xs:elemen name="au ho " ype="xs:s ing"/>
<xs:elemen name="cha ac e " minOccu s="1" maxOccu s="unbounded">
<xs:complexType>
<xs:sequence>
<xs:elemen name="name" ype="xs:s ing"/>
<xs:elemen name=" iend-o " ype="xs:s ing" minOccu s="0" maxOccu s="unbounded"/>
<xs:elemen name="since" ype="xs:da e"/>
<xs:elemen name="quali ica ion" ype="xs:s ing"/>
</xs:sequence>
</xs:complexType>
</xs:elemen >
</xs:sequence>
<xs:a ibu e name="isbn" ype="xs:s ing" use=" equi ed"/>
</xs:complexType>
</xs:elemen >
</xs:schema>
98In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – Valida un XML con XSD
Pasos pa a Vincula un XSD a un XML
1. C ea el a chi o XSD
2. Modi ica el a chi o XML*: Ag ega la decla ación de espacio de
nomb es y la ubicación del esquema en el encabezado del XML.
3. Usa un alidado (XMLValida o , No epad++, …)
*<inmobilia ia xmlns:xsi="h p://www.w3.o g/2001/XMLSchema-
ins ance"
xsi:noNamespaceSchemaLoca ion="schema.xsd">
–xmlns: : Es a línea decla a el espacio de nomb es, que se u iliza pa a
iden i ica las p opiedades elacionadas con el esquema .
–xsi: Aquí es donde inculas el documen o XML al a chi o XSD. El alo es
la u a o el nomb e del a chi o XSD. Si el XSD es á en la misma ca pe a
que el XML, solo necesi as especi ica el nomb e del a chi o (como
schema.xsd).
99In aes uc u as de Da os Espaciales
100In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema
101
2.4. Lenguaje XML
XML Schema – VERSION 2
Segunda e sión del XML-Schema
– Se basa en un diseño plano de odos los elemen os del ca álogo, indicando
en cada caso median e e e encias sus hijos y a ibu os.
P ime o se decla an odos los elemen os simples y luego los
complejos, haciéndose e e encia a los simples que los
componen.
– Decla ación del elemen o simple
• <xs:elemen name="since" ype="xs:da e"/>
– Decla ación de la e e encia al elemen o smple en el elemen o complejo
• <xs:elemen e ="since"/>
In aes uc u as de Da os Espaciales

102
2.4. Lenguaje XML
XML Schema – VERSION 2
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="h p://www.w3.o g/2001/XMLSchema">
<!-- de ini ion o simple ype elemen s -->
<xs:elemen name=" i le" ype="xs:s ing"/>
<xs:elemen name="au ho " ype="xs:s ing"/>
<xs:elemen name="name" ype="xs:s ing"/>
<xs:elemen name=" iend-o " ype="xs:s ing"/>
<xs:elemen name="since" ype="xs:da e"/>
<xs:elemen name="quali ica ion" ype="xs:s ing"/>
<!-- de ini ion o a ibu es -->
<xs:a ibu e name="isbn" ype="xs:s ing"/>
<!-- de ini ion o complex ype elemen s -->
<xs:elemen name="cha ac e ">
<xs:complexType>
<xs:sequence>
<xs:elemen e ="name"/>
<xs:elemen e =" iend-o " minOccu s="0" maxOccu s="unbounded"/>
<xs:elemen e ="since"/>
<xs:elemen e ="quali ica ion"/>
</xs:sequence>
</xs:complexType>
</xs:elemen >
In aes uc u as de Da os Espaciales
103
2.4. Lenguaje XML
XML Schema – VERSION 2
<xs:elemen name="book">
<xs:complexType>
<xs:sequence>
<xs:elemen e =" i le"/>
<xs:elemen e ="au ho "/>
<xs:elemen e ="cha ac e " minOccu s="0“ maxOccu s="unbounded"/>
</xs:sequence>
<xs:a ibu e e ="isbn"/>
</xs:complexType>
</xs:elemen >
</xs:schema>
In aes uc u as de Da os Espaciales
104
2.4. Lenguaje XML
XML Schema – VERSION 3
Te ce a e sión del XML-Schema
– P ime a e sion XML-Schema
• Se de inen elemen os y a ibu os según se ayan necesi ando
•Russian doll design
– Segunda e sion XML-Schema
• Se c ean odos los elemen os al inico y se es ablecen e e encias
• la ca alog, segunda e sión
–Te ce a e sion XML-Schema
• Consis e en la de inición de ipos de da os pa a la de inición de a ibu os y
elemen os. Es os pueden se :
–Simples, a u iliza en los elemen os de ipo PCDATA o en los a ibu os.
–Complejos, a u iliza únicamen e en los casos es an es.
In aes uc u as de Da os Espaciales
105
2.4. Lenguaje XML
XML Schema – VERSION 3
Ejemplo: Tipo de da os que puede con ene un ex o de
máximo 32 ca ac e es.
<xs:simpleType name="nameType">
<xs: es ic ion base="xs:s ing">
<xs:maxLeng h alue="32"/>
</xs: es ic ion>
</xs:simpleType>
El elemen o xs: es ic ion indica que el nue o ipo de da os
“nameType” se de i a del ipo de da os básico denominado
xs:s ing, de inido den o del W3C XML Schema namespace
median e la aplicación de una es icción.
El elemen o xs:maxLeng h se denomina “ ace ”.
– Los ace s pe mi en es ingi los alo es pe mi idos pa a un ipo de da o
base. Pueden con ola la longi ud de una cadena, los alo es numé icos
mínimos o máximos, el o ma o de una echa, …
In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – VERSION 3
–<xs:minExclusi e>: De ine un alo mínimo exclusi o (el alo debe se mayo que
el especi icado).
<xs: es ic ion base="xs:in ege "> <xs:minExclusi e alue="10"/> </xs: es ic ion>
• El alo debe se mayo que 10.
–<xs:maxExclusi e>: De ine un alo máximo exclusi o (el alo debe se meno que
el especi icado).
<xs: es ic ion base="xs:in ege "> <xs:maxExclusi e alue="100"/> </xs: es ic ion>
• El alo debe se meno que 100.
–<xs:pa e n>: De ine un pa ón que el alo debe cumpli . Es e ace usa exp esiones
egula es.
<xs: es ic ion base="xs:s ing"> <xs:pa e n alue="[0-9]{10}"/> </xs: es ic ion>
• El alo debe consis i en 10 dígi os del 0 al 9.
112In aes uc u as de Da os Espaciales

113
2.4. Lenguaje XML
XML Schema – VERSION 3
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="h p://www.w3.o g/2001/XMLSchema">
<!-- de ini ion o simple ypes -->
<xs:simpleType name="nameType">
<xs: es ic ion base="xs:s ing">
<xs:maxLeng h alue="32"/>
</xs: es ic ion>
</xs:simpleType>
<xs:simpleType name="sinceType">
<xs: es ic ion base="xs:da e"/>
</xs:simpleType>
<xs:simpleType name="descType">
<xs: es ic ion base="xs:s ing"/>
</xs:simpleType>
<xs:simpleType name="isbnType">
<xs: es ic ion base="xs:s ing">
<xs:pa e n alue="[0-9]{10}"/>
</xs: es ic ion>
</xs:simpleType>
In aes uc u as de Da os Espaciales
114
2.4. Lenguaje XML
XML Schema – VERSION 3
<!-- de ini ion o complex ypes -->
<xs:complexType name="cha ac e Type">
<xs:sequence>
<xs:elemen name="name" ype="nameType"/>
<xs:elemen name=" iend-o " ype="nameType" minOccu s="0“ maxOccu s="unbounded"/>
<xs:elemen name="since" ype="sinceType"/>
<xs:elemen name="quali ica ion" ype="descType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bookType">
<xs:sequence>
<xs:elemen name=" i le" ype="nameType"/>
<xs:elemen name="au ho " ype="nameType"/>
<xs:elemen name="cha ac e " ype="cha ac e Type" minOccu s="0"/>
<!-- he de ini ion o he "cha ac e " elemen is using he "cha ac e Type" complex ype -->
</xs:sequence>
<xs:a ibu e name="isbn" ype="isbnType" use=" equi ed"/>
</xs:complexType>
<!-- Re e ence o "bookType" o de ine he "book" elemen -->
<xs:elemen name="book" ype="bookType"/>
<xs:elemen name=“lib a y" />
</xs:schema>
In aes uc u as de Da os Espaciales
2.4. Lenguaje XML
XML Schema – VERSION 3
115In aes uc u as de Da os Espaciales
Eje cicio:
– C ea el XML Schema e sion 3 del XML Ru a u is ica.xml que
es á en A enea
116
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Las es uc u as adicionales son cons ucciones que pe mi en
de ini con mayo p ecisión las eglas y es icciones que debe
cumpli un documen o XML.
Amplían las capacidades básicas de los Tipos de da os y los
elemen os de un XML y pe mi en de ini ca ac e ís icas como:
– la he encia
– los g upos de elemen os
– las lis as
–…
In aes uc u as de Da os Espaciales
117
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
G upos de Elemen os (<g oup>)
G upos de A ibu os (<a ibu eG oup>)
Composi o s (xs:sequence, xs:choice, xs:all)
Face (xs:union, xs:lis )
Elemen os sin con enido
Elemen os con con enido sencillo (xs:simpleCon en )
Res icciones (xs:unique)
Comen a ios (xs:documen a ion, xs:anno a ion)
Espacio de nomb es
In aes uc u as de Da os Espaciales

118
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
G upos de elemen os y a ibu os que pueden se u ilizados
en la de inición de ipos complejos.
<!-- de ini ion o an elemen g oup -->
<xs:g oup name="mainBookElemen s">
<xs:sequence>
<xs:elemen name=" i le" ype="nameType"/>
<xs:elemen name="au ho " ype="nameType"/>
</xs:sequence>
</xs:g oup>
<!-- de ini ion o an a ibu e g oup -->
<xs:a ibu eG oup name="bookA ibu es">
<xs:a ibu e name="isbn" ype="isbnType" use=" equi ed"/>
<xs:a ibu e name="a ailable" ype="xs:s ing"/>
</xs:a ibu eG oup>
In aes uc u as de Da os Espaciales
119
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
<xs:complexType name="bookType">
<xs:sequence>
<xs:g oup e ="mainBookElemen s"/>
<xs:elemen name="cha ac e " ype="cha ac e Type" minOccu s="0" maxOccu s="unbounded"/>
</xs:sequence>
<xs:a ibu eG oup e ="bookA ibu es"/>
</xs:complexType>
In aes uc u as de Da os Espaciales
120
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Composi o s:
– xs:sequence
• De ine la lis a de elemen os que debe segui un o den especí ico
– xs:choice
• De ine una elección en e di e en es elemen os o g upos de
elemen os.
– xs:all
• de ine un conjun o de elemen os que pueden p esen a se en cualquie
o den.
In aes uc u as de Da os Espaciales
121
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
<xs:g oup name="nameTypes">
<xs:choice>
<xs:elemen name="name" ype="xs:s ing"/>
<xs:sequence>
<xs:elemen name=" i s Name" ype="xs:s ing"/>
<xs:elemen name="middleName" ype="xs:s ing" minOccu s="0"/>
<xs:elemen name="las Name" ype="xs:s ing"/>
</xs:sequence>
</xs:choice>
</xs:g oup>
<xs:complexType name="bookType">
<xs:all>
<xs:elemen name=" i le" ype="xs:s ing"/>
<xs:elemen name="au ho " ype="xs:s ing"/>
<xs:elemen name="cha ac e " ype="cha ac e Type" minOccu s="0“ maxOccu s="unbounded"/>
</xs:all>
<xs:a ibu e name="isbn" ype="isbnType" use=" equi ed"/>
</xs:complexType>
In aes uc u as de Da os Espaciales
128
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Indicando el a ibu o “mixed= ue” en el xs:complexType se
pueden combina di e en es ipos de con enido.
– pe mi e que un elemen o con enga an o ex o como elemen os hijos.
– El con enido del elemen o puede se una mezcla de ex o y elemen os
es uc u ados (subelemen os).
– Es ú il cuando quie es que un elemen o pueda con ene ex o lib e
in e calado con o os elemen os XML, o bien, en documen os que
con ienen pá a os de ex o con ma cado (po ejemplo, e ique as HTML o
XML pa a o ma o).
<xs:elemen name="pa ag aph">
<xs:complexType mixed=" ue">
<xs:sequence>
<xs:elemen name="bold" ype="xs:s ing" minOccu s="0" maxOccu s="unbounded"/>
<xs:elemen name="i alic" ype="xs:s ing" minOccu s="0" maxOccu s="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:elemen >
<pa ag aph> This is a <bold>bold</bold> s a emen wi h
some <i alic>i alic</i alic> ex . </pa ag aph>
In aes uc u as de Da os Espaciales

129
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
<xs:elemen name="book">
<xs:complexType mixed=" ue">
<xs:all>
<xs:elemen name=" i le" ype="xs:s ing"/>
<xs:elemen name="au ho " ype="xs:s ing"/>
</xs:all>
<xs:a ibu e name="isbn" ype="xs:s ing"/>
</xs:complexType>
</xs:elemen >
Es e esquema pe mi i ía in oduci la siguien e in o mación:
<book isbn="0836217462">
Funny book by <au ho >Cha les M. Schulz</au ho >
I s i le (< i le>Being a Dog Is a Full-Time Job</ i le>) says i all !
</book>
In aes uc u as de Da os Espaciales
130
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Res icción única (xs:unique):
– su posición indica el nodo con ex ual al que se aplica la es icción. En el
ejemplo el “cha ac e ” ha de se único den o de cada lib o.
<xs:unique name="cha Name">
<xs:selec o xpa h="cha ac e "/>
<xs: ield xpa h="name"/>
</xs:unique>
xs:selec o de e mina el elemen o que iene la es icción.
xs: ield es el nodo cuyo alo a a comp oba se que es único.
–Res icción única no nula (xs:key):
• especi ica que el alo único no puede se nulo.
In aes uc u as de Da os Espaciales
131
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
–Res icción po e e encia (xs:key e ):
• de ine una e e encia a una xs:key o a una xs:unique.
<xs:key e name="cha NameRe " e e ="cha Name">
<xs:selec o xpa h="cha ac e "/>
<xs: ield xpa h=" iend-o "/>
</xs:key e >
Es e esquema pe mi i ía in oduci la siguien e in o mación, en la cual el
alo de “ iend-o ” debe se un ca ac e del mismo lib o:
<cha ac e >
<name>Snoopy</name>
< iend-o >Peppe min Pa y</ iend-o >
<since>1950-10-04</since>
<quali ica ion>ex o e ed beagle</quali ica ion>
</cha ac e >
In aes uc u as de Da os Espaciales
132
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Comen a ios
– Se u iliza pa a inclui in o mación complemen a ia o me ada os
sob e un elemen o, a ibu o o ipo de da o
– Su con enido no in luye en la alidación del XML
•xs:anno a ion: es el con enedo p incipal que se u iliza pa a añadi
documen ación o me ada os a un esquema XML.
•xs:documen a ion: se usa den o de xs:anno a ion pa a
p opo ciona ex o desc ip i o sob e los elemen os, a ibu os o ipos
de inidos en el esquema.
In aes uc u as de Da os Espaciales
133
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Comen a ios
<xs:elemen name="book">
<xs:anno a ion>
<xs:documen a ion xml:lang="en">
Top le el elemen .
</xs:documen a ion>
<xs:documen a ion xml:lang=" ">
Elemen acine.
</xs:documen a ion>
<xs:appin o sou ce="h p://example.com/ oo/">
<bind xmlns="h p://example.com/ba /">
<class name="Book"/>
</bind>
</xs:appin o>
</xs:anno a ion>
</xs:elemen >
In aes uc u as de Da os Espaciales

134
2.4. Lenguaje XML
XML Schema – Es uc u as adicionales
Espacios de nomb es:
–“ a ge NameSpace”: a ibu o que pe mi e decla a cual es el nomb e del espacio de
nomb es desc i o en el esquema.
–“xmlns:...”: pe mi e especi ica el p e ijo asociado a odos los obje os p o enien es
del espacion de nomb es e e ido que se u ilizan en el documen o XML ac ual.
<xs:schema a ge Namespace=h p://example.o g/ns/books/
xmlns:xs=h p://www.w3.o g/2001/XMLSchema
xmlns:bk=h p://example.o g/ns/books/
elemen Fo mDe aul ="quali ied“
a ibu eFo mDe aul ="unquali ied">
.../...
</xs:schema>
– Los a ibu os “elemen Fo mDe aul ” y “a ibu eFo mDe aul ” pe mi en de ini si los
elemen os y a ibu os de un esquema deben es a cali icados (asociados con un
espacio de nomb es - namespace) o no.
In aes uc u as de Da os Espaciales
2.5. He amien as de alidación
Exis en he amien as especializadas que pe mi en hace
e i icaciones de o ma y alidez de un documen o XML (con a
un DTD o un XML Schema).
Valida en línea
• XML Valida ion Online h ps://www.xml alida ion.com/ [LLIURE]
• F eeFo ma e XML Valida o h ps://www. ee o ma e .com/ [LLIURE]
– Esc i o io
• No epad++ + Plugin XML h ps://no epad-plus-plus.o g/ [LLIURE]
•XML Spyh ps://www.al o a.com/es/xmlspy-xml-edi o [PAGAMENT]
– Exis e una e sión de p ueba (30 días) sin ningún ipo de es icción
uncional: h p://www.al o a.com/download/xmlspy/xml_edi o _en e p ise.h ml
In aes uc u as de Da os Espaciales 135