Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

XSD - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 27 de enero de 2026 por Alberto S.

9 visualizaciones

Descargar la transcripción

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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid