Activa JavaScript para disfrutar de los vídeos de la Mediateca.
XSD - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Hola de nuevo, seguimos con la unidad 4 de la unja de marcas, ¿verdad?
00:00:00
Ya he subido el vídeo anterior del DTD, ahora vamos a hacer el vídeo explicando el XSD, que es el XML SEMA, los esquemas de XML.
00:00:07
Habíamos dicho que tanto el DTD como los XSD son validadores de los XML, ¿vale?
00:00:19
Porque, por ejemplo, en un formulario de Internet tenemos que validar los campos que sean obligatorios, que tengan un formato adecuado al contenido que van a tener, si tiene que ser números, si tiene que ser un patrón, como en el email o en los códigos postales, etc.
00:00:27
Entonces, habíamos dicho también que el DTD es una tecnología que tiene muchas limitaciones
00:00:46
Porque es muy sencilla, pero no se puede acotar el tipo de datos que metemos
00:00:54
Ni se pueden meter patrones
00:00:59
Sin embargo, en el XSD sí que se utiliza
00:01:00
Es más compleja, es más potente, te da más posibilidades
00:01:05
Y es la que se utiliza a día de hoy
00:01:08
entonces si os descargáis el xsd obtendréis algo parecido a esto y si vais a aquí al visual
00:01:10
studio code pues lo tenemos así vale antes de nada recordad que tenéis que instalar el xml
00:01:21
barrijas vale esta extensión de aquí que es la que te permite utilizar el visual estudio
00:01:30
code como validador porque por ejemplo aquí en él en el número de la calle bueno pues le he metido
00:01:35
que sea entre 1 y 120 entonces si le meto 21 pues me da error me dice que no hay porque tengo una
00:01:46
restricción ahora me dice que no es válido y esto me sale precisamente porque tengo la extensión si
00:01:57
no la instaló pues no me lo va a reconocer entonces vamos con ello tenemos el xml lo
00:02:05
primero que tenemos que hacer es referencia el xst en el xml vale y eso lo hacemos con esta línea
00:02:10
xml model href aquí le ponemos el link al xsd y type application xml y luego el estándar que
00:02:19
estamos utilizando que va a ser el mismo que el que vemos aquí como tenemos el la extensión yo
00:02:30
puedo venir aquí y si pongo esto veis tengo una pequeña ayuda verdad entonces y ser xml
00:02:38
es más exigente ya me lo pone automáticamente y aquí lo que habría que ponerle es el xs de agenda
00:02:44
y ya funcionaría vale también con el xsd también tenéis esta misma ayuda para
00:02:52
que os vaya saliendo los los campos así que es está bien utilizarla para cuando os perdáis y
00:03:01
tal entonces aquí ya veis que lo primero que hay que poner es el protocolo que estamos utilizando
00:03:07
con esta nomenclatura bueno esto lo voy a explicar más adelante lo que vamos a ver es primero los las
00:03:13
etiquetas raíz vale tenemos la primera que tenemos esa agenda entonces ponemos xs element name agenda
00:03:23
vale esto es un tipo complejo porque tiene más etiquetas dentro dentro del mismo verdad por eso
00:03:32
ponemos complex type a continuación vamos a definir la secuencia como en el dt de que le
00:03:40
teníamos que decir el orden de los campos verdad vale pues lo primero que nos encontramos es
00:03:47
contacto aquí le decimos que es un xs element name contacto y cuántas contactos puede tener
00:03:54
pues más occurs un bounded esto quiere decir que son ilimitados le puedes poner 1 2 3 400
00:04:03
o en este caso infinitos. Seguimos. Contactos no es un tipo simple, ¿verdad? Tiene también etiquetas dentro. Por lo tanto, es un complex type.
00:04:12
Y vamos a poner la secuencia de contactos. Entonces, en las secuencias de contactos tendremos un elemento que es nombre, que ya sí que es simple,
00:04:26
Entonces le ponemos que es un string. ¿Veis? Aquí ya sí que le ponemos que es un string o un integer o lo que sea.
00:04:37
Luego vamos a tener apellidos, que también es simple, por lo tanto lo declaramos así.
00:04:44
Y teléfono. Vale.
00:04:53
Teléfono ya es un complex type.
00:04:57
Es un complex type porque no solo tiene el valor, sino que tiene un atributo. Entonces hay que declararlo como complex type.
00:05:00
Y aquí se da una particularidad, que es que tenemos un atributo y un valor.
00:05:10
Entonces, como tenemos que, he decidido, para declarar el atributo, primero tenemos que seguir esta estructura.
00:05:16
Simple content y luego extension.
00:05:27
En la extensión es donde vamos a utilizar el teléfono type.
00:05:30
El teléfono type es como un tipo de variable que me he definido aquí arriba.
00:05:38
Entonces hemos dicho que es un tipo simple que lo llamamos teléfono type y tiene una restricción.
00:05:44
Este tipo string, declaro el tipo string en la restricción para declarar un patrón. Entonces, a ver, esto lo que es es un tipo que vamos a aplicar en una variable que la utilizamos aquí.
00:05:53
¿Vale? Entonces, lo que estamos diciendo es que en este tipo el dato es un string y utilizamos este patrón, este pattern, que es que los valores van a ir de 0 a 9 y se van a repetir 9 veces.
00:06:14
¿Vale? Entonces, tenemos números que van a ir de 0 a 9 y se van a repetir 9 veces, que son los números de un número de teléfono.
00:06:33
¿Vale? Entonces, aparte hay que definir el atributo. Así que tenemos teléfono que es un tipo complejo y le ponemos un contenedor que va a tener el valor del teléfono type que hemos definido aquí y que estamos marcando para el valor.
00:06:43
Y luego aparte va a tener un atributo que es el de país, que es de tipo string. Seguimos. Tenemos otro elemento que es la dirección y esto ya no es sencillo, ya es complejo porque tiene dentro otras etiquetas.
00:07:03
Entonces, otro complex type y definimos la secuencia. Tenemos calle, que sí que es simple, y número. En este número he decidido ponerle un patrón, una restricción.
00:07:20
Un patrón no, una restricción. Entonces, lo hacemos lo mismo que aquí. Lo único que este es más complejo porque le he tenido que añadir el atributo.
00:07:33
Entonces para añadir el atributo es SimpleContent y con este TelephoneType es con lo que le formateo el número.
00:07:46
Pero aquí, en número, como no tiene atributo ni tiene nada, es algo simple, es SimpleType, ¿vale? Y luego le meto la restricción. En la restricción le meto el tipo y es básicamente como esto, realmente.
00:07:57
Aquí le ponemos un nombre al simple type porque luego lo tenemos que utilizar
00:08:20
Pero veis, es el simple type, la restricción con el tipo y el patrón
00:08:30
Aquí en el número es simple type, la restricción con el tipo
00:08:36
Que es positive integer
00:08:41
Y luego le podemos poner integer también
00:08:44
porque realmente va a ser siempre positivo pero bueno lo dejamos aquí yo
00:08:47
creo que este archivo tiene algo mal porque no lo está reconociendo bien
00:08:57
porque si yo le meto este así
00:09:04
si le meto aquí un íntegro
00:09:09
si, si que me lo reconoce pero
00:09:13
Ah, es que va a ser en minúscula
00:09:18
Por eso no me lo pilla
00:09:22
Vale
00:09:23
Vale, guay
00:09:28
Pues eso
00:09:30
Llegamos al número
00:09:31
Ahora no me gusta esto
00:09:33
A ver
00:09:36
The following content is not valid
00:09:37
Is not valid
00:09:42
Ah, amigo
00:09:44
Porque se me ha olvidado poner la question
00:09:45
Eh, como estaba
00:09:47
vale, ahora sí, perdona
00:09:49
pues eso
00:09:54
sí, el número
00:09:56
simple type
00:09:59
luego le metemos una restricción porque le vamos a meter
00:10:02
la restricción de que tenga
00:10:06
un mínimo y un máximo, entonces le metemos
00:10:09
la restricción y le decimos que el contenido
00:10:12
va a ser un integer y que el valor mínimo
00:10:15
va a ser inclusive el 1 y el máximo inclusive el 120 vale entonces seguimos con el código postal
00:10:18
y aquí le metemos otra restricción le decimos que es un tipo simple y la restricción en la
00:10:27
restricción le decimos que es un string y que van a ser cinco números o sea que este patrón
00:10:34
que van a ser números del 0 al 9 se va a repetir cinco veces vale cinco veces para el código
00:10:41
posta volvemos el siguiente es dirección no correo correo perfecto esto es un tipo simple por lo
00:10:50
tanto no hay nada que hacer xs element name correo y el tipo es un string vale y si luego
00:11:02
tenemos la vivienda que también es un tipo simple y los comentarios que es un tipo simple y ya
00:11:12
cerramos todos los las llaves y así funcionaría vale o sea que parece mucho engorro porque hay
00:11:19
que escribir mucho código tenerse en cuenta que con el xml by red hat os puede ayudar a
00:11:27
generar código también y pero realmente tampoco es tan complejo vale si es un elemento simple
00:11:33
como el nombre lo que tenemos es esto
00:11:41
si no si es contacto como es complejo hay que ponerle complex type y luego la
00:11:46
secuencia y definir todos los los elementos uno a uno vale este también es
00:11:52
un complex type y luego habrá que definir la secuencia hay que definir si
00:11:58
es un string si es un íntegro el tipo que sea si tiene atributos y luego
00:12:03
puedes meterle patrones para obligar a que, por ejemplo, sean cinco números del 0 al 9 o aquí le podríamos poner que tuviera que tener un arroba, ¿vale?
00:12:09
Entonces es así, más complejo, más potente, pero realmente una vez que lo pillas es sencillo, ¿vale? Así que nada, muchas gracias por atender
00:12:22
Y a por ello, porque la tarea al final va a ser un XML que os hemos puesto y tendréis que sacar el DTD y el XSD. Así que yo creo que con esto que os he explicado tendría que ser suficiente. ¿Vale? Pues venga, ánimo. Adiós.
00:12:35
- Materias:
- Tecnología
- Etiquetas:
- Innovación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Subido por:
- Alberto S.
- Licencia:
- Reconocimiento - Compartir igual
- Visualizaciones:
- 9
- Fecha:
- 27 de enero de 2026 - 20:52
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 00′ 09″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 49.48 MBytes