XML Flashcards
1- QUE SIGNIFICA Y PARA QUE FUE DISEÑADO XML
- XML significa lenguaje de marcado extensible.
- XML fue diseñado para almacenar y transportar datos.
- XML fue diseñado para ser legible tanto por humanos como por máquinas.
2- Ejemplo XML:
>?xml version="1.0" encoding="UTF-8"?> >note> >to>Tove>/to> >from>Jani>/from> >heading>Reminder>/heading> >body>Don't forget me this weekend!>/body> >/note>
3- ¿Por qué estudiar XML?
- XML juega un papel importante en muchos sistemas de TI diferentes.
- XML se usa a menudo para distribuir datos a través de Internet.
- Es importante (¡para todo tipo de desarrolladores de software!) Tener una buena comprensión de XML.
4- Normas XML importantes
- Este tutorial también profundizará en los siguientes estándares XML importantes:
- XML AJAX
- DOM XML
- XML XPath
- XML XSLT
- XML XQuery
- DTD XML
- Esquema XML
- Servicios XML
5- ¿Qué es el XML?
- XML es una herramienta independiente de software y hardware para almacenar y transportar datos.
- XML significa lenguaje de marcado extensible
- XML es un lenguaje de marcado muy similar al HTML
- XML fue diseñado para almacenar y transportar datos
- XML fue diseñado para ser autodescriptivo
- XML es una recomendación del W3C
- XML no hace nada: Tal vez sea un poco difícil de entender, pero XML no HACE nada.
6- La diferencia entre XML y HTML
- XML y HTML fueron diseñados con diferentes objetivos:> XML fue diseñado para transportar datos, con foco en qué datos son.
HTML fue diseñado para mostrar datos, con enfoque en cómo se ven los datos.
Las etiquetas XML no están predefinidas como las etiquetas HTML.
7- ¿Cómo se puede usar XML ?
- XML se usa en muchos aspectos del desarrollo web. XML se usa a menudo para separar los datos de la presentación.
- XML separa los datos de la presentación:
> XML no contiene ninguna información sobre cómo mostrarse.
> Los mismos datos XML se pueden usar en muchos escenarios de presentación diferentes. Debido a esto, con XML, existe una separación total entre los datos y la presentación. - XML es a menudo un complemento de HTML
- XML separa datos de HTML: Al mostrar datos en HTML, no debería tener que editar el archivo HTML cuando los datos cambian.
> Con XML, los datos se pueden almacenar en archivos XML separados.
> Con unas pocas líneas de código JavaScript, puede leer un archivo XML y actualizar el contenido de datos de cualquier página HTML.
8- Árbol XML
- Los documentos XML forman una estructura de árbol que comienza en “la raíz” y se ramifica a “las hojas”.
9- Estructura de árbol XML
- Los documentos XML se forman como árboles de elementos.
- Un árbol XML comienza en un elemento raíz y se ramifica desde la raíz hasta los elementos secundarios .
- Todos los elementos pueden tener subelementos (elementos secundarios):
>root> >child> >subchild>.....>/subchild> >/child> >/root>
- Los términos padre, hijo y hermano se usan para describir las relaciones entre elementos.
- Los padres tienen hijos. Los niños tienen padres. Los hermanos son niños en el mismo nivel (hermanos y hermanas).
- Todos los elementos pueden tener contenido de texto (Harry Potter) y atributos (category = “cooking”).
10- Sintaxis de autodescripción
- XML utiliza una sintaxis muy autodescriptiva.
- Un prólogo define la versión XML y la codificación de caracteres:
>?xml version=”1.0” encoding=”UTF-8”?> - La siguiente línea es el elemento raíz del documento:
>bookstore> - La siguiente línea comienza un elemento :
>book category=”cooking”> - Los elementos (book> tienen 4 elementos secundarios : >title>, >author>, >year>, >price>.
> title lang=”en”>Everyday Italian>/title>
author>Giada De Laurentiis>/author>
year>2005>/year>
price>30.00>/price>
- La siguiente línea termina el elemento del libro:
>/book>
Puede suponer, a partir de este ejemplo, que el documento XML contiene información sobre libros en una librería.
11- Reglas de sintaxis XML:
1) Los documentos XML deben tener un elemento raíz. Los documentos XML deben contener un elemento raíz que sea el padre de todos los demás elementos:
>root> >child> >subchild>.....>/subchild> >/child> >/root> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 2) El prólogo XML. Esta línea se llama el prólogo XML :
> ?xml version=”1.0” encoding=”UTF-8”?>
- El prólogo XML es opcional. Si existe, debe aparecer primero en el documento.
- Los documentos XML pueden contener caracteres internacionales, como el noruego øæå o el francés êèé.
- Para evitar errores, debe especificar la codificación utilizada o guardar sus archivos XML como UTF-8.
- UTF-8 es la codificación de caracteres predeterminada para documentos XML.
- La codificación de caracteres se puede estudiar en nuestro Tutorial de conjunto de caracteres .
- UTF-8 también es la codificación predeterminada para HTML5, CSS, JavaScript, PHP y SQL.
___________________
3) Todos los elementos XML deben tener una etiqueta de cierre: En XML, es ilegal omitir la etiqueta de cierre. Todos los elementos deben tener una etiqueta de cierre:
> p>This is a paragraph.(/p>
br />
- Nota: ¡ El prólogo XML no tiene una etiqueta de cierre! Esto no es un error. El prólogo no forma parte del documento XML.
___________________
4) Las etiquetas XML distinguen entre mayúsculas y minúsculas: - Las etiquetas XML distinguen entre mayúsculas y minúsculas. La etiqueta (Letter> es diferente de la etiqueta (letter>.
- Las etiquetas de apertura y cierre deben escribirse con el mismo caso:
>message>This is correct>/message> - Las “etiquetas de apertura y cierre” a menudo se denominan “etiquetas de inicio y fin”. Usa lo que prefieras. Es exactamente lo mismo.
____________________
5) Los elementos XML deben estar correctamente anidados: - En HTML, puede ver elementos anidados incorrectamente:
>b»i>This text is bold and italic>/b»/i> - En XML, todos los elementos deben estar correctamente anidados entre sí:
>b»i>This text is bold and italic>/i»/b> - En el ejemplo anterior, “Anidado adecuadamente” simplemente significa que dado que l elemento (i> se abre dentro del elemento >b>, debe cerrarse dentro del elemento >b>.
____________________
5) Los valores de los atributos XML siempre se deben citar: - Los elementos XML pueden tener atributos en pares de nombre / valor al igual que en HTML.
- En XML, los valores de los atributos siempre se deben citar:
>note date="12/11/2007"> >to>Tove>>/to> >from>Jani>/from> >/note> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 6) Referencias de entidad: - Algunos caracteres tienen un significado especial en XML.
- Si coloca un carácter como “salary < 1000(/message>
- Para evitar este error, reemplace el carácter “salary < 1000(/message>
- Hay 5 referencias de entidad predefinidas en XML:
< < less than > > greater than & & ampersand ' ' apostrophe " " quotation mark
- Solo con & gt; también. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 7) Comentarios en XML: - La sintaxis para escribir comentarios en XML es similar a la de HTML: >!-- This is a comment -->
- No se permiten dos guiones en el medio de un comentario:
>!– This is an invalid – comment –>
____________________
8) El espacio en blanco se conserva en XML: - XML no trunca múltiples espacios en blanco (HTML trunca múltiples espacios en blanco en un solo espacio en blanco):
XML: Hello Tove
HTML: Hello Tove
____________________
9) XML almacena una nueva línea como LF:
- Las aplicaciones de Windows almacenan una nueva línea como: retorno de carro y avance de línea (CR + LF).
- Unix y Mac OSX usan LF.
- Los viejos sistemas Mac usan CR.
- XML almacena una nueva línea como LF.
____________________
10) XML bien formado: - Se dice que los documentos XML que se ajustan a las reglas de sintaxis anteriores son documentos XML “bien formados”.
12- Elementos XML:
Un documento XML contiene elementos XML.
1) ¿Qué es un elemento XML?
- Un elemento XML es todo (desde) la etiqueta de inicio del elemento hasta (incluida) la etiqueta final del elemento.
(price>29.99(/price>
- Un elemento puede contener: > texto > atributos > otros elementos > o una mezcla de lo anterior \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 2) Ejemplo: >bookstore> >xbook category="children"> >title>Harry Potter>/title> >author>J K. Rowling>/author> >year>2005>/year> >price>29.99>/price> >/book> >book category="web"> >title>Learning XML>/title> >author>Erik T. Ray>/author> >year>2003>/year> >price>39.95>/price> >/book> >/bookstore>
En el ejemplo anterior:
- > title>, >author>, >year> y >price> tienen contenido de texto porque contienen texto (como 29.99).
- > bookstore> y >book> tienen contenido de elementos , porque contienen elementos.
- > book> tiene un atributo (category = “children”).
___________________
3) Elementos XML vacíos: - Se dice que un elemento sin contenido está vacío.
- En XML, puede indicar un elemento vacío como este:
>element»/element> - También puede usar una llamada etiqueta de cierre automático:
>element /> - Las dos formas producen resultados idénticos en el software XML (lectores, analizadores, navegadores).
- Los elementos vacíos pueden tener atributos.
13) Reglas de nomenclatura XML:
Los elementos XML deben seguir estas reglas de nomenclatura:
- Los nombres de los elementos distinguen entre mayúsculas y minúsculas.
- Los nombres de los elementos deben comenzar con una letra o un guión bajo.
- Los nombres de elementos no pueden comenzar con las letras xml (o XML, o Xml, etc.)
- Los nombres de elementos pueden contener letras, dígitos, guiones, guiones bajos y puntos.
- Los nombres de elementos no pueden contener espacios
- Se puede usar cualquier nombre, no se reservan palabras (excepto xml).
14) Mejores prácticas de nomenclatura:
- Cree nombres descriptivos, como este: , , .
- Cree nombres cortos y simples, como este: no así: .
- Evitar “-“. Si nombra algo como “nombre”, algunos programas pueden pensar que desea restar “nombre” de “primero”.
- Evitar “.” Si nombra algo “first.name”, algunos programas pueden pensar que “name” es una propiedad del objeto “first”.
- Evitar “:”. Los dos puntos están reservados para espacios de nombres (más adelante).
- Las letras que no están en inglés como éòá son perfectamente legales en XML, pero tenga cuidado con los problemas si su software no los admite.
15) Nomenclatura de estilos:
- No hay estilos de nombres definidos para elementos XML. Pero aquí hay algunos de uso común:
Estilo/ Ejemplo/ Descripción
1) Minúscula / / Todas las letras minúsculas
2) Mayúscula / / Todas las letras mayúsculas
3) Guion bajo / / El guión bajo separa las palabras
4) Caso Pascal / /Primera letra mayúscula en cada palabra
5) El caso de Carmel / / Primera letra mayúscula en cada palabra excepto la primera
6) Si elige un estilo de nombre, ¡es bueno ser coherente!
- Los documentos XML a menudo tienen una base de datos correspondiente. Una práctica común es usar las reglas de nomenclatura de la base de datos para los elementos XML.
- Camel case es una regla de denominación común en JavaScripts.
16) Los elementos XML son extensibles
- Los elementos XML se pueden ampliar para transportar más información.
- Mire el siguiente ejemplo XML:
>note> >to>Tove(/to> >from>Jani>/from> >body>Don't forget me this weekend!>/body> >/note>
Imaginemos que creamos una aplicación que extrajo los elementos >to>, >from> y >body> del documento XML para producir esta salida:
MENSAJE
Para: Tove
De: Jani
¡No me olvides este fin de semana!
Imagine que el autor del documento XML le agregó información adicional:
>note> >date>2008-01-10>/date> >to>Tove>/to> >from>Jani>/from> >heading>Reminder>/heading> >body>Don't forget me this weekend!>/body> >/note>
¿Debería la aplicación romperse o bloquearse?
No. La aplicación aún debería poder encontrar los elementos , y en el documento XML y producir el mismo resultado.
Esta es una de las bellezas de XML. Se puede ampliar sin romper las aplicaciones.
17) Atributos XML:
- Los elementos XML pueden tener atributos, al igual que HTML.
- Los atributos están diseñados para contener datos relacionados con un elemento específico.
_____________________
1) Los atributos XML deben ser citados - Los valores de los atributos siempre se deben citar. Se pueden usar comillas simples o dobles.
- Para el género de una persona, el elemento se puede escribir así:
> person gender=”female”>
o así:
> person gender=’female’>
- Si el valor del atributo contiene comillas dobles, puede usar comillas simples, como en este ejemplo:
> gangster name=’George “Shotgun” Ziegler’>
o puedes usar entidades de caracteres:
>gangster name="George "Shotgun" Ziegler"> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 2) Elementos XML vs. Atributos - Eche un vistazo a estos ejemplos: >person gender="female"> >firstname>Anna>/firstname> >lastname>Smith>/lastname> >/person>
>person> >gender>female>/gender> >firstname>Anna>/firstname> >lastname>Smith>/lastname> >/person>
- En el primer ejemplo, el género es un atributo. En el último, el género es un elemento. Ambos ejemplos proporcionan la misma información.
- No hay reglas sobre cuándo usar atributos o cuándo usar elementos en XML.
18) Mi manera favorita:
- Los siguientes tres documentos XML contienen exactamente la misma información:
1) Se utiliza un atributo de fecha en el primer ejemplo:
> note date=”2008-01-10”>
to>Tove>/to>
from>Jani>/from>
/note>
2) Un elemento se usa en el segundo ejemplo:
>note> >date>2008-01-10>/date> >to>Tove>/to> >from>Jani>/from> >/note>
3) Se utiliza un elemento expandido en el tercer ejemplo: (ESTE ES MI FAVORITO):
>note> >date> >year>2008>/year> >month>01(/month> >day>10>/day> >/date> >to>Tove>/to> >from>Jani>/from> >/note>
19) ¿Evitar los atributos XML?
- Algunas cosas a considerar al usar atributos son:> los atributos no pueden contener múltiples valores (los elementos pueden)
los atributos no pueden contener estructuras de árbol (los elementos pueden)
los atributos no son fácilmente expandibles (para futuros cambios) - No termines así:
> note day=”10” month=”01” year=”2008”
to=”Tove” from=”Jani” heading=”Reminder”
body=”Don’t forget me this weekend!”>
/note>
20) Atributos XML para metadatos:
- A veces, las referencias de ID se asignan a elementos. Estas ID pueden usarse para identificar elementos XML de la misma manera que el atributo id en HTML. Este ejemplo demuestra esto:
>messages> >note id="501"> >to>Tove>/to> >from>Jani>/from> >heading>Reminder>/heading> >body>Don't forget me this weekend!>/body> >/note> >note id="502"> >to>Jani>/to> >from>Tove>/from> >heading>Re: Reminder>/heading> >body>I will not>/body> >/note> >/messages>
- Los atributos de identificación anteriores son para identificar las diferentes notas. No es parte de la nota en sí.
- Lo que estoy tratando de decir aquí es que los metadatos (datos sobre datos) deben almacenarse como atributos, y los datos en sí deben almacenarse como elementos.
21) Espacios de nombres XML:
- Los espacios de nombres XML proporcionan un método para evitar conflictos de nombres de elementos.
____________________
1) Conflictos de nombre: - En XML, el desarrollador define los nombres de los elementos. Esto a menudo genera un conflicto al intentar mezclar documentos XML de diferentes aplicaciones XML.
- Este XML contiene información de la tabla HTML:
>table> >tr> >td>Apples>/td> >td>Bananas>/td> >/tr> >/table>
- Este XML contiene información sobre una mesa (un mueble):
>table> >name>African Coffee Table>/name> >width>80>/width> >length>120>/length> >/table>
- Si estos fragmentos XML se agregaran juntos, habría un conflicto de nombres. Ambos contienen un elemento , pero los elementos tienen diferente contenido y significado.
- Un usuario o una aplicación XML no sabrá cómo manejar estas diferencias.
22) Resolver el conflicto de nombres usando un prefijo:
- Los conflictos de nombres en XML se pueden evitar fácilmente utilizando un prefijo de nombre.
- Este XML contiene información sobre una tabla HTML y un mueble:
>h:table> >h:tr> >h:td>Apples>/h:td> Bananas>/h:td> >/h:tr> >/h:table>
>f:table> >f:name>African Coffee Table>/f:name> >f:width>80>/f:width> >f:length>120>/f:length> >/f:table>
- En el ejemplo anterior, no habrá conflicto porque los dos elementos tienen nombres diferentes.
23) Espacios de nombres XML: el atributo xmlns
- Cuando se usan prefijos en XML, se debe definir un espacio de nombres para el prefijo.
- El espacio de nombres se puede definir mediante un atributo xmlns en la etiqueta de inicio de un elemento.
- La declaración del espacio de nombres tiene la siguiente sintaxis. xmlns: prefix = “ URI “.
> root>
>h:table xmlns:h="http://www.w3.org/TR/html4/"> >h:tr> >h:td>Apples>/h:td> >h:td>Bananas>/h:td> >/h:tr> >/h:table>
>f:table xmlns:f="https://www.w3schools.com/furniture"> >f:name>African Coffee Table>/f:name> >f:width>80>/f:width> >f:length>120>/f:length> >/f:table>
> /root>
- En el ejemplo anterior:> El atributo xmlns en el primer elemento le da al prefijo h: un espacio de nombres calificado.> El atributo xmlns en el segundo elemento le da al prefijo f: un espacio de nombres calificado.> Cuando se define un espacio de nombres para un elemento, todos los elementos secundarios con el mismo prefijo están asociados con el mismo espacio de nombres.
- Los espacios de nombres también se pueden declarar en el elemento raíz XML:
> root xmlns:h=”http://www.w3.org/TR/html4/”
xmlns:f=”https://www.w3schools.com/furniture”>
>h:table> >h:tr> >h:td>Apples>/h:td> >h:td>Bananas>/h:td> >/h:tr> >/h:table>
>f:table> >f:name>African Coffee Table>/f:name> >f:width>80>/f:width> >f:length>120>/f:length> >/f:table>
> /root>
> Nota: El analizador no utiliza el URI del espacio de nombres para buscar información.
> El propósito de usar un URI es darle al espacio de nombres un nombre único. > Sin embargo, las empresas a menudo usan el espacio de nombres como un puntero a una página web que contiene información del espacio de nombres.
24) Identificador uniforme de recursos (URI)
- Un identificador uniforme de recursos (URI) es una cadena de caracteres que identifica un recurso de Internet.
- El URI más común es el Localizador Uniforme de Recursos (URL) que identifica una dirección de dominio de Internet. Otro tipo de URI no tan común es el Nombre Uniforme de Recursos (URN).
____________________
1) Espacios de nombres predeterminados: - La definición de un espacio de nombres predeterminado para un elemento nos ahorra el uso de prefijos en todos los elementos secundarios. Tiene la siguiente sintaxis:
xmlns=”namespaceURI”
Este XML contiene información de la tabla HTML:
>table xmlns=”http://www.w3.org/TR/html4/”>
>tr>
>td>Apples>/td>
>td>Bananas>/td>
>/tr>
>/table>
Este XML contiene información sobre un mueble:
>table xmlns=”https://www.w3schools.com/furniture”>
>name>African Coffee Table>/name>
>width>80(/width>
>length>120>/length>
>/table>
____________________
2) Espacios de nombres en uso real
- XSLT es un lenguaje que se puede usar para transformar documentos XML en otros formatos.
- El documento XML a continuación, es un documento utilizado para transformar XML en HTML.
- El espacio de nombres “http://www.w3.org/1999/XSL/Transform” identifica elementos XSLT dentro de un documento HTML:
> ?xml version=”1.0” encoding=”UTF-8”?>
> xsl:stylesheet version=”1.0” xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
>xsl:template match="/"> >html> >body> >h2>My CD Collection>/h2> >table border="1"> >tr> >th style="text-align:left">Title>/th> >th style="text-align:left">Artist>/th> >/tr> >xsl:for-each select="catalog/cd"> >tr> >td>(xsl:value-of select="title"/>>/td> >td>(xsl:value-of select="artist"/>>/td> >/tr> >/xsl:for-each> >/table> >/body> >/html> >/xsl:template>
> /xsl:stylesheet>
25) Mostrar XML
- Los archivos XML sin procesar se pueden ver en todos los principales navegadores.
- No espere que los archivos XML se muestren como páginas HTML.
- Ver archivos XML >? xml version = "1.0" encoding = "UTF-8"?> - >note > >to> Tove >/ to > >from> Jani >/ from > >header> Recordatorio >/ header > >body> Don ' ¡No me olvides este fin de semana! (/ cuerpo> >/nota>
- Mire el archivo XML de arriba en su navegador: note.xml
- La mayoría de los navegadores mostrarán un documento XML con elementos codificados por colores.
- A menudo, se puede hacer clic en un signo más (+) o menos (-) a la izquierda de los elementos para expandir o contraer la estructura del elemento.
- Para ver la fuente XML sin procesar, intente seleccionar “Ver fuente de página” o “Ver fuente” en el menú del navegador.
- Nota: En Safari 5 (y versiones anteriores), solo se mostrará el texto del elemento. Para ver el XML sin procesar, debe hacer clic con el botón derecho en la página y seleccionar “Ver código fuente”.
_____________________
2) Ver un archivo XML no válido
Si se abre un archivo XML erróneo, algunos navegadores informarán el error y otros lo mostrarán o lo mostrarán incorrectamente.
> ? xml version = “1.0” encoding = “UTF-8”?>
- >nota >
>para> Tove >/a >
>desde> Jani >/ffrom >
>partida> Recordatorio >/partida >
>cuerpo> Don’ ¡No me olvides este fin de semana! >/cuerpo>
/nota>
Intente abrir el siguiente archivo XML: note_error.xml
____________________
3) ¿Por qué se muestra XML así?
- Los documentos XML no llevan información sobre cómo mostrar los datos.
- Dado que las etiquetas XML son “inventadas” por el autor del documento XML, los navegadores no saben si una etiqueta como describe una tabla HTML o una mesa de comedor.
- Sin ninguna información sobre cómo mostrar los datos, los navegadores solo pueden mostrar el documento XML tal como está.
- Sugerencia: Si desea diseñar un documento XML, use XSLT .