XML Flashcards

1
Q

1- QUE SIGNIFICA Y PARA QUE FUE DISEÑADO XML

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

2- Ejemplo XML:

A
>?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>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

3- ¿Por qué estudiar XML?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4- Normas XML importantes

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5- ¿Qué es el XML?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

6- La diferencia entre XML y HTML

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

7- ¿Cómo se puede usar XML ?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

8- Árbol XML

A
  • Los documentos XML forman una estructura de árbol que comienza en “la raíz” y se ramifica a “las hojas”.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

9- Estructura de árbol XML

A
  • 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”).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

10- Sintaxis de autodescripción

A
  • 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

11- Reglas de sintaxis XML:

A

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
&amp;	&amp;	ampersand 
'	'	apostrophe
"	"	quotation mark
- Solo  con &amp; 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”.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

12- Elementos XML:

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

13) Reglas de nomenclatura XML:

A

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).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

14) Mejores prácticas de nomenclatura:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

15) Nomenclatura de estilos:

A
  • 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

16) Los elementos XML son extensibles

A
  • 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

17) Atributos XML:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

18) Mi manera favorita:

A
  • 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>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

19) ¿Evitar los atributos XML?

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

20) Atributos XML para metadatos:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

21) Espacios de nombres XML:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

22) Resolver el conflicto de nombres usando un prefijo:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

23) Espacios de nombres XML: el atributo xmlns

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

24) Identificador uniforme de recursos (URI)

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

25) Mostrar XML

A
  • 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 .
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

26) XML HttpRequest

A

Todos los navegadores modernos tienen un objeto XMLHttpRequest incorporado para solicitar datos de un servidor.

1) El objeto XMLHttpRequest
El objeto XMLHttpRequest se puede usar para solicitar datos de un servidor web.

El objeto XMLHttpRequest es un sueño de los desarrolladores , porque puedes:

 > Actualizar una página web sin volver a cargar la página.
 > Solicitar datos de un servidor: después de que la página se haya cargado.
 > Recibir datos de un servidor: después de que la página se haya cargado.
 > Enviar datos a un servidor: en segundo plano. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 2) Ejemplo de XMLHttpRequest Cuando escribe un carácter en el campo de entrada a continuación, se envía una XMLHttpRequest al servidor y se devuelven algunas sugerencias de nombre (del servidor):

Ejemplo
Comience a escribir un nombre en el campo de entrada a continuación:

Nombre:
Sugerencias:

El ejemplo anterior se explica en los capítulos AJAX de este tutorial.
____________________
3) Enviar un XMLHttpRequest
Una sintaxis común de JavaScript para usar el objeto XMLHttpRequest se parece mucho a esto:

Ejemplo
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById(“demo”).innerHTML = xhttp.responseText;
}
};
xhttp.open(“GET”, “filename”, true);
xhttp.send();
_____________________
4) Ejemplo explicado
La primera línea en el ejemplo anterior crea un objeto XMLHttpRequest :

var xhttp = new XMLHttpRequest();
La propiedad onreadystatechange especifica una función que se ejecutará cada vez que cambie el estado del objeto XMLHttpRequest:

xhttp.onreadystatechange = function()
Cuando la propiedad readyState es 4 y la propiedad de estado es 200, la respuesta está lista:

if (this.readyState == 4 && this.status == 200)
La propiedad responseText devuelve la respuesta del servidor como una cadena de texto.

La cadena de texto se puede usar para actualizar una página web:

document.getElementById(“demo”).innerHTML = xhttp.responseText;
Aprenderá mucho más sobre el objeto XMLHttpRequest en los capítulos AJAX de este tutorial.
______________________
5) Versiones anteriores de Internet Explorer (IE5 e IE6)
Las versiones anteriores de Internet Explorer (IE5 e IE6) no admiten el objeto XMLHttpRequest.

Para manejar IE5 e IE6, verifique si el navegador admite el objeto XMLHttpRequest o cree un ActiveXObject:

Ejemplo
if (window.XMLHttpRequest) {
    // code for modern browsers
    xmlhttp = new XMLHttpRequest();
 } else {
    // code for old IE browsers
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
27
Q

27) Analizador XML/ XML Parser

A

Todos los principales navegadores tienen un analizador XML incorporado para acceder y manipular XML.
____________________
1) Analizador XML:
- El XML DOM (Modelo de objeto de documento) define las propiedades y los métodos para acceder y editar XML.

  • Sin embargo, antes de acceder a un documento XML, debe cargarse en un objeto DOM XML.
  • Todos los navegadores modernos tienen un analizador XML incorporado que puede convertir texto en un objeto XML DOM.
    ____________________
    2) Analizar una cadena de texto:
  • Este ejemplo analiza una cadena de texto en un objeto DOM XML y extrae su información con JavaScript:

Ejemplo
>html>
>body>

> p id=”demo”»/p>

> script>
var text, parser, xmlDoc;

text = ">bookstore>>book>" +
">title>Everyday Italian>/title>" +
">author>Giada De Laurentiis>/author>" +
">year>2005>/year>" +
">/book>>/bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById(“demo”).innerHTML =
xmlDoc.getElementsByTagName(“title”)[0].childNodes[0].nodeValue;
(/script>

>/body>
>/html>
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
3) Ejemplo explicado
- Se define una cadena de texto:
text = ">bookstore>>book>" +
">title>Everyday Italian>/title>" +
">author>Giada De Laurentiis>/author>" +
">year>2005>/year>" +
">/book>>/bookstore>";
- Se crea un analizador XML DOM:
parser = new DOMParser();
  • El analizador crea un nuevo objeto XML DOM utilizando la cadena de texto:
    xmlDoc = parser.parseFromString(text,”text/xml”);
    ____________________
    4) Versiones anteriores de Internet Explorer
  • Las versiones anteriores de Internet Explorer (IE5, IE6, IE7, IE8) no son compatibles con el objeto DOMParser.
  • Para manejar versiones anteriores de Internet Explorer, verifique si el navegador admite el objeto DOMParser o cree un ActiveXObject:
Ejemplo
if (window.DOMParser) {
  // code for modern browsers
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(text,"text/xml");
} else {
  // code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(text);
} 
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
5) El objeto XMLHttpRequest
- El objeto XMLHttpRequest tiene un analizador XML incorporado.
  • La propiedad responseText devuelve la respuesta como una cadena.
  • La propiedad responseXML devuelve la respuesta como un objeto DOM XML.
  • Si desea usar la respuesta como un objeto DOM XML, puede usar la propiedad responseXML.

Ejemplo
- Solicite el archivo cd_catalog.xml y use la respuesta como un objeto DOM XML:

xmlDoc = xmlhttp.responseXML;
txt = “”;
x = xmlDoc.getElementsByTagName(“ARTIST”);
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + “<br></br>”;
}
document.getElementById(“demo”).innerHTML = txt;

28
Q

28) XML DOM

A

1) ¿Qué es el DOM?:
- El DOM define un estándar para acceder y manipular documentos:

“El Modelo de objetos de documento (DOM) del W3C es una plataforma y una interfaz de lenguaje neutral que permite que los programas y los scripts accedan y actualicen dinámicamente el contenido, la estructura y el estilo de un documento”.

  • El HTML DOM define una forma estándar para acceder y manipular documentos HTML. Presenta un documento HTML como una estructura de árbol.
  • El XML DOM define una forma estándar para acceder y manipular documentos XML. Presenta un documento XML como una estructura de árbol.
  • Comprender el DOM es imprescindible para cualquier persona que trabaje con HTML o XML.
    ____________________
    2) El HTML DOM
  • Se puede acceder a todos los elementos HTML a través del HTML DOM.
  • Este ejemplo cambia el valor de un elemento HTML con id = “demo”:

Ejemplo
>h1 id=”demo”>This is a Heading>/h1>

> button type=”button”
onclick=”document.getElementById(‘demo’).innerHTML = ‘Hello World!’“>Click Me!
/button>
_____________________
3) El XML DOM
- Se puede acceder a todos los elementos XML a través del DOM XML.

Ej: Books.xml
>?xml version=”1.0” encoding=”UTF-8”?>
>bookstore>

  >book category="cooking">
    >title lang="en">Everyday Italian>/title>
    >author>Giada De Laurentiis>/author>
    >year>2005>/year>
    >price>30.00>/price>
  >/book>
  >book category="children">
    >title lang="en">Harry Potter>/title>
    >author>J K. Rowling>/author>
    >year>2005>/year>
    >price>29.99>/price>
  >/book>

> /bookstore>
- Este código recupera el valor de texto del primer elemento en un documento XML:

Ejemplo
txt = xmlDoc.getElementsByTagName(“title”)[0].childNodes[0].nodeValue;

  • El XML DOM es un estándar sobre cómo obtener, cambiar, agregar y eliminar elementos XML.
29
Q

27) XML y XPath

A

1) ¿Qué es XPath?
- XPath es un elemento importante en el estándar XSLT.

  • XPath se puede usar para navegar a través de elementos y atributos en un documento XML.> XPath es una sintaxis para definir partes de un documento XML.
    XPath usa expresiones de ruta para navegar en documentos XML.
    XPath contiene una biblioteca de funciones estándar.
    XPath es un elemento importante en XSLT y en XQuery.
    XPath es una recomendación del W3C.
    ____________________
    2) Expresiones de ruta XPath:
  • XPath usa expresiones de ruta para seleccionar nodos o conjuntos de nodos en un documento XML. Estas expresiones de ruta se parecen mucho a las expresiones que ve cuando trabaja con un sistema de archivos de computadora tradicional.
  • Las expresiones XPath se pueden usar en JavaScript, Java, Esquema XML, PHP, Python, C y C ++, y muchos otros lenguajes.
    ____________________
    3) XPath se utiliza en XSLT
  • XPath es un elemento importante en el estándar XSLT.
  • Con el conocimiento de XPath, podrá aprovechar las ventajas de XSL.

Ejemplo XPath
- Utilizaremos el siguiente documento XML:

> ?xml version=”1.0” encoding=”UTF-8”?>

> bookstore>

>book category="cooking">
  >title lang="en">Everyday Italian>/title>
  >author>Giada De Laurentiis>/author>
  >year>2005>/year>
  >price>30.00>/price>
>/book>
>book category="children">
  >title lang="en">Harry Potter>/title>
  >author>J K. Rowling>/author>
  >year>2005>/year>
  >price>29.99>/price>
>/book>
>book category="web">
  >title lang="en">XQuery Kick Start>/title>
  >author>James McGovern>/author>
  >author>Per Bothner>/author>
  >author>Kurt Cagle>/author>
  >author>James Linn>/author>
  >author>Vaidyanathan Nagarajan>/author>
  >year>2003>/year>
  >price>49.99>/price>
>/book>
>book category="web">
  >title lang="en">Learning XML>/title>
  >author>Erik T. Ray>/author>
  >year>2003>/year>
  >price>39.95>/price>
>/book>

> /bookstore>

En la tabla a continuación hemos enumerado algunas expresiones XPath y el resultado de las expresiones:

XPath Expression // Result
/bookstore/book[1] // Selects the first book element that is the child of the bookstore element

/bookstore/book[last()] // Selects the last book element that is the child of the bookstore element

/bookstore/book[last()-1] // Selects the last but one book element that is the child of the bookstore element

/bookstore/book[position()<3] // Selects the first two book elements that are children of the bookstore element

//title[@lang] // Selects all the title elements that have an attribute named lang

//title[@lang=’en’] // Selects all the title elements that have a “lang” attribute with a value of “en”

/bookstore/book[price>35.00] // Selects all the book elements of the bookstore element that have a price element with a value greater than 35.00

/bookstore/book[price>35.00]/title // Selects all the title elements of the book elements of the bookstore element that have a price element with a value greater than 35.00

30
Q

28) XML y XSLT

A

Con XSLT puede transformar un documento XML en HTML.

1) Mostrar XML con XSLT
- XSLT (Transformaciones de lenguaje de hoja de estilo extensible) es el lenguaje de hoja de estilo recomendado para XML.

  • XSLT es mucho más sofisticado que CSS. Con XSLT puede agregar / eliminar elementos y atributos desde o hacia el archivo de salida. También puede reorganizar y ordenar elementos, realizar pruebas y tomar decisiones sobre qué elementos ocultar y mostrar, y mucho más.
  • XSLT usa XPath para buscar información en un documento XML.
    ____________________
    2) Ejemplo XSLT
    Utilizaremos el siguiente documento XML:

> ?xml version=”1.0” encoding=”UTF-8”?>
breakfast_menu>

>food>
>name>Belgian Waffles>/name>
>price>$5.95>/price>
>description>Two of our famous Belgian Waffles with plenty of real maple syrup>/description>
>calories>650>/calories>
>/food>
>food>
>name>Strawberry Belgian Waffles>/name>
>price>$7.95>/price>
>description>Light Belgian waffles covered with strawberries and whipped cream>/description>
>calories>900>/calories>
>/food>
>food>
>name>Berry-Berry Belgian Waffles>/name>
>price>$8.95>/price>
>description>Light Belgian waffles covered with an assortment of fresh berries and whipped cream>/description>
>calories>900>/calories>
>/food>
>food>
>name>French Toast>/name>
>price>$4.50>/price>
>description>Thick slices made from our homemade sourdough bread>/description>
>calories>600>/calories>
>/food>
>food>
>name>Homestyle Breakfast>/name>
>price>$6.95>/price>
>description>Two eggs, bacon or sausage, toast, and our ever-popular hash browns>/description>
>calories>950>/calories>
>/food>

> /breakfast_menu>
____________________
3) Use XSLT para transformar XML en HTML, antes de que se muestre en un navegador:

Ejemplo de hoja de estilo XSLT:
>?xml version=”1.0” encoding=”UTF-8”?>
(html xsl:version=”1.0” xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
>body style=”font-family:Arial;font-size:12pt;background-color:#EEEEEE”>
>xsl:for-each select=”breakfast_menu/food”>
>div style=”background-color:teal;color:white;padding:4px”>
>span style=”font-weight:bold”>(xsl:value-of select=”name”/> - (/span>
>xsl:value-of select=”price”/>
>/div>
>div style=”margin-left:20px;margin-bottom:1em;font-size:10pt”>
>p>
>xsl:value-of select=”description”/>
>span style=”font-style:italic”> ( calories per serving)
>/p>
>/div>
>/xsl:for-each>
>/body>
>/html>

31
Q

29) XML y XQuery

A

1) ¿Qué es XQuery?
- XQuery es para XML lo que SQL es para las bases de datos.

  • XQuery fue diseñado para consultar datos XML.
    ____________________
    2) Ejemplo de XQuery
    for $x in doc(“books.xml”)/bookstore/book
    where $x/price>30
    order by $x/title
    return $x/title
    ____________________
    3) ¿Qué es XQuery?
  • XQuery
  • XQuery es el lenguaje para consultar datos XML
  • XQuery para XML es como SQL para bases de datos
  • XQuery se basa en expresiones XPath
  • XQuery es compatible con todas las bases de datos principales
  • XQuery es una recomendación del W3C
    ____________________
    4) XQuery se trata de consultar XML
  • XQuery es un lenguaje para encontrar y extraer elementos y atributos de documentos XML.
  • Aquí hay un ejemplo de lo que XQuery podría resolver:

“Seleccione todos los registros de CD con un precio inferior a $ 10 de la colección de CD almacenada en cd_catalog.xml”
____________________
5) XQuery y XPath
- XQuery 1.0 y XPath 2.0 comparten el mismo modelo de datos y admiten las mismas funciones y operadores. Si ya ha estudiado XPath, no tendrá problemas para comprender XQuery.
____________________
6) XQuery - Ejemplos de uso
- XQuery se puede usar para:

  • Extraer información para usar en un servicio web
  • Generar informes resumidos
  • Transformar datos XML a XHTML
  • Buscar documentos web para obtener información relevante
    ____________________
    7) XQuery es una recomendación del W3C
  • XQuery es compatible con varios estándares W3C, como XML, espacios de nombres, XSLT, XPath y XML Schema.
  • XQuery 1.0 se convirtió en una recomendación del W3C en 2007.
32
Q

30) XML , XLink y XPointer

A
  • XLink se utiliza para crear hipervínculos en documentos XML.
  • Cualquier elemento en un documento XML puede comportarse como un enlace.
  • Con XLink, los enlaces se pueden definir fuera de los archivos vinculados.
  • XLink es una recomendación del W3C.
    ____________________
    2) Soporte de navegador XLink
    -No hay soporte de navegador para XLink en documentos XML.
  • Sin embargo, todos los principales navegadores admiten XLinks en SVG .
    ____________________
    3) Sintaxis XLink
  • En HTML, el elemento <a> define un hipervínculo. Sin embargo, no es así como funciona en XML. En los documentos XML, puede usar los nombres de elementos que desee; por lo tanto, es imposible para los navegadores predecir qué elementos de enlace se llamarán en los documentos XML.</a>
  • A continuación se muestra un ejemplo simple de cómo usar XLink para crear enlaces en un documento XML:

> ?xml version=”1.0” encoding=”UTF-8”?>

> homepages xmlns:xlink=”http://www.w3.org/1999/xlink”>
homepage xlink:type=”simple” xlink:href=”https://www.w3schools.com”>Visit W3Schools
homepage xlink:type=”simple” xlink:href=”http://www.w3.org”>Visit W3C
/homepages>

  • Para obtener acceso a las funciones de XLink debemos declarar el espacio de nombres XLink. El espacio de nombres XLink es: “http://www.w3.org/1999/xlink”.
  • Los atributos xlink: type y xlink: href en los elementos (homepage> provienen del espacio de nombres XLink.
  • El xlink: type = “simple” crea un enlace simple “similar a HTML” (significa “haga clic aquí para ir allí”).
  • El atributo xlink: href especifica la URL para vincular.
    ____________________
    4) Ejemplo de XLink
  • El siguiente documento XML contiene características de XLink:

> ?xml version=”1.0” encoding=”UTF-8”?>

> bookstore xmlns:xlink=”http://www.w3.org/1999/xlink”>

>book title="Harry Potter">
  >description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  >/description>
>/book>
>book title="XQuery Kick Start">
  >description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  >/description>
>/book>

> /bookstore>

  • Ejemplo explicado:
  • El espacio de nombres XLink se declara en la parte superior del documento (xmlns: xlink = “http://www.w3.org/1999/xlink”)
  • El xlink: type = “simple” crea un enlace simple “similar a HTML”
  • El atributo xlink: href especifica la URL a la que enlazar (en este caso, una imagen)
  • El xlink: show = “new” especifica que el enlace debe abrirse en una nueva ventana
    ____________________
    5) XLink - Yendo más allá
  • En el ejemplo anterior, hemos demostrado XLinks simples. XLink se está volviendo más interesante al acceder a ubicaciones remotas como recursos, en lugar de páginas independientes.
  • Si establecemos el valor del atributo xlink: show en “incrustar”, el recurso vinculado debe procesarse en línea dentro de la página. Si considera que este podría ser otro documento XML, podría, por ejemplo, crear una jerarquía de documentos XML.
- También puede especificar CUANDO debe aparecer el recurso, con el atributo xlink: actuate.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
6) Referencia de atributo XLink
Attribute	// Value	// Description
xlink:actuate	onLoad
                        onRequest
                        other
                        none	
Defines when the linked resource is read and shown:
* onLoad - the resource should be loaded and shown when the document loads
* onRequest - the resource is not read or shown before the link is clicked
----------------------------------------
xlink:href	URL	Specifies the URL to link to
----------------------------------------
xlink:show	embed
                        new
                        replace
                        other
                        none	
Specifies where to open the link. Default is "replace"
----------------------------------------
xlink:type	simple
                        extended
                        locator
                        arc
                        resource
                        title
                        none	
Specifies the type of link
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
7) XPointer
- XPointer permite que los enlaces apunten a partes específicas de un documento XML.
- XPointer usa expresiones XPath para navegar en el documento XML.
- XPointer es una recomendación del W3C.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
8) Soporte de navegador XPointer
- No hay soporte de navegador para XPointer. Pero XPointer se usa en otros lenguajes XML.

Ejemplo de XPointer
- En este ejemplo, usaremos XPointer junto con XLink para señalar una parte específica de otro documento.

  • Comenzaremos mirando el documento XML de destino (el documento al que estamos vinculando):

> ?xml version=”1.0” encoding=”UTF-8”?>

> dogbreeds>

> dog breed=”Rottweiler” id=”Rottweiler”>
picture url=”https://dog.com/rottweiler.gif” />
history>The Rottweiler’s ancestors were probably Roman
drover dogs…..(/history>
temperament>Confident, bold, alert and imposing, the Rottweiler is a popular choice for its ability to protect….>/temperament>
/dog>

> dog breed=”FCRetriever” id=”FCRetriever”>
picture url=”https://dog.com/fcretriever.gif” />
history>One of the earliest uses of retrieving dogs was to
help fishermen retrieve fish from the water….>/history>
temperament>The flat-coated retriever is a sweet, exuberant, lively dog that loves to play and retrieve….>/temperament>
/dog>

> /dogbreeds>

  • ¡Tenga en cuenta que el documento XML anterior usa atributos de identificación en cada elemento!
  • Entonces, en lugar de vincular a todo el documento (como con XLink), XPointer le permite vincular a partes específicas del documento. Para vincular a una parte específica de una página, agregue un signo de número (#) y una expresión XPointer después de la URL en el atributo xlink: href, de esta manera: xlink: href = “https://dog.com/dogbreeds.xml #xpointer (id (‘Rottweiler’)) “. La expresión se refiere al elemento en el documento de destino, con el valor de identificación de “Rottweiler”.
  • XPointer también permite un método abreviado para vincular a un elemento con una identificación. Puede usar el valor de la identificación directamente, de esta manera: xlink: href = “https://dog.com/dogbreeds.xml#Rottweiler”.
  • El siguiente documento XML contiene enlaces a más información sobre la raza del perro para cada uno de mis perros:

> ?xml version=”1.0” encoding=”UTF-8”?>

> mydogs xmlns:xlink=”http://www.w3.org/1999/xlink”>

>mydog>
  >description>
  Anton is my favorite dog. He has won a lot of.....
  >/description>
  >fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  >/fact>
>/mydog>
>mydog>
  >description>
  Pluto is the sweetest dog on earth......
  >/description>
  >fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  >/fact>
>/mydog>

> /mydogs></a>

33
Q

31) Validador XML

A

1) Documentos XML válidos
- Un documento XML “bien formado” no es lo mismo que un documento XML “válido”.

  • Un documento XML “válido” debe estar bien formado. Además, debe cumplir con una definición de tipo de documento.
  • Hay dos definiciones de tipo de documento diferentes que se pueden usar con XML:> DTD: la definición de tipo de documento original
    Esquema XML: una alternativa basada en XML para DTD
  • Una definición de tipo de documento define las reglas y los elementos y atributos legales para un documento XML.
34
Q

32) XML DTD

A
  • Un documento XML con la sintaxis correcta se llama “Bien formado”.
  • Un documento XML validado contra un DTD es “Bien formado” y “Válido”.
    ____________________
    1) ¿Qué es un DTD?
  • DTD significa definición de tipo de documento.
  • Un DTD define la estructura y los elementos y atributos legales de un documento XML.
    ____________________
    2) Documentos XML válidos
  • Un documento XML “válido” está “bien formado” y cumple con las reglas de un DTD:
>?xml version="1.0" encoding="UTF-8"?>
>!DOCTYPE note SYSTEM "Note.dtd">
>note>
>to>Tove>/to>
>from>Jani>/from>
>heading>Reminder>/heading>
>body>Don't forget me this weekend!>/body>
>/note>
  • La declaración DOCTYPE anterior contiene una referencia a un archivo DTD. El contenido del archivo DTD se muestra y explica a continuación.
35
Q

33) Propósito de un DTD

A
  • El propósito de un DTD es definir la estructura y los elementos y atributos legales de un documento XML:
Note.dtd:
>!DOCTYPE note
[
>!ELEMENT note (to,from,heading,body)>
>!ELEMENT to (#PCDATA)>
>!ELEMENT from (#PCDATA)>
>!ELEMENT heading (#PCDATA)>
>!ELEMENT body (#PCDATA)>
]>
  • El DTD anterior se interpreta así:

! DOCTYPE note: define que el elemento raíz del documento es una nota

! ELEMENTO nota - Define que el elemento de nota debe contener los elementos: “a, desde, encabezado, cuerpo”

! ELEMENT to - Define que el elemento to sea del tipo “#PCDATA”

! ELEMENT from - Define que el elemento from sea del tipo “#PCDATA”

! ELEMENTO encabezado - Define que el elemento de encabezado sea del tipo “#PCDATA”

! ELEMENT body - Define que el elemento del cuerpo sea del tipo “#PCDATA”

  • Consejo: #PCDATA significa datos de caracteres que se pueden analizar.
36
Q

34) Uso de DTD para declaración de entidad

A

Una declaración DOCTYPE también se puede usar para definir caracteres especiales o cadenas, que se usan en el documento:

Ejemplo
>?xml version=”1.0” encoding=”UTF-8”?>

>!DOCTYPE note [
>!ENTITY nbsp "">
>!ENTITY writer "Writer: Donald Duck.">
>!ENTITY copyright "Copyright: W3Schools.">
]>

> note>
to>Tove>/to>
from>Jani>/from>
heading>Reminder>/heading>
body>Don’t forget me this weekend!>/body>
footer>&writer;&copyright;>/footer>
/note>

  • Consejo: Una entidad tiene tres partes: comienza con un signo de unión (&), luego viene el nombre de la entidad y termina con un punto y coma (;).
    ____________________
    2) ¿Cuándo usar una DTD?
  • Con una DTD, grupos independientes de personas pueden acordar usar una DTD estándar para intercambiar datos.
  • Con un DTD, puede verificar que los datos que recibe del mundo exterior sean válidos.
  • También puede usar una DTD para verificar sus propios datos.
    ____________________
    3) ¿Cuándo NO usar un DTD?
  • XML no requiere una DTD.
  • Cuando experimente con XML, o cuando trabaje con archivos XML pequeños, crear DTD puede ser una pérdida de tiempo.
  • Si desarrolla aplicaciones, espere hasta que la especificación sea estable antes de agregar una DTD. De lo contrario, su software podría dejar de funcionar debido a errores de validación.
37
Q

35) Esquema XML

A
  • Un esquema XML describe la estructura de un documento XML, al igual que un DTD.
  • Un documento XML con la sintaxis correcta se llama “Bien formado”.
  • Un documento XML validado contra un esquema XML es “Bien formado” y “Válido”.
    ____________________
  • El esquema XML es una alternativa basada en XML a DTD:

> xs:element name=”note”>

> xs:complexType>
xs:sequence>
>xs:element name=”to” type=”xs:string”/>
>xs:element name=”from” type=”xs:string”/>
>xs:element name=”heading” type=”xs:string”/>
>xs:element name=”body” type=”xs:string”/>
/xs:sequence>
/xs:complexType>

> /xs:element>

  • El esquema anterior se interpreta así:

> xs: element name = “note”> define el elemento llamado “note”

> xs: complexType> el elemento “nota” es un tipo complejo

> xs: secuencia> el tipo complejo es una secuencia de elementos

> xs: element name = “to” type = “xs: string”> el elemento “to” es de tipo string (texto)

> xs: element name = “from” type = “xs: string”> el elemento “from” es de tipo string

> xs: element name = “header” type = “xs: string”> el elemento “header” es de tipo string

> xs: element name = “body” type = “xs: string”> el elemento “body” es de tipo string
____________________
2) Los esquemas XML son más potentes que DTD
Los esquemas XML están escritos en XML
Los esquemas XML son extensibles a las adiciones
Los esquemas XML admiten tipos de datos
Los esquemas XML admiten espacios de nombres
____________________
3) ¿Por qué usar un esquema XML?
- Con XML Schema, sus archivos XML pueden llevar una descripción de su propio formato.

  • Con XML Schema, grupos independientes de personas pueden acordar un estándar para intercambiar datos.
  • Con el esquema XML, puede verificar los datos.
    ____________________
    4) Tipos de datos de soporte de esquemas XML
  • Una de las mayores fortalezas de los esquemas XML es la compatibilidad con los tipos de datos:

> Es más fácil describir el contenido del documento.
Es más fácil definir restricciones en los datos.
Es más fácil validar la exactitud de los datos.
Es más fácil convertir datos entre diferentes tipos de datos.
____________________
5) Los esquemas XML usan sintaxis XML
- Otra gran ventaja de los esquemas XML es que están escritos en XML:

> No tienes que aprender un nuevo idioma
Puede usar su editor XML para editar sus archivos de esquema
Puede usar su analizador XML para analizar sus archivos de esquema
Puedes manipular tus esquemas con el DOM XML
Puedes transformar tus esquemas con XSLT

38
Q

36) XML en el servidor

A
  • Los archivos XML son archivos de texto sin formato al igual que los archivos HTML.
  • XML puede ser fácilmente almacenado y generado por un servidor web estándar.
    ____________________
    1) Almacenar archivos XML en el servidor
  • Los archivos XML se pueden almacenar en un servidor de Internet exactamente de la misma manera que los archivos HTML.
  • Inicie el Bloc de notas de Windows y escriba las siguientes líneas:

> ?xml version=”1.0” encoding=”UTF-8”?>
note>
from>Jani>/from>
to>Tove>/to>
message>Remember me this weekend>/message>
/note>
- Guarde el archivo en su servidor web con un nombre propio como “note.xml”.
____________________
2) Generando XML con PHP
- XML se puede generar en un servidor sin ningún software XML instalado.

  • Para generar una respuesta XML desde el servidor usando PHP, use el siguiente código:

> ?php
header(“Content-type: text/xml”);
echo “>?xml version=’1.0’ encoding=’UTF-8’?>”;
echo “>note>”;
echo “>from>Jani(/from>”;
echo “>to>Tove(/to>”;
echo “>message>Remember me this weekend(/message>”;
echo “>/note>”;
?>
- Tenga en cuenta que el tipo de contenido del encabezado de respuesta debe establecerse en “text / xml”.
____________________
3) Generando XML con ASP
- Para generar una respuesta XML desde el servidor, simplemente escriba el siguiente código y guárdelo como un archivo ASP en el servidor web:

> %
response.ContentType=”text/xml”
response.Write(“>?xml version=’1.0’ encoding=’UTF-8’?>”)
response.Write(“>note>”)
response.Write(“>from>Jani(/from>”)
response.Write(“>to>Tove(/to>”)
response.Write(“>message>Remember me this weekend(/message>”)
response.Write(“>/note>”)
%>
- Tenga en cuenta que el tipo de contenido de la respuesta debe establecerse en “text / xml”.
____________________
4) Generando XML a partir de una base de datos
- XML puede generarse a partir de una base de datos sin ningún software XML instalado.

  • Para generar una respuesta de base de datos XML desde el servidor, simplemente escriba el siguiente código y guárdelo como un archivo ASP en el servidor web:

(%
response.ContentType = “text/xml”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.provider=”Microsoft.Jet.OLEDB.4.0;”
conn.open server.mappath(“/datafolder/database.mdb”)

sql=”select fname,lname from tblGuestBook”
set rs=Conn.Execute(sql)

response.write(“>?xml version=’1.0’ encoding=’UTF-8’?>”)
response.write(“>guestbook>”)
while (not rs.EOF)
response.write(“>guest>”)
response.write(“>fname>” & rs(“fname”) & “>/fname>”)
response.write(“>lname>” & rs(“lname”) & “>/lname>”)
response.write(“>/guest>”)
rs.MoveNext()
wend

rs.close()
conn.close()
response.write(“>/guestbook>”)
%>

  • El ejemplo anterior usa ASP con ADO.
    ____________________
    5) Transformando XML con XSLT en el servidor
  • Esta ASP transforma un archivo XML a XHTML en el servidor:
>%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))

‘Load XSL
set xsl = Server.CreateObject(“Microsoft.XMLDOM”)
xsl.async = false
xsl.load(Server.MapPath(“simple.xsl”))

‘Transform file
Response.Write(xml.transformNode(xsl))
%>

Ejemplo explicado

  • El primer bloque de código crea una instancia del analizador XML de Microsoft (XMLDOM) y carga el archivo XML en la memoria.
  • El segundo bloque de código crea otra instancia del analizador y carga el archivo XSL en la memoria.
  • La última línea de código transforma el documento XML utilizando el documento XSL y envía el resultado como XHTML a su navegador. ¡Agradable!
39
Q

37) ¿Qué significa XML?

A

Lenguaje de marcado extensible

40
Q

38) Hay una manera de describir datos XML, ¿cómo?

A

XML usa un DTD para describir los datos

41
Q

39) El objetivo de XML es reemplazar HTML

A

Es falso

42
Q

40) ¿Cuál es la sintaxis correcta de la declaración que define la versión XML?

A

> ? xml version = “1.0”?>

43
Q

41) ¿Qué significa DTD?

A

Tipo de documento Definición

44
Q

43) ¿Es este un documento XML “bien formado”?

(? xml version = "1.0"?>
(to> Tove (/to>
(from> Jani (/from>
(heading> Recordatorio (/heading>
(body> ¡No me olviden este fin de semana! (/body>
A

no

45
Q

44) ¿Qué afirmación es verdadera?

A

Todos los elementos XML deben estar correctamente cerrados.

46
Q

45) ¿Qué afirmación NO es verdadera?

A

El espacio en blanco no se conserva en XML

47
Q

46) XML conserva espacios en blanco

A

Cierto

48
Q

47) ¿Es este un documento XML “bien formado”?

(? xml version = "1.0"?>
(note>
(to age = "29"> Tove (/to>
(from> Jani (/from>
(/note>
A

Si

49
Q

48) ¿Es este un documento XML “bien formado”?

(? xml version = "1.0"?>
(note>
(to age = 29> Tove (/to>
(from> Jani (/from>
(/note>
A

No

50
Q

49) Los elementos XML no pueden estar vacíos

A

Cierto

51
Q

49) Los elementos XML no pueden estar vacíos

A

Falsa

52
Q

50) ¿Cuál no es un nombre correcto para un elemento XML?

A
  • > 1dollar> Respuesta correcta
  • > Nota>
  • Los 3 nombres son incorrectos
  • > h1>
53
Q

51) ¿Cuál no es un nombre correcto para un elemento XML?

A
  • > NAME>
  • > age>
  • Los 3 nombres son incorrectos
  • > nombre> Respuesta correcta
54
Q

52) ¿Cuál es un nombre correcto para un elemento XML?

A
  • > Nombre> Respuesta correcta
  • > 7eleven>
  • > número de teléfono>
  • > xmldocumento>
55
Q

53) Los valores de los atributos XML siempre deben estar entre comillas

A

Cierto

56
Q

54) ¿Qué significa XSL?

A

¿Qué significa XSL?

57
Q

55) ¿Cuál es la forma correcta de referirse a una hoja de estilo llamada “mystyle.xsl”?

A

> ? xml-stylesheet type = “text / xsl” href = “mystyle.xsl”?>

58
Q

56) Para que el analizador XML ignore una determinada sección de su documento XML, ¿qué sintaxis es correcta?

A

> ! [CDATA [Texto a ignorar]]>

59
Q

57) ¿Qué afirmación es verdadera?

A
  • Ninguna de las otras dos afirmaciones son verdaderas. (respuesta correcta)
  • Los atributos siempre deben estar presentes
  • Los atributos deben ocurrir en orden definido
60
Q

58) ¿Para qué se utilizan las entidades XML?

A
  • Las entidades definen accesos directos a texto estándar o caracteres especiales (respuesta correcta)
  • Las entidades definen accesos directos a elementos estándar
  • Las entidades definen accesos directos a atributos estándar
61
Q

59) ¿Cuál de los siguientes fragmentos XML está bien formado?

A

> customer id = “3456”> >dirección /> >zip code = “3456” /> >/customer>

62
Q

60) ¿Qué es una instancia XML?

A

Un documento XML

63
Q

61) ¿Qué objeto DOM XML representa un nodo en el árbol de nodos?

A

El nodo objeto