1 00:00:00,920 --> 00:00:04,820 Vamos ahora a introducir los conceptos básicos de XML. 2 00:00:05,280 --> 00:00:06,160 Vamos a ellos. 3 00:00:07,240 --> 00:00:14,179 Bueno, esta es una página típica de XML, en la cual la primera línea lo que contiene es 4 00:00:14,179 --> 00:00:23,059 un identificador que nos indica que lo que viene ahora es una página XML en la versión 1.0 5 00:00:23,059 --> 00:00:27,519 Tengo que animarles porque solo hay 1.0 y 1.1 6 00:00:27,519 --> 00:00:32,560 y el lenguaje en que está codificado, en este caso UTF-8, ¿de acuerdo? 7 00:00:32,740 --> 00:00:37,140 Ya veremos que hay tipos de caracteres, tipos de codificación distintas 8 00:00:37,140 --> 00:00:40,619 que dependen de las localizaciones de países, de las máquinas, etc. 9 00:00:41,420 --> 00:00:44,920 Bueno, la información que tenemos aquí ya vemos que está entre etiquetas. 10 00:00:44,920 --> 00:00:53,219 Por ejemplo, entre las etiquetas países hay un país cuyo nombre es España, cuya capital es Madrid, 11 00:00:53,219 --> 00:00:58,259 Y otro país, que es Francia, cuya capital es París. 12 00:00:58,399 --> 00:01:00,479 Bueno, pues esta sería una forma de presentar la información. 13 00:01:00,719 --> 00:01:03,820 Cualquiera entendería lo que significa este texto. 14 00:01:04,819 --> 00:01:09,359 Esta misma información se puede guardar de otra manera, utilizando lo que se llaman atributos. 15 00:01:09,959 --> 00:01:14,819 Entonces, en esta etiqueta país pondríamos como atributo nombre y el valor, en este caso España, 16 00:01:15,299 --> 00:01:19,040 y el atributo capital y su valor, en este caso Madrid. 17 00:01:19,040 --> 00:01:27,920 Y como esta etiqueta empieza y acaba en sí misma, no tiene información dentro, pues la acabaríamos con el símbolo barra mayor. 18 00:01:28,819 --> 00:01:30,260 Sería otra manera de incluirlo. 19 00:01:30,519 --> 00:01:36,659 Ambas opciones son perfectamente válidas y ya veremos en qué casos pueden ser más adecuadas unas u otras. 20 00:01:37,799 --> 00:01:45,859 Bueno, si vemos un poco qué vocabulario vamos a emplear, pues una cuestión es que es un documento XML, que es un documento plano, 21 00:01:45,859 --> 00:01:54,780 Es decir, un documento que no tiene formato, que se puede visualizar con cualquier programa, editor de texto del propio sistema operativo. 22 00:01:55,799 --> 00:02:06,159 Y el procesador es XML, va a ser aquella aplicación o aquel programa que pueda leer un XML y procesarlo, entenderlo, para que se entienda claramente. 23 00:02:06,700 --> 00:02:13,819 Los caracteres que tenemos en XML van a ser distintos según el juego o el set de caracteres que tengamos. 24 00:02:13,819 --> 00:02:21,180 ¿De acuerdo? Estos son los más habituales en nuestro entorno, en España, UTF-8, ISO-8859-1 y variantes. 25 00:02:22,099 --> 00:02:31,120 Las marcas son simplemente esos elementos que van indicando cómo es el contenido y otra parte es el contenido. 26 00:02:31,860 --> 00:02:35,259 Los elementos son cualquier componente lógico del documento. 27 00:02:35,259 --> 00:02:58,039 Y las etiquetas es eso que aparece dentro de los caracteres menor y mayor, tanto para abrir como para cerrar, StartTag o EndTag, y cuando una etiqueta no tiene ninguna información dentro, solamente puede tener atributos pero no tiene más información, se habla de etiquetas vacías o AntiTag, que ya finalizan de esta manera tan curiosa. 28 00:02:58,039 --> 00:03:13,580 Bueno, los atributos, ya hemos visto en el ejemplo anterior, están incluidos en la etiqueta de arranque, no en la etiqueta de inicio, en el start tag, y tienen este formato, con la información entre comillas. 29 00:03:15,020 --> 00:03:26,080 Puede tener comentarios cualquier documento XML, y se indican simplemente con estos caracteres raros de aquí, un menor, una admiración, guión, guión, y finalizan con guión, guión, mayor. 30 00:03:26,080 --> 00:03:36,139 Y la primera línea tiene que ser la declaración de lo que indica que lo que viene a partir de ahora es un XML, y típicamente es de este formato. 31 00:03:36,280 --> 00:03:38,460 Ya vemos que también podría ser con esta codificación. 32 00:03:43,139 --> 00:03:48,780 Así, un documento XML podría ser perfectamente este que tenemos aquí, esto que tenemos aquí. 33 00:03:49,000 --> 00:03:53,020 Podría ser un texto XML. 34 00:03:53,020 --> 00:03:58,379 Vemos primero que aparece la información de lo que va a venir 35 00:03:58,379 --> 00:04:00,620 Y el juego de caracteres que es UTF-8 36 00:04:00,620 --> 00:04:05,740 Después un comentario en el cual nos indica cómo está formado este documento 37 00:04:05,740 --> 00:04:08,199 Una etiqueta que se abre que se llama prueba 38 00:04:08,199 --> 00:04:09,719 Y una etiqueta que la cierra 39 00:04:09,719 --> 00:04:14,340 Y dentro una etiqueta texto con cinco letras finalizadas en texto 40 00:04:14,340 --> 00:04:19,360 Bueno, si este documento está guardado en UTF-8 41 00:04:19,360 --> 00:04:22,379 Pues se mostraría en un navegador del mismo modo 42 00:04:22,379 --> 00:04:50,879 ¿De acuerdo? Sin embargo, si nosotros, por ejemplo, hubiéramos guardado esto como TF8 y declaramos que su codificación es ISO 8859-1, en ese caso, fíjense cómo aparece la información. Es horrible. Esto aparece en muchas páginas. Ocurre con los acentos, etc. ¿De acuerdo? Y eso siempre tiene que ver porque no están adecuados el formato de codificación a cómo se ha grabado. ¿De acuerdo? 43 00:04:50,879 --> 00:04:56,519 si estuviera bien grabado en un fichero que estuviera guardado como ISO 8859-1 44 00:04:56,519 --> 00:05:00,379 por supuesto podríamos poner esta codificación y se vería perfectamente 45 00:05:00,379 --> 00:05:03,160 aquí vemos el caso a computar 46 00:05:03,160 --> 00:05:09,420 con lo cual lo primero muy importante es que sepamos cómo estamos guardando cualquier información 47 00:05:09,420 --> 00:05:11,019 ¿y cómo vemos eso? 48 00:05:11,019 --> 00:05:18,000 bueno, pues vamos a abrir un procesador de documentos 49 00:05:18,000 --> 00:05:37,420 Vamos a abrir cualquier fichero, un fichero cualquiera que tengamos por aquí, vamos a abrir algún fichero que podamos tener por aquí, y vemos que aquí abajo, en este caso, en este procesador, en Visual Studio Code, pues tenemos que aquí está grabado como UTF-8. 50 00:05:37,420 --> 00:05:55,199 ¿De acuerdo? Entonces aquí podríamos indicarle o decirle que lo grabe de otra manera, podríamos indicar que lo grabe con otra codificación. ¿De acuerdo? A partir de que sabemos que está grabado en UTF-8, pues ya sabemos que la forma de codificarlo sería justamente esa de ahí. 51 00:05:55,199 --> 00:05:58,779 entonces, bueno, pues es una cuestión de tener cuidado 52 00:05:58,779 --> 00:06:02,360 aquí viene contado muy bien lo que significa esto de BOM 53 00:06:02,360 --> 00:06:07,459 que es que haya una marca de orden de bytes y en qué afecta 54 00:06:07,459 --> 00:06:11,500 bueno, pues sabiendo esto, ya es cuestión de tener cuidado 55 00:06:11,500 --> 00:06:16,939 otro elemento que aparece dentro del vocabulario relativo a XML son los DTDs 56 00:06:16,939 --> 00:06:21,560 los DTDs son los documentos que definen el tipo del propio XML 57 00:06:21,560 --> 00:06:33,600 y este tipo de DTD nos va a decir cuáles son las etiquetas que tienen que aparecer 58 00:06:33,600 --> 00:06:38,420 y en qué orden, qué puede estar dentro de qué y cuántas veces puede aparecer, etc. 59 00:06:39,019 --> 00:06:40,639 Ya lo veremos más adelante. 60 00:06:41,600 --> 00:06:46,680 El Doctype es otro elemento que nos dice cuál es la declaración del documento 61 00:06:46,680 --> 00:06:50,319 y por ejemplo aquí estamos viendo este Doctype que equivale a un HTML 62 00:06:50,319 --> 00:06:52,300 que tendría que estar 63 00:06:52,300 --> 00:06:54,040 en la versión XHTML 64 00:06:54,040 --> 00:06:55,379 1.0 65 00:06:55,379 --> 00:06:58,399 tengo que alegrarles 66 00:06:58,399 --> 00:07:00,019 la vida porque actualmente 67 00:07:00,019 --> 00:07:02,100 por ejemplo para definir un documento HTML 68 00:07:02,100 --> 00:07:03,579 simplemente escribimos 69 00:07:03,579 --> 00:07:06,139 este trocito de aquí y un mayor 70 00:07:06,139 --> 00:07:08,040 y todo esto de aquí no aparece 71 00:07:08,040 --> 00:07:09,879 pero en las versiones más antiguas de HTML 72 00:07:09,879 --> 00:07:12,339 y de XHTML eran tan largos como estos 73 00:07:12,339 --> 00:07:14,120 también vamos a tener 74 00:07:14,120 --> 00:07:15,680 instrucciones de procesamiento 75 00:07:15,680 --> 00:07:18,060 en las cuales por ejemplo en este caso 76 00:07:18,060 --> 00:07:20,259 estamos indicando que el XML 77 00:07:20,259 --> 00:07:22,639 en el que esté escrito esto va a ser procesado 78 00:07:22,639 --> 00:07:24,540 va a ser transformado a través de esta hoja 79 00:07:24,540 --> 00:07:26,300 de estilo .xsl 80 00:07:26,300 --> 00:07:28,540 vamos a tener caracteres un tanto 81 00:07:28,540 --> 00:07:29,160 extraños 82 00:07:29,160 --> 00:07:32,079 por ejemplo, para escribir 83 00:07:32,079 --> 00:07:34,740 un menor que no sea 84 00:07:34,740 --> 00:07:36,540 propio de una etiqueta, tendremos 85 00:07:36,540 --> 00:07:38,800 que escribir este texto 86 00:07:38,800 --> 00:07:40,139 ampersand 87 00:07:40,139 --> 00:07:42,120 lt punto y coma 88 00:07:42,120 --> 00:07:43,339 less than 89 00:07:43,339 --> 00:07:46,019 para el mayor, greater than 90 00:07:46,019 --> 00:07:47,879 para el ampersand, amp 91 00:07:47,879 --> 00:07:50,199 para una comilla 92 00:07:50,199 --> 00:07:53,259 apóstol y para una doble comilla 93 00:07:53,259 --> 00:07:53,800 cuot 94 00:07:53,800 --> 00:07:57,000 también tenemos un caso muy especial 95 00:07:57,000 --> 00:07:58,160 que se los a las secciones 96 00:07:58,160 --> 00:08:00,379 sedata y las secciones sedata son 97 00:08:00,379 --> 00:08:02,519 un punto extrañas porque empiezan de esta manera 98 00:08:02,519 --> 00:08:05,079 una manera muy rara y difícil de recordar 99 00:08:05,079 --> 00:08:06,579 y finalizan de esta 100 00:08:06,579 --> 00:08:08,519 y lo que quieren indicar es que dentro 101 00:08:08,519 --> 00:08:10,019 uno puede escribir lo que quiera 102 00:08:10,019 --> 00:08:12,439 puede escribir incluso dentro menores 103 00:08:12,439 --> 00:08:14,379 o mayores o lo que uno quiera 104 00:08:14,379 --> 00:08:17,060 es una forma un poco de saltarse 105 00:08:17,060 --> 00:08:19,019 de saltarse toda la normativa 106 00:08:19,019 --> 00:08:24,699 que aparece por allí dentro. Aquí vemos un ejemplo. Los caracteres, y para poner menor 107 00:08:24,699 --> 00:08:29,680 pondríamos esto, y para poner ampersand pondríamos esto, no pueden escribirse. Si quisiéramos 108 00:08:29,680 --> 00:08:35,600 escribirlos de verdad, pondríamos aquí cdata, y ahora ya escribimos esto a placer, sin tener 109 00:08:35,600 --> 00:08:41,379 que estar pensando en lo que aparece dentro. No se recomienda su uso, pero a veces es muy 110 00:08:41,379 --> 00:08:47,320 cómodo. Y después tenemos una cosa que son entidades, y entidades lo que se refieren 111 00:08:47,320 --> 00:08:50,419 es a algo que ya está definido 112 00:08:50,419 --> 00:08:53,080 entonces yo por ejemplo aquí he definido la entidad 113 00:08:53,080 --> 00:08:56,639 yo, y esta entidad corresponde al nombre 114 00:08:56,639 --> 00:08:58,120 Bartolomé Sintermarco 115 00:08:58,120 --> 00:09:01,740 bueno, pues ahora cuando yo pinte autor 116 00:09:01,740 --> 00:09:04,639 y llame a esta entidad, pues entonces 117 00:09:04,639 --> 00:09:07,919 el resultado será el nombre correspondiente 118 00:09:07,919 --> 00:09:11,559 esto es un poco el vocabulario que vamos a ir manejando 119 00:09:11,559 --> 00:09:14,700 vamos a ver ahora 120 00:09:14,700 --> 00:09:18,419 En breve, que es un documento bien formado.