Tutorial XML

INICIO XML Introducción XML XML Cómo utilizar Árbol XML Sintaxis XML Elementos XML Atributos XML Espacios de nombres XML Pantalla XML Solicitud Http XML Analizador XML DOM XML XPath XML XML XSLT XQuery XML Enlace X XML Validador XML DTD XML Esquema XML Servidor XML Ejemplos XML Cuestionario XML Certificado XML

XML-AJAX

AJAX Introducción AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

DOM XML

DOM Introducción Nodos DOM Acceso DOM Información del nodo DOM Lista de nodos DOM Atravesando DOM Navegación DOM DOM obtener valores Nodos de cambio de DOM Eliminar nodos DOM Nodos de reemplazo de DOM DOM Crear nodos Agregar nodos DOM Nodos de clonación de DOM Ejemplos de DOM

Tutorial XPath

Introducción a XPath Nodos XPath Sintaxis XPath Ejes XPath Operadores XPath Ejemplos de XPath

Tutorial XSLT

XSLT Introducción Idiomas XSL Transformación XSLT XSLT <plantilla> XSLT <valor-de> XSLT <para-cada> XSLT <ordenar> XSLT <si> XSLT <elegir> Aplicar XSLT XSLT en el cliente XSLT en el servidor XSLT Editar XML Ejemplos de XSLT

Tutorial de XQuery

Introducción a XQuery Ejemplo de XQuery XQuery FLWOR XQuery HTML Términos de XQuery Sintaxis XQuery XQuery Agregar Seleccionar XQuery Funciones XQuery

DTD XML

Introducción a DTD Bloques de construcción DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Ejemplos de DTD

Esquema XSD

XSD Introducción XSD Cómo XSD <esquema> Elementos XSD Atributos XSD Restricciones XSD

Complejo XSD

Elementos XSD XSD vacío Solo elementos XSD Solo texto XSD XSD mixto Indicadores XSD XSD <cualquiera> XSD <cualquieratributo> Sustitución XSD Ejemplo XSD

Datos XSD

Cadena XSD Fecha XSD XSD Numérico Miscelánea XSD Referencia XSD

Servicios web

Servicios XML XML WSDL JABÓN XML XML RDF RSS XML

Referencias

Tipos de nodos DOM Nodo DOM Lista de nodos DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentario DOM DOM XMLHttpSolicitud Analizador DOM Elementos XSLT Funciones XSLT/XPath

XML , XLink y XPointer


XLink se utiliza para crear hipervínculos en documentos XML.


XPath
  • XLink se utiliza para crear hipervínculos dentro de documentos XML
  • Cualquier elemento en un documento XML puede comportarse como un enlace
  • Con XLink, los enlaces se pueden definir fuera de los archivos enlazados
  • XLink es una recomendación del W3C

Compatibilidad con el navegador XLink

No hay soporte de navegador para XLink en documentos XML.

Sin embargo, todos los principales navegadores admiten XLinks en SVG .


Sintaxis de enlace X

En HTML, el elemento <a> define un hipervínculo. Sin embargo, no es así como funciona en XML. En los documentos XML, puede usar cualquier nombre de elemento que desee; por lo tanto, es imposible que los navegadores predigan qué elementos de enlace se llamarán en los documentos XML.

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>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Para obtener acceso a las funciones de XLink, debemos declarar el espacio de nombres de XLink. El espacio de nombres de 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 a la que enlazar.


Ejemplo de enlace X

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


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 CUÁNDO debe aparecer el recurso, con el atributo xlink:actuate.


Referencia de atributos de 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

PunteroX

XPath
  • 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 W3C

Compatibilidad con el navegador XPointer

No hay soporte de navegador para XPointer. Pero XPointer se usa en otros lenguajes XML.


Ejemplo de puntero X

En este ejemplo, usaremos XPointer junto con XLink para apuntar a una parte específica de otro documento.

Comenzaremos observando 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, así: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". La expresión hace referencia 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, así: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

El siguiente documento XML contiene enlaces a más información de la raza canina de 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>