Manual de Calibre | Page 147

Manual de usuario de calibre, Publicación 2.73.0 Índice Seleccionar por nombre de etiqueta (página 143) Seleccionar por atributos (página 143) Seleccionar por contenido de etiqueta (página 144) Libro electrónico de muestra (página 144) Funciones XPath predefinidas (página 144) Seleccionar por nombre de etiqueta La forma más simple de selección es seleccionar las etiquetas por su nombre. Por ejemplo, suponga que desea seleccionar todas las etiquetas

en un documento. La consulta XPath para esto es simplemente: //h:h2 (Selects all

tags) El prefijo // significa buscar en cualquier nivel del documento. Supongamos que desea encontarar las etiquetas que están dentro de etiquetas . Esto se puede lograr con: //h:a/h:span (Selects tags inside tags) Si quiere buscar etiquetas en un nivel particular del documento, cambie el prefijo: /h:body/h:div/h:p (Selects

tags that are children of

tags that are children of the tag) Esto coincidirá sólo con

A very short ebook to demonstrate the use of XPath.

en Libro electrónico de muestra (página 144), pero no con ninguna de las otras etiquetas

. El prefijo h: en los ejemplos anteriores se necesita para encontrar las etiquetas XHTML. Esto se debe a que internamente calibre representa todo el contenido como XHTML. En XHTML las etiquetas tienen un espacio de nombres, y h: es el prefijo de espacio de nombrs para las etiquetas HTML. Ahora supongamos que desea seleccionar ambas etiquetas‘‘

‘‘ y

. Para hacer esto, necesitamos una construcción XPath llamada predicado. Un predicado es simplemente una comprobación que se utiliza para seleccionar etiquetas. Las comprobaciones pueden ser muy potentes y, según avance este cursillo, verá ejemplos más sofisticados. Un predicado se crea encerrando la expresión de comprobación entre corchetes: //*[name()='h1' or name()='h2'] Hay varias características nuevas en esta expresión XPath. La primera es el uso del comodín *. Significa cualquier etiqueta. Ahora observe la expresión de comprobación name()='h1' or name()='h2'. name() es un ejemplo de función predefinida. Simplemente evalúa el nombre de la etiqueta. Por lo tanto, mediante su uso, podemos seleccionar etiquetas cuyo nombre sea h1 o h2. Tenga en cuenta que la función name() ignora los espacios de nombres de modo que no hay necesidad del prefijo h:. XPath tiene varias funciones predefinidas. Se presentarán algunas más en este cursillo. Seleccionar por atributos Para seleccionar etiquetas según sus atributos, es necesario usar predicados: 1.9. Cursillos 143