• No se han encontrado resultados

Direccionamiento, enlaces y formularios en XML

N/A
N/A
Protected

Academic year: 2021

Share "Direccionamiento, enlaces y formularios en XML"

Copied!
31
0
0

Texto completo

(1)

Direccionamiento, enlaces y formularios en XML

Jose Emilio Labra Gayo

(2)

Contenidos

Direcciones relativas e inclusiones

XPointer

XLink

(3)

Direcciones absolutas vs relativas

Las URLs pueden contener:

I Direcciones absolutas. Por ejemplo:

http://www.uniovi.es/cursos/xml/alumnos.html

I Direcciones relativas. Por ejemplo:

../notas/alumnos.html Las direcciones relativas se resuelven respecto al documento actual.

En HTML era posible indicar una direcci´on de base mediante BASE

<HEAD> <TITLE>N o t a s</TITLE> <BASE h r e f=” h t t p : / /www . u n i o v i . e s / c u r s o s / xml / a l u m n o s . h t m l ”> </HEAD> <BODY> <A h r e f=” . . / n o t a s / n o t a s . h t m l ”>N o t a s</A> </HTML>

(4)

xml:Base

Permite especificar la URL de base de un documento XML

Las direcciones relativas tomar´an dicha URL como base

<h t m l x m l n s=” h t t p : //www . w3 . o r g /TR/ x h t m l 1 / s t r i c t ”> x m l : b a s e=” h t t p : //www . u n i o v i . e s / c u r s o s ”> <h e a d><t i t l e>L i s t a de c u r s o s</ t i t l e></ h e a d> <body> <p><a h r e f=” c u r s o s . h t m l ”>C u r s o s</ a></ p> <u l> <l i><a h r e f=” c o c i n a . h t m l ”>C o c i n a</ l i> <l i><a h r e f=” b a i l e . h t m l ”>B a i l e</ l i> </ u l> </ h t m l>

(5)

xml:Base

El atributoxml:base puede a su vez ser relativo

<h t m l x m l n s=” h t t p : //www . w3 . o r g /TR/ x h t m l 1 / s t r i c t ”> x m l : b a s e=” h t t p : //www . u n i o v i . e s / c u r s o s ”> <h e a d><t i t l e>L i s t a de c u r s o s</ t i t l e></ h e a d> <body> . . . <u l x m l : b a s e=” . . / d e p o r t e s ”> <l i><a h r e f=” b a s k e t . h t m l ”>B a l o n c e s t o</ l i> <l i><a h r e f=” g i m n a s i a . h t m l ”>G i m n a s i a</ l i> </ u l> </ h t m l>

(6)

Inclusiones de XML

XInclude (2004) es una recomendaci´on que permite incluir

documentos XML dentro de otros documentos

Exist´ıa la posibilidad de realizar inclusiones mediante entidades en los DTDs

Se define un elementoinclude

<p e r s o n a s x m l n s : x i=” h t t p : //www . w3 . o r g / 2 0 0 1 / X I n c l u d e ”> <x i : i n c l u d e h r e f=” a l u m n o s . xml ” />

<x i : i n c l u d e h r e f=” p r o f e s o r e s . xml ” /> </ p e r s o n a s>

(7)

Atributos de XInclude

I href indica la URI. Si no se incluye, se supone que es ,

indicando el propio documento

I parse indica si el recurso a incluir es estructurado (xml) o textual (text)

I xpointerindica la porci´on del documento a incluir. S´olo se permite cuanto parse="xml"

I encodingindica tipo de codificaci´on

I acceptyaccept-language

per-miten realizar negociaci´on de contenido con el protocolo HTTP

<x i : i n c l u d e h r e f=” p r o f e s o r e s . xml ”

(8)

´

Ultimo recurso (fallback)

fallbackpermite especificar el contenido que se incluir´a en caso de que no sea accesible el recurso externo

<x i : i n c l u d e h r e f=” p r o f e s o r e s . xml ”> <x i : f a l l b a c k>

No h a y p r o f e s o r e s

</ x i : f a l l b a c k> </ x i : i n c l u d e>

(9)

´

Ultimo recurso (fallback)

Es posible utilizar varias posibilidades

<x i : i n c l u d e h r e f=” p r o f e s o r e s . xml ”> <x i : f a l l b a c k> <x i : i n c l u d e h r e f=” a y u d a n t e s . xml ”> <x i : f a l l b a c k> No h a y p r o f e s o r e s n i a y u d a n t e s </ x i : f a l l b a c k> </ x i : i n c l u d e> </ x i : f a l l b a c k> </ x i : i n c l u d e>

(10)

Apuntadores en HTML

HTML inclu´ıa un mecanismo para apuntar a partes de una p´agina

Web

http://www.uniovi.es/alumnos.html#pepeapuntaba al

(11)

XPointer

XPointer ofrece un mecanismo gen´erico para se˜nalar partes de un documento XML

Objetivo: ofrecer funcionalidad que permita marcar porciones de documentos XML

Esta funcionalidad fue utilizada previamente e incluso patentada por Sun

(12)

XPointer en v´ınculos

Se identifica mediantexpointer(expr) dondeexpr es una

expresi´on XPath

Pueden encadenarse varias expresiones XPointer. Selecciona el contenido de la primera que no falle

Las URIs pueden contener un identificador de fragmento XPointer De momento no es soportado por los principales navegadores Suele utilizarse en combinaci´on con XLink

alumnos.html#xpointer(//nombre[position()=last()])"

(13)

Apuntadores abreviados

Si no se indica nada, se refiere al elemento con el valor ID del documento

http://www.uniovi.es/alumnos.html#pepese refiere al

elemento cuyo valor ID espepe

(14)

Secuencias de hijos

Habitualmente se necesita referirse a una secuencia de hijos Ejemplo: tercer hijo del segundo hijo del elemento ra´ız

x p o i n t e r ( / c h i l d ::∗[ p o s i t i o n ()=1/ c h i l d ::∗[ p o s i t i o n ( ) = 2 ] / c h i l d ::∗[ p o s i t i o n ( ) = 3 ] )

Puede simplificarse como:

(15)

Espacios de nombre

xmlns(a=e)es un mecanismo que permite asociar el aliasaal

espacio de nombrese

x p o i n t e r ( s v g=h t t p : //www . w3 . o r g / 2 0 0 0 / s v g ) x p o i n t e r ( / / s v g : r e c t )

(16)

Puntos

En ocasiones, puede interesar seleccionar algo que no sea un elemento.

Por ejemplo, la tercera palabra de un p´arrafo o el a˜no en

12/06/2004

Los puntos se identifican por su nodo contenedos y un ´ındice (comenzando por 0)

Los nodos de texto tienen un punto inicial 0 y un punto entre cada

car´acter numerado de forma consecutiva

Ejemplo:<nombre>Pepe</nombre> incluye 5 puntos

XPointer a˜nade 2 funciones a XPath

(17)

Rangos

Un rango es un intervalo entre 2 puntos. XPointer a˜nade 4

funciones a XPath

I range(expr) devuelve el rango que cubre la expresi´on XPath

expr

I range-inside(expr)devuelve el contenido interno de la

expresi´on XPath expr

I range-to(expr) devuelve el rango evaluando la expresi´on respecto al nodo de contexto

I string-range(expr,cad,desp,long) eval´ua laexpr y

selecciona todas las cadenas que coincidan con cad. Es

posible indicar un desplazamiento desp y una longitudlong

de las cadenas resultantes

xpointer(//titulo,"Poema",6,4)selecciona los 4

(18)

XPointer relativos

Existen 2 funciones que permiten modificar el contexto de la expresi´on XPointer

I here()se refiere al nodo que contiene al XPointer

I origin()devuelve la localizaci´on del elemento desde el cu´al

se carg´o el documento. Podr´ıa ser distinto del documento

(19)

XLink

XLink define un mecanismo para enlazar documentos entre s´ı Permite enlazar 2 o m´as recursos

Facilita la inclusi´on de meta-informaci´on en los enlaces

(20)

XLink: Enlaces simples

Define una conexi´on de una sola v´ıa entre 2 recursos

<n o v e l a x m l n s : x l i n k=” h t t p : //www . w3 . o r g / 1 9 9 9 / x l i n k ” x l i n k : t y p e =” s i m p l e ” x l i n k : h r e f =” f t p : // a r c h i v o s . com/ n o v e l a s / 2 3 4 . t a r . g z ”> <t i t u l o>La R e g e n t a</ t i t u l o> <a u t o r>C l a r i n</ a u t o r> </ n o v e l a>

(21)

XLink: Atributos de Enlaces simples

I xlink:type: tipo del enlace

I xlink:href: URL del recurso

I xlink:title: t´ıtulo del enlace

I xlink:role rol del enlace

I xlink:arcrole: relaci´on entre el recurso que enlaza y el enlazado

I xlink:actuate: define el momento de actuaci´on. Puede ser:

none,onLoad,onRequest ´o other

I xlink:show: Define el comportamiento del enlace en el

momento de actuar. Puede ser: embed,new,none,other,

´

(22)

Comportamiento del enlace

Mediante los atributosshow yactuate se pueden sugerir acciones

al software que utilice los enlaces

<i m a g e n x l i n k : t y p e =” s i m p l e ”

x l i n k : a c t u a t e =” onLoad ” x l i n k : s h o w=” embed ” x l i n k : h r e f =” f o t o . j p g ”

(23)

Sem´

antica del enlace

Los atributostitle yrole facilitan la inclusi´on de descripciones

sobre los v´ınculos. El atributorole debe ser una URI que puede

representar propiedades de web sem´antica.

<n o v e l a x l i n k : t y p e =” s i m p l e ” x l i n k :: h r e f=” h t t p : //www . l i b r o s . com#c l a r i n ” x l i n k : t i t l e =” L e o p o l d o A l a s C l a r i n ” x l i n k : r o l e =” h t t p : // p u r l . o r g / dc / e l e m e n t s / 1 . 1 / c r e a t o r ”> La R e g e n t a </ n o v e l a>

(24)

V´ınculos extendidos

Se indican con el valor del atributoxlink:typeigual aextended’

Pueden contener enlaces de los siguientes tipos

I Localizadores (locator) que permiten localizar recursos

I Arcos (arc) que definen v´ınculos entre localizadores

(25)

V´ınculos extendidos

<n o v e l a s x l i n k : t y p e =” e x t e n d e d ” x m l n s : x l i n k=” . . . ”> <n o v e l a x l i n k : t y p e =” l o c a t o r ” x l i n k : l a b e l =” r e g e n t a ” x l i n k : h r e f =” h t t p : //www . l i b r o s / r e g e n t a . h t m l ” /> <n o v e l a x l i n k : t y p e =” l o c a t o r ” x l i n k : l a b e l =” q u i j o t e ” x l i n k : h r e f =” h t t p : //www . l i b r o s / q u i j o t e . h t m l ” /> <s i g u i e n t e x l i n k : t y p e =” a r c ” x l i n k : f r o m=” r e g e n t a ” x l i n k : t o =” q u i j o t e ” /> <a n t e r i o r x l i n k : t y p e =” a r c ” x l i n k : f r o m=” q u i j o t e ” x l i n k : t o =” r e g e n t a ” /> </ n o v e l a s>

(26)

Bases de v´ınculos

XLink permite establecer v´ınculos entre recursos externos Un documento que define una lista de v´ınculos se denomina una base de v´ınculos (link base)

Los navegadores podr´ıan cargar las bases de v´ınculos y actuar en

(27)

Aplicaciones de XLink

I El soporte para XLink en los navegadores es escaso. Firefox da

soporte a enlaces b´asicos

I SVG, FO y otras tecnolog´ıas de W3c utilizan enlaces b´asicos

de XLink

I XBRL (eXtensible Business Reporting Language) es un

est´andar basado en XML para definir informaci´on financiera.

Cada aplicaci´on define una taxonom´ıa, compuesta por

documentos XML Schema y bases de v´ınculos. Varias bases de v´ınculos predefinidas:

I Presentationorganizaci´on jer´arquica para visualizaci´on I Labeletiquetas que pueden usarse para mostrar los conceptos I Referencereferencias a recursos externos

I Calculationrelaciones de c´alculo entre conceptos. Ejemplo

totales la suma desuma1ysuma2

(28)

Formularios en HTML

<head><t i t l e>B u s q u e d a</t i t l e></head> <body> <form a c t i o n=” h t t p : / /www . e j e m p l o . o r g / b u s c a ” method=” g e t ”> Cadena : <i n p u t t y p e=” t e x t ” name=” c a d ” /> <i n p u t t y p e=” s u b m i t ” v a l u e=” B u s c a r ” /> </form> </body> </h t m l>

Mezcla de presentaci´on y contenido

No se realizan chequeo de tipos

(29)

XForms

XForms(Recomendaci´on W3c en 2006) define un mecanismo para definir formularios separando la presentaci´on del contenido

Facilita el chequeo de tipos mediante uso de XML Independiente del dispositivo

(30)

Ejemplo en XForms

<h t m l x m l n s=” h t t p : / /www . w3 . o r g / 2 0 0 2 / 0 6 / x h t m l 2 ” xml :l a n g=” s p ”> <head> <t i t l e>B u s q u e d a</t i t l e> <m o d e l> <s u b m i s s i o n a c t i o n=” h t t p : / /www . e j e m p l o . o r g / b u s c a ” method=” g e t ” i d=” b u s c a ” /> </ m o d e l> </head> <body> <p> <i n p u t r e f =” c a d ”> <l a b e l>Cadena : </l a b e l> </i n p u t> <s u b m i t s u b m i s s i o n=” b u s c a ”> <l a b e l>B u s c a r</l a b e l>

(31)

Referencias

Documento similar

El documento fundacional de la Audiencia valenciana (1506) establecía claramente que el regente de la canciUen'a «sia natural e domicUiat de dit regne. Pero después de las

Desembarcado el ejército, ocupó primero La Goleta (la fortaleza que dominaba el puerto de Túnez) y después derrotaron el ejército musulmán en campo abier- to, victoria en la que

La conexión del servicio de datos desde la celda de acometida de operadores de comunicaciones por radiofrecuencia se podrá realizar mediante enlaces V.35 y enlaces RDSI acceso

Nevertheless, cells in which PKC was inhibited showed a significant increase in the amount of intracellular channels after two hours of treatment (13.6 ± 1.6% vs.

La conexión del servicio de datos desde la celda de acometida de operadores de comunicaciones por radiofrecuencia se podrá realizar mediante enlaces V.35 y enlaces RDSI acceso

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

• La unidad electrónica cierra a masa el terminal 85b del relé siempre que tenga señales taquimétrica (motor girando) y de contacto, activando la segunda bobina... Relé doble

En cumplimiento de lo previsto en el Real Decreto 904/2018, de 20 de julio, por el que se desarrolla la estructura orgánica básica del Ministerio de Agricultura, Pesca y Alimentación,