Tecnologías Web. Diseño e implementación con.net



Documentos relacionados
XML. Integración de Sistemas. Parte II. Diseño e implementación de aplicaciones Web con.net

XML. Bien formado ( well-formed ) si cumple reglas Válido si cumple las restricciones de un esquema

Transformación de documentos XML con

XSL: extensible Style Language. Anabel Fraga

M. Carmen Fernández Panadero

Transformación de documentos : XSLT

Sistemas de Información 12/13 XML (extensible Mark-up Language)

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur

XSLT.NET XSLT en.net.

Fundamentos de las tecnologías de la información

Visualización y Transformaciones en XML

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

extensible Markup Language (XML)

Estándares SGML y XML. Entornos de aplicación

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

XML: extensible Markup Language (Parte I) Ingeniería de la Información

Primeros pasos con XML y XSL Ricardo Borillo Domenech

Índice. Programación en Internet Curso Introducción El DOM en PHP. Programación en Internet DLSI - Universidad de Alicante 1

XSL. Introducción. Introducción. Introducción

XML y XQuery. Qué es XML? Qué es XML? (II) Ejemplo de fichero XML. Cuerpo de un documento XML. Estructura de un documento XML

XML Namespaces. Sergio Luján Mora.

Ejercicios del bloque de Web de Sistemas de Información:

XPath en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

5.1 Introducción a XSL

TEMA 35: Estándares SGML y XML. Entornos de aplicación.

Tabla de Contenidos. xii

Introducción a la Web 2.0

HTML. HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE

Tema IV. XML. VI. XSL (XPath & XSLT) Desarrollo de Aplicaciones para Internet Curso 12 13

XIII Reunión de Usuarios Aleph México. MarcXML. Egar Arturo Garcia Cárdenas

Trabajo Practico Tema: XML

Creación de documentos XML

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero <mcfp@it.uc3m.

WebServices Parte 2 XML

DAW LENGUAJES DE MARCAS. Tema 1: Reconocimiento de las características de los Lenguajes de Marcas

XML. Necesitamos un formato de datos: Posibles usos. Estandard Robusto Extensible

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD.

MICROSITIOS. Perfiles

Tema 7. Construcción de Applets en Java

XML Schema. Sergio Luján Mora.

Roberto Gómez Cárdenas Qué es DOM?

Desarrollo de software para navegación web desde terminales celulares de 3ª generación

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas

EXTENSIÓN DE UML PARA APLICACIONES WEB

ATLAS MANUAL DE USUARIO COMPONENTE DE CALENDARIO

1 Introducción a XML

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML

2 Estructura de un Documento XML

Introducción a XSLT. Jose Emilio Labra Gayo. Octubre Contenidos Plantillas Programación Automatización Múltiples documentos

Plataforma Integrada de Servicios Electrónicos del Estado Especificaciones del WSDL

BOLETÍN OFICIAL DEL ESTADO

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Tema IV. XML V. APIs (DOM & SAX)

Formularios HTML. Elementos de Programación y Lógica

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

<xs:import namespace=" schemalocation="

Definición de XQuery.

efact - WebServices Realizado por: Consorci AOC Versión: 1.1 Fecha: 23/07/2013

IIC Tópicos Avanzados en Bases de Datos Extracción de Información en XML

Plataforma de Contratación del Sector Público

XML Schema. Definición y validación

XML para FP : Introducción

XMLNode y XMLDocument en el aula

XML. Escuela Técnica Superior de Ingeniería de Telecomunicación Universidad Rey Juan Carlos. Marzo de gsyc-profes (arroba) gsyc.urjc.

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas Repeticiones de elementos

Tema 3.1: Principios de diseño web accesibles

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo

XML, parte 3. M. en C. Erika Vilches

Primeros pasos con XML y XSL

Datos Estadísticos y el Lenguaje XML

Servicios Web para el control de publicación de anuncios de notificación en el Tablón Edictal Único

Transformación documentos XML. Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo

Almacenamiento de documentos XML

PHP: Interacción con HTML

Ciclo Formativo de Grado Superior en Administración y de Sistemas Informáticos en Red. IES Valle del Cidacos Calahorra

Práctica 5: Oracle XML DB

Práctica 4 Manejo avanzado de Bison

[CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML]

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por el W3C (

Práctica de introducción a

XML, parte 2. M. en C. Erika Vilches

Tutorial Servicios Web

Microsoft XML Core Services MSXML

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

PHP Hypertext PreProcessor

8º Unidad Didáctica PHP. Eduard Lara

Tema 4 Metadatos. Eduardo Martínez Graciá Humberto Martínez Barberá

XML. María Consuelo Franky. Universidad Javeriana 2009

TRABAJO PRACTICO Nº 1 Formateador de contenidos CSV

FRAMEWORK 2 Creación de Servicios Web

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET

Diseño Basado en Componentes Curso 2008 / 09

Sintaxis y configuración de plantillas

Diseño de sitios Web mediante estándares

ESOFT 3 Nice Screen Scraper: A simple scraper

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML

Práctica 2: Diseño Web inicial. XHTML avanzado.

Transcripción:

Tecnologías Web Integración de Sistemas Diseño e implementación con.net XML Sintaxis y estructura: well-formed xml <?xml version="1.0"?> <bookstore> <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0"> <title>the Autobiography of Benjamin Franklin</title> <author> <first-name>benjamin</first-name> <last-name>franklin</last-name> </author> <price>8.99</price> </book> <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2"> <title>the Confidence Man</title> <author> <first-name>herman</first-name> <last-name>melville</last-name> </author> <price>11.99</price> </book> </bookstore> 1

XML Introducción a los esquemas Define la sintaxis del documento Tipos de datos Valores permitidos Tipos de esquemas DTD (Document Type Definitions) No escritos en XML No soportan tipos de datos XSD (XML Schema Definition) Escritos en XML Proporcionan soporte para tipo de datos Actualmente recomendado como estándar W3C XML Introducción a los esquemas XML válido Documento xml construido conforme a las reglas especificadas en un esquema Más restrictivo que un xml well-formed Esquema define Qué elementos están presentes y en qué orden Qué atributos están presentes y en qué orden Restricciones sobre valores 2

XML Introducción a los esquemas: DTD XML document: <CATALOG> <BOOK isbn="34-2343-3434"> <TITLE>All About XML</TITLE> <AUTHOR>John N. Shawn</AUTHOR> </BOOK> </CATALOG> DTD schema: <!ELEMENT CATALOG (BOOK+)> <!ELEMENT BOOK (TITLE, AUTHOR) > <!ATTLIST BOOK ISBN CDATA REQUIRED > <!ELEMENT TITLE (#PCDATA) > <!ELEMENT AUTHOR (#PCDATA) > XML Introducción a los esquemas: XSD <xsd:schema targetnamespace="http://tempuri.org/schema1.xsd" xmlns="http://tempuri.org/schema1.xsd" xmlns:xsd="http://www.w3.org/1999/xmlschema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:element name="book"> <xsd:attribute name="isbn" type="xs:string" /> <xsd:complextype content="elementonly"> <xsd:all> <xsd:element name="title" minoccurs="0" type="xsd:string"/> <xsd:element name="author" minoccurs="0" type="xsd:string"/> </xsd:all> </xsd:complextype> </xsd:element> <xsd:element name="catalog"> <xsd:complextype> <xsd:choice maxoccurs="unbounded"> <xsd:element ref="book"/> </xsd:choice> </xsd:complextype> </xsd:element> </xsd:schema> 3

Acceso a recursos xml StreamReader El recurso XML se procesa como un fichero de texto t plano XmlReader Diseñado específicamente para recursos XML Proporciona propiedades p y eventos específicos XmlDocument Representación de un documento XML Válido para aplicar transformaciones xslt Acceso directo a recursos remotos System.Net.HttpWebRequest Implementa la clase abstracta WebRequest Encapsula una petición HTTP Métodos principales GetResponse(): WebResponse Obtiene la respuesta proporcionada por el servidor GetRequestStream(): Stream Obtiene un Stream para escribir los datos de la petición Propiedades principales RequestURI Obtiene la URI que originó la petición ProtocolVersion Versión del protocolo HTTP empleada en la petición Headers Colección de los encabezados HTTP de la petición 4

Acceso directo a recursos remotos System.Net.HttpWebResponse Implementa la clase abstracta WebRequest Encapsula una respuesta HTTP Objetos HttpWebResponse no deberían crearse directamente Crearlos por medio de una llamada a WebRequest.GetResponse() Acceso directo a recursos remotos System.Net.HttpWebResponse Métodos principales GetResponseHeader(string headername): string Obtiene el valor de las cabeceras HTTP devueltas con la response GetResponseStream(): Stream Obtiene un Stream para la lectura del cuerpo de la respuesta Propiedades principales ProtocolVersion Versión del protocolo HTTP de la respuesta StatusCode Obtiene el estado de la respuesta Headers Colección de los encabezados HTTP de la respuesta 5

Acceso directo a recursos remotos Ejemplo public void GetResourceAsString(string uristring) { } string result = ""; // Create the web request to a Uniform Resource Identifier (URI) Uri addressuri = new Uri(uriString); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(addressURI); // Get response from the specified resource in the request HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Get the response stream to read the body response from server StreamReader reader = new StreamReader(response.GetResponseStream()); // Read the whole contents and return it as a string result = reader.readtoend(); Console.WriteLine(result); XML XmlReader Clase abstracta que proporciona acesso a datos XML forward-onlyonly read-only Lectura datos XML en profundidad (top-down) Acceso en el mismo orden en el que los datos se definen en el fichero XML Análago al trabajo con objetos DataReader en acceso a Base de Datos 6

XML XmlReader Métodos principales XmlReader.Create() Instancia una clase concreta de XmlReader Configurable mediante objeto XmlReaderSettings XmlReader.Read() Avanza posición cursor al siguiente elemento XML XmlReader Propiedades principales Name Nombre del nodo que se está procesando Value Valor del nodo que se está procesando NodeType Tipo de nodo que se está procesando Enumeración: XmlNodeType.Element, XmlNodeType.EndElement, XmlNodeType.Text Procesado de atributos HasAttributes MoveToNextAttribute 7

XML Acceso a recursos XML mediante XmlReader // XmlReader Configuration XmlReaderSettings settings = new XmlReaderSettings(); settings.ignorewhitespace = true; settings.ignorecomments = false; // Retrieve XML document from URI XmlReader xmlreader = XmlReader.Create(uriString, settings); // Read nodes one at a time and process it while (xmlreader.read()) { switch (xmlreader.nodetype) { case XmlNodeType.Element: // Display beginning of element and attributes if exist Console.Write("<{0}", xmlreader.name); XML Acceso a recursos XML mediante XmlReader if (xmlreader.hasattributes) while (xmlreader.movetonextattribute()) Console.Write(" {0}='{1}'", xmlreader.name, xmlreader.value); Console.WriteLine(">"); break; case XmlNodeType.Text: // Display the text in each element. Console.WriteLine(xmlReader.Value); break; case XmlNodeType.EndElement: } // switch } // while // Display end of element Console.WriteLine("</{0}>", xmlreader.name); break; 8

XML XmlDocument Implementación de las especificaciones de nivel 1 y 2 del W3C XML Document Object Model (DOM) Representa documentos XML como objetos Todos los nodos son accesibles en cualquier momento Proporciona métodos para cambiar, insertar o eliminar nodos Análago al trabajo con objetos DataAdapter/DataSet en acceso a Base de Datos XML XmlDocument Métodos principales Load(Stream instream): void Sobrecargado: puede recibir un instream: Stream, filename: string, txtreader: TextReader o reader: XmlReader // Create a new XmlDocument XmlDocument xmldocument = new XmlDocument(); // Load data doc.load(uristring); CreateElement(string t( t name): XmlElement XmlElement xmlelement = xmldoc.createelement("newelementname"); XmlText textelement = xmldoc.createtextnode("newelementvalue"); //Adds the element within root node xmldoc.documentelement.appendchild(xmlelement); xmldoc.lastchild.appendchild(textelement); 9

XML XmlDocument Métodos principales CreateAttribute(string name): XmlAttribute XmlAttribute xmlattribute = xmldocument.createattribute("newattribute"); xmlattribute.value = "newattributevalue"; //Add the new attibutte to the root document. xmldoc.documentelement.setattributenode(xmlattribute); XML XmlDocument: navegación por los nodos XPathNavigator Permite seleccionar un subconjunto a partir de una expresión XPath XmlDocument doc = new XmlDocument(); doc.load("file.xml"); XPathNavigator navigator = doc.createnavigator(); XPathNodeIterator iterator = navigator.select(xpathexpression); while (iterator.movenext ()) { // process selection here with iter.current.value } Permite aplicar una operación a un subconjutno de nodos navigator.evaluate("max(//critic/@points)")); 10

XML Acceso a través del objeto XmlDocument public void AccessByXmlDocument(string url, string xpathexpression) { } // Create a new XmlDocument XmlDocument doc = new XmlDocument(); // Load data doc.load(url); // Get data with XPath XPathNavigator nav = doc.createnavigator(); XPathNodeIterator iterator = nav.select(xpathexpression); // Show results while (iterator.movenext()) Console.WriteLine("Value: " + iterator.current.value); Ejemplo de Uso: AccessByXmlDocument(url,"//movies/movie/@title"); XML Transformaciones xslt Fichero.aspx <asp:xml ID="aspXML" runat="server"></asp:xml> CodeBehind // Option A : Setup the asp:xml component with local resources aspxml.transformsource = Server.MapPath("Movies.xsl"); aspxml.documentsource = Server.MapPath("Movies.xml"); Movies.xml // Option B : Setup the asp:xml component with remote xml aspxml.transformsource = Server.MapPath("Movies.xsl"); XmlDocument xmldoc = new XmlDocument(); xmldoc.load(url); aspxml.document = xmldoc; 11

XML Transformaciones XML: estándar para la transmisión de datos a través de Internet Existe la posibilidad de que distintos servicios empleen esquemas o DTDs diferentes El sistema debe permitir la transformación de los datos XML XSLT (extensible Stylesheet Language Transformations) Describe un lenguaje basado en XML para transformar documentos XML a cualquier otro formato Normalmente se empleará para transformar documentos entre esquemas XML que permitan su procesamiento por distintos sistemas También es ampliamente utilizado para transformar documentos XML en HTML, WML, o cualquier otro formato que facilite su presentación XSL Componentes XSL (extensible Stylesheet Language) Conjunto de recomendaciones para la definición del formato de presentación y transformación de documentos XML. Componentes XSL Transformations (XSLT) Lenguaje para la transformación de documentos XML XML Path Language (XPath) Especificación empleada en XSLT para especificar las partes de un documento XML a las que se aplican las transformaciones XSL Formatting Objects (XSL-FO) Vocabulario XML para especificar la semántica de las transformaciones (caracter, tabla, etc.) Más información en: http://www.w3.org/style/xsl/ 12

Transformaciones XSL Especificación original para XSL: Lenguaje para la expresión de hojas de estilos (stylesheets) Permite la especificación de Estilos Layout Paginación Funcionamiento básico consiste en la transformación de un árbol XML en otro diferente Contiene operadores para la selección de nodos, reordenamiento de nodos, etc. Transformaciones XSL Estructura Una hoja de estilo XSLT es un documento XML bien formado Generalmente con extensión xsl (o xslt) Deben comenzar con una declaración XML: <?xml version="1.0"?> El elemento raíz de la hoja de estilo XSLT es <xsl:stylesheet> Este elemento contendrá a todos los demás, y debe ir precedido por el alias xsl correspondiente al espacio de nombres para hojas de estilo XSLT. Una plantilla xsl está formada por una lista de reglas Contienen un patrón indicando la parte del árbol XML a la que se aplica Contienen una plantilla que produce la salida cuando se cumple el patrón 13

Transformaciones XSL Estructura Plantillas Controlan la salida originada desde cada entrada Representadas por un elemento xsl:template Atributo match especifica un patrón (expresión Xpath) que identifica las entradas a las que se aplica la plantilla Patrón más sencillo es el nombre de un elemento (e.g. BOOK) Ejemplo (Books.xsl): <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="book">book Matched<br/></xsl:template> </xsl:stylesheet> Transformaciones XSL Modo de funcionamiento Pasos seguidos por el procesador XSL para formatear un documento XML Escaneo del documento buscando cada subárbol Comparación de cada subárbol con los patrones especificados en las plantillas Ante una coincidencia, se aplica la regla indicada por la plantilla Ante una coincidencia, se aplica la regla indicada por la plantilla Generalmente incluye nuevos datos o modificación de los datos XML originales 14

Transformaciones XSL Modo de funcionamiento: regla inicial La regla <xsl:template match="/"> se ejecuta cuando se encuentra el elemento raíz del documento XML Dentro de esta regla, se incluyen llamadas a otras reglas definidas en la hoja de estilo <xsl:apply-templates select=" " /> El atributo select tomará como valor el nombre del elemento asociado a la regla que se quiere ejecutar Permite control sobre el orden de ejecución de las reglas Si el atributo select ect no oseespec especifica, ca, las reglas egasseapse aplicarán caá en el orden en que se encuentren elementos coincidentes durante el acceso al árbol XML Transformaciones XSL Modo de funcionamiento. Ejemplo <?xml version="1.0"?> <bookstore> <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0"> <title>the Autobiography of Benjamin Franklin</title> <author> <first-name>benjamin</first-name> <last-name>franklin</last-name> </author> <price>8.99</price> </book> </bookstore> <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> Fichero XML Hoja de estilos XSLT <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> <xsl:template match="book"> <p>book matched</p> </xsl:template> </xsl:stylesheet> <?xml version="1.0" encoding="utf-8"?> Resultado <p>book Matched</p> 15

Transformaciones XSL Elemento <xsl:value-of...> Obtiene el valor de un elemento Texto incluido en el elemento una vez las etiquetas han sido eliminadas Atributo select indica mediante una expresión XPath el elemento seleccionado <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <xsl:apply-templates l l t /> </xsl:template> <xsl:template match="book"> <p> <xsl:value-of select="title"/> </p> </xsl:template> </xsl:stylesheet> <?xml version="1.0" encoding="utf-8"?> <p>the Autobiography of Benjamin Franklin</p> Transformaciones XSL Aplicación de reglas <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="bookstore"> <html> <head> <title>bookstore</title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="book"> <p> <xsl:value-of select="title"/> </p> <xsl:apply-templates select="author"/> </xsl:template> <xsl:template match="author"> <p> <xsl:value-of select="last-name"/>, <xsl:value-of select="first-name"/> </p> </xsl:template> <html> <head> <title>bookstore</title> </head> <body> <p>the Autobiography of Benjamin Franklin</p> <p>franklin, Benjamin</p> </body> </html> </xsl:stylesheet> 16

Transformaciones XSL Aplicación de reglas condicionada: <xsl:if...> <xsl:if> Aplicación de la regla depende de la evaluación del parámetro test No existe apartado else <xsl:template match="book"> <xsl:if test="price<10"> <p> <xsl:value-of select="title"/> </p> </xsl:if> </xsl:template> Transformaciones XSL <xsl:choose>, <xsl:when>, <xsl:otherwise> Amplían las posibilidades del elemento <xsl:if> Permiten indicar qué transformación se debe realizar en el caso de que se cumpla una condición, y en el resto de casos Se utilizan de forma conjunta El elemento xsl:choose contendrá uno o más elementos xsl:when y un elemento xsl:otherwise El elemento xsl:when incluye un atributo test que tomará como valor la expresión que se evaluará Si se cumple, se ejecutará el código escrito entre las etiquetas de inicio y de fin del elemento xsl:when El elemento xsl:otherwise contendrá el código que se ejecutará si no se cumplen las expresiones indicadas en los atributos test de los elementos xsl:when 17

Transformaciones XSL <xsl:choose>, <xsl:when>, <xsl:otherwise> <xsl:choose> <xsl:when test="boolean-expression1"> <!-- template actions="" --> </xsl:when> <xsl:when test="boolean-expression1"> <!-- template actions="" --> </xsl:when> <xsl:otherwise> <!-- template actions="" --> </xsl:otherwise> </xsl:choose> Transformaciones XSL <xsl:element>, <xsl:attribute> <xsl:element> Se utiliza para crear elementos en el documento resultado de la transformación. Es especialmente útil cuando se utiliza XSLT para transformar un documento XML en otro con una estructura diferente (ej. HTML) Irá acompañado por un atributo name Tomará como valor el nombre del elemento que se va a crear <xsl:attribute> Permite crear un atributo en el documento de salida Irá acompañado por un atributo name <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="url"/> </xsl:attribute> <xsl:value-of select="title"/> </xsl:element> <a href="url_value">title value</a> 18

XPath Lenguaje empleado para la selección de elementos Nodos por posición absoluta Nodos por posición relativa Contenido Sintaxis diferente a XML XSLT emplea expresiones XPath para la selección de elementos y mapeo de patrones en el documento de entrada Proporciona una ruta que especifica un conjunto de nodos de salida Soporta operaciones de comparación, lógicas, etc. XPath Una ruta devuelve siempre una secuencia de nodos En el mismo orden en el que se encuentran en el documento original Una ruta consiste en una serie de pasos, separados por / Puede representar Rutas absolutas: /bookstore/movie/director Rutas relativas: movie/director Elementos que forman parte de una ruta / : selecciona el hijo inmediatamente inferior Al inicio del patrón indica la raíz del documento XML //element : selecciona elementos de tipo element en cualquier nivel. : representa el elemento actual.. : representa el padre del nodo actual @ : se emplea para el acceso a los atributos (@attributename) /element[n] : accede al n-ésimo atributo del elemento element 19

XPath Ejemplos./author Busca todos los elementos de tipo author dentro del contexto actual /bookstore //author Busca el elemento bookstore a partir de la raíz Busca todos los elementos author, independientemente de su posición en el documento /book[@type = "novel"] Busca los elementos book en los que el atributo t type tome el valor novel /book[@style = /bookstore/@specialty] Busca todos los elementos book para los que el atributo style sea coincidente con el atributo specialty del elemento bookstore de la raíz del documento 20