Manual de referencia de XML

Manual de referencia de XML

Tipo de nodo

La siguiente tabla enumera los diferentes tipos de nodos W3C y los elementos que pueden tener:

Tipo de nodo 描述 Elementos hijos
Documento Representa el documento completo (nodo raíz del árbol DOM)
  • Elemento (máximo uno)
  • Instrucción de procesamiento
  • Comentario
  • DocumentType
DocumentFragment Representa un objeto Document ligero, que contiene una parte del documento.
  • Instrucción de procesamiento
  • Comentario
  • Text
  • CDATASection
  • Referencia de entidad
DocumentType Proporciona una interfaz para las entidades definidas para el documento. Ninguno
Instrucción de procesamiento Representa una instrucción de procesamiento. Ninguno
Referencia de entidad Representa un elemento de referencia de entidad.
  • Instrucción de procesamiento
  • Comentario
  • Text
  • CDATASection
  • Referencia de entidad
Elemento Representa un elemento (elemento)。
  • Text
  • Comentario
  • Instrucción de procesamiento
  • CDATASection
  • Referencia de entidad
Attr Representa un atributo.
  • Text
  • Referencia de entidad
Text Representa el contenido de texto en un elemento o atributo. Ninguno
CDATASection Representa un segmento de CDATA en el documento (el texto no es procesado por el analizador) Ninguno
Comentario Representa un comentario. Ninguno
Entidad Representa una entidad.
  • Instrucción de procesamiento
  • Comentario
  • Text
  • CDATASection
  • Referencia de entidad
Notación Representa un símbolo declarado en DTD. Ninguno

Tipo de nodo - Valor devuelto

La siguiente tabla enumera los valores que pueden devolver las propiedades nodeName y nodeValue para cada tipo de nodo:

Tipo de nodo Valor devuelto por nodeName Valor devuelto por nodeValue
Documento #documento null
DocumentFragment #fragmento de documento null
DocumentType Nombre de doctype null
Referencia de entidad Nombre de referencia de entidad null
Elemento Nombre de elemento null
Attr Nombre de atributo Valor de atributo
Instrucción de procesamiento target Contenido del nodo
Comentario #comment Texto de comentario
Text #text Contenido del nodo
CDATASection #cdata-section Contenido del nodo
Entidad Nombre de entidad null
Notación Nombre de símbolo null

NodeTypes - Constantes nombradas

NodeType Named Constant
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

Top

Objeto Node XML DOM

Atributos del objeto Node

Property 描述
attributes NamedNodeMap que contiene las propiedades de este nodo (si este nodo es un elemento).
baseURI Devuelve la URI de referencia absoluta del nodo.
childNodes Devuelve el NodeList de nodos hijos del nodo.
firstChild Devuelve el primer nodo hijo del nodo.
lastChild Devuelve el último nodo hijo del nodo.
nextSibling Devuelve el nodo同级节点,ubicado después del nodo especificado.
nodeName Devuelve el nombre del nodo, según su tipo.
nodeType Devuelve el tipo del nodo.
nodeValue Establezca o devuelva el valor del nodo, según su tipo.
ownerDocument Devuelve el elemento raíz del nodo (objeto document).
parentNode Devuelve el nodo padre del nodo.
prefix Establece o devuelve el prefijo de espacio de nombres del nodo.
previousSibling Devuelve el nodo同级节点,位于指定节点之前。
textContent Establece o devuelve el contenido de texto del nodo y de sus descendientes.

Métodos del objeto Node

Método 描述
appendChild() Añade un nuevo nodo hijo al final de la lista de nodos hijos del nodo.
cloneNode() Clonar el nodo.
compareDocumentPosition() Comparar la posición de dos nodos en la estructura de nivel DOM (documento).
getFeature(feature,version) Devuelve el objeto DOM, que implementa el API especializado para las características y la versión especificadas.
getUserData(key)

Devuelve el objeto asociado con la clave en el nodo.

Debe establecer primero el objeto en este nodo, utilizando setUserData con la misma clave.

hasAttributes() Devuelve true si el nodo especificado tiene cualquier atributo, de lo contrario devuelve false.
hasChildNodes() Devuelve true si el nodo especificado tiene nodos hijos, de lo contrario devuelve false.
insertBefore() Inserta un nuevo nodo hijo antes del nodo subyacente especificado.
isDefaultNamespace(URI) Devuelve si la URI de espacio de nombres especificada es la predeterminada.
isEqualNode() Verifica si dos nodos son iguales.
isSameNode() Verifica si dos nodos son el mismo nodo.
lookupNamespaceURI() Devuelve la URI de espacio de nombres asociada con el prefijo especificado.
lookupPrefix() Devuelve el prefijo asociado con la URI de espacio de nombres especificada.
normalize() Combina nodos de texto adyacentes y elimina los nodos de texto vacíos.
removeChild() Elimina (y devuelve) el nodo hijo especificado del nodo actual.
replaceChild() Reemplaza el nodo hijo con un nuevo nodo.
setUserData(key,data,handler) Asocia el objeto con la clave en el nodo.

Top

Objeto NodeList XML DOM

Atributos del objeto NodeList

Property 描述
length Devuelve el número de nodos en la lista NodeList.

Métodos del objeto NodeList

Método 描述
item() Devuelve el nodo en la posición especificada de la lista de nodos.

Top

Objeto NamedNodeMap XML DOM

Atributos del objeto NamedNodeMap

Property 描述
length Devuelve el número de nodos en la lista.

Métodos del objeto NamedNodeMap

Método 描述
getNamedItem() Devuelve el nodo con un nombre específico.
getNamedItemNS() Devuelve el nodo con un nombre y un espacio de nombres específicos.
item() Devuelve el nodo en la posición especificada.
removeNamedItem() Elimina el nodo con un nombre específico.
removeNamedItemNS() Elimina el nodo con un nombre y un espacio de nombres específicos.
setNamedItem() Establece el nodo especificado (por nombre).
setNamedItemNS() Establece el nodo especificado (por nombre y espacio de nombres).

Top

Objeto Documento XML DOM

Atributos del objeto Document

Property 描述
childNodes Devuelve el NodeList de nodos hijos del documento.
doctype Devuelve la declaración de tipo de documento asociada con el documento.
documentElement Devuelve el nodo raíz del documento.
documentURI Establece o devuelve la ubicación del documento.
domConfig Devuelve la configuración utilizada al llamar normalizeDocument().
firstChild Devuelve el primer nodo hijo del documento.
implementation Devuelve el objeto DOMImplementation que procesa este documento.
inputEncoding Devuelve la forma de codificación utilizada por el documento (en la解析时).
lastChild Devuelve el último nodo hijo del documento.
nodeName Devuelve el nombre del nodo (dependiendo de su tipo).
nodeType Devuelve el tipo de nodo del nodo.
nodeValue Establece o devuelve el valor del nodo (dependiendo de su tipo).
xmlEncoding Devuelve la forma de codificación XML del documento.
xmlStandalone Establece o devuelve si el documento es independiente.
xmlVersion Establece o devuelve la versión XML del documento.

Métodos del objeto Document

Método 描述
adoptNode() Apta un nodo de otro documento a este documento y devuelve el nodo adoptado.
createAttribute() Crea un nodo de atributo con un nombre especificado, y devuelve el nuevo objeto Attr.
createAttributeNS() Crea un nodo de atributo con un nombre y un espacio de nombres especificados, y devuelve el nuevo objeto Attr.
createCDATASection() Crea un nodo de sección CDATA.
createComment() Crea un nodo de comentario.
createDocumentFragment() Crea un objeto DocumentFragment vacío y devuélvelo.
createElement() Crea un nodo de elemento.
createElementNS() Crea un nodo de elemento con el espacio de nombres especificado.
createEntityReference() Crea un objeto EntityReference y devuelve este objeto.
createProcessingInstruction() Crea un objeto ProcessingInstruction y devuelve este objeto.
createTextNode() Crea un nodo de texto.
getElementById() Devuelve el elemento que tiene el atributo id con el valor dado.
getElementsByTagName() Devuelve NodeList de todos los elementos que tienen el nombre especificado.
getElementsByTagNameNS() Devuelve NodeList de todos los elementos que tienen el nombre y el espacio de nombres especificados.
importNode() Importa el nodo desde otro documento a este documento.
normalizeDocument()
renameNode() Renombra el nodo de elemento o el nodo de atributo.

Atributos del objeto DocumentType

Cada documento tiene una propiedad DOCTYPE, que tiene un valor null o un objeto DocumentType.

El objeto DocumentType proporciona la interfaz para las entidades definidas para el documento XML.

Property 描述
name Devuelve el nombre del DTD.
publicId Devuelve el identificador público del DTD.
systemId Devuelve el identificador de sistema del DTD externo.

Métodos del objeto DocumentImplementation

El objeto DOMImplementation ejecuta operaciones específicas de la instancia independientes del modelo de objeto del documento.

Método 描述
createDocument() Crea un nuevo objeto DOM Document del tipo de documento especificado.
createDocumentType() Crea un nodo DocumentType vacío.
getFeature() Devuelve el objeto de la API que implementa la característica y versión especificada (si hay uno).
hasFeature() Verifica si la implementación del DOM ha implementado características específicas y versiones.

Atributos del objeto ProcessingInstruction

El objeto ProcessingInstruction representa la instrucción de procesamiento.

Las instrucciones de procesamiento son un método utilizado para mantener información específica del procesador en el texto del documento XML.

Property 描述
data Establece o devuelve el contenido de la instrucción de procesamiento.
target Retorna el objetivo de la instrucción de procesamiento.

Top

Objeto Elemento XML DOM

Atributos del objeto Element.

Property 描述
attributes Retorna el NamedNodeMap del atributo del elemento.
baseURI Devuelve el URI de referencia absoluto del elemento.
childNodes Devuelve una NodeList de nodos hijos del elemento.
firstChild Devuelve el primer elemento hijo del elemento.
lastChild Devuelve el último elemento hijo del elemento.
localName Devuelve la parte local del nombre del elemento.
namespaceURI Devuelve el URI del espacio de nombres del elemento.
nextSibling Devuelve el nodo que sigue inmediatamente al elemento.
nodeName Devuelve el nombre del nodo, dependiendo de su tipo.
nodeType Devuelve el tipo del nodo.
ownerDocument Devuelve el elemento raíz (objeto de documento).
parentNode Devuelve el nodo padre del elemento.
prefix Establecer o devolver el prefijo de espacio de nombres del elemento.
previousSibling Devuelve el nodo que precede inmediatamente al elemento.
schemaTypeInfo Devuelve la información del tipo asociada con el elemento.
tagName Devuelve el nombre del elemento.
textContent Establecer o devolver el contenido de texto de los elementos y sus descendientes.

Métodos del objeto Elemento

Método 描述
appendChild() Agregar un nuevo nodo hijo al final de la lista de nodos hijos del nodo.
cloneNode() Clonar el nodo.
compareDocumentPosition() Comparar la posición del documento de dos nodos.
getAttribute() Devuelve el valor del atributo.
getAttributeNS() Devuelve el valor del atributo (con espacio de nombres).
getAttributeNode() Devuelve el nodo de atributo en forma de objeto Attribute.
getAttributeNodeNS() Devuelve el nodo de atributo (con espacio de nombres) en forma de objeto Attribute.
getElementsByTagName() Devuelve una NodeList de nodos de elementos que coinciden con el nodo de elemento y sus nodos hijos.
getElementsByTagNameNS() Devuelve una NodeList de nodos de elementos que coinciden con el nodo de elemento (con espacio de nombres) y sus nodos hijos.
getFeature(feature,version) Devuelve el objeto DOM, que implementa el API especializado para las características y la versión especificadas.
getUserData(key) Devuelve el objeto asociado con la clave del nodo. Es necesario establecer primero el objeto en este nodo, utilizando el mismo clave para llamar a setUserData.
hasAttribute() Devuelve si el elemento tiene un atributo que coincida con el nombre especificado.
hasAttributeNS() Devuelve si el elemento tiene un atributo que coincida con el nombre y el espacio de nombres especificados.
hasAttributes() Devuelve si el elemento tiene atributos.
hasChildNodes() Devuelve si el elemento tiene nodos hijos.
insertBefore() Inserta un nuevo nodo hijo antes de los nodos hijos existentes.
isDefaultNamespace(URI) Devuelve si el namespaceURI especificado es el predeterminado.
isEqualNode() Verifica si dos nodos son iguales.
lookupNamespaceURI() Devuelve el URI de espacio de nombres que coincide con el prefijo especificado.
lookupPrefix() Devuelve el prefijo que coincide con el URI de espacio de nombres especificado.
normalize()

El método normalize() elimina los nodos de texto vacíos y une los nodos de texto adyacentes.

Normaliza todos los nodos de texto debajo del elemento (incluidos los atributos), donde solo la estructura (por ejemplo, elementos, comentarios, instrucciones de procesamiento, partes CDATA y referencias a entidades) separa los nodos de texto.

Es decir, no existen nodos de texto adyacentes ni nodos de texto vacíos.

removeAttribute() Elimina el atributo especificado.
removeAttributeNS() Elimina el atributo especificado (con espacio de nombres).
removeAttributeNode() Elimina el nodo de atributo especificado.
removeChild() Elimina el nodo hijo.
replaceChild() Reemplaza el nodo hijo.
setUserData(key,data,handler) Asocia el objeto con la clave en el elemento.
setAttribute() Añade un nuevo atributo.
setAttributeNS() Añade un nuevo atributo (con espacio de nombres).
setAttributeNode() Añade un nuevo nodo de atributo.
setAttributeNodeNS(attrnode) Añade un nuevo nodo de atributo (con espacio de nombres).
setIdAttribute(name,isId) Si el atributo isId del objeto Attribute es true, este método declarará el atributo especificado como atributo ID determinado por el usuario.
setIdAttributeNS(uri,name,isId) Si el atributo isId del objeto Attribute es true, este método declarará el atributo especificado (con espacio de nombres) como atributo ID determinado por el usuario.
setIdAttributeNode(idAttr,isId) Si el atributo isId del objeto Attribute es true, este método declarará el atributo especificado como atributo ID determinado por el usuario.

Top

Atributos del objeto Attr

Property 描述
baseURI Devuelve el URI de base absoluto del atributo.
isId Si el atributo es del tipo id, devuelve true, de lo contrario devuelve false.
localName Devuelve la parte local del nombre del atributo.
name Devuelve el nombre del atributo.
namespaceURI Devuelve el URI de espacio de nombres del atributo.
nodeName Devuelve el nombre del nodo, según su tipo.
nodeType Devuelve el tipo del nodo.
nodeValue Establezca o devuelva el valor del nodo, según su tipo.
ownerDocument Devuelve el elemento raíz (objeto de documento) del atributo.
ownerElement Devuelve el nodo de elemento al que pertenece el atributo.
prefix Establezca o devuelva el prefijo del espacio de nombres del atributo.
schemaTypeInfo Devuelve la información del tipo asociada con el atributo.
specified

Si se ha establecido el valor del atributo en el documento, devuelva true;

Si el valor del atributo es el valor predeterminado en DTD/Schema, devuelva false.

textContent Establezca o devuelva el contenido de texto del atributo.
value Establezca o devuelva el valor del atributo.

Top

Objeto Text XML DOM

Atributo del objeto Text

Property 描述
data Establezca o devuelva el texto del elemento o atributo.
isElementContentWhitespace Determina si el nodo de texto contiene contenido de caracteres en blanco.
length Devuelve la longitud del texto del elemento o atributo.
wholeText Devuelve todos los textos de los nodos de texto adyacentes al nodo, conectados en orden de documento.

Métodos del objeto Text

Método 描述
appendData() Añada datos al nodo.
deleteData() Elimine datos del nodo.
insertData() Inserte datos en el nodo.
replaceData() Reemplace los datos del nodo.
replaceWholeText(text) Reemplace todo el texto del nodo y todos los nodos de texto adyacentes con el texto especificado.
splitText() Divida un nodo Texto en dos.
substringData() Extraiga datos del nodo.

Top

Objeto CDATASection XML DOM

Atributos del objeto CDATASection

Property 描述
data Establezca o devuelva el texto del nodo.
length Devuelve la longitud de la sección CDATA.

Métodos del objeto CDATASection

Método 描述
appendData() Añada datos al nodo.
deleteData() Elimine datos del nodo.
insertData() Inserte datos en el nodo.
replaceData() Reemplace los datos del nodo.
splitText() Divida el nodo CDATA en dos nodos.
substringData() Extraiga datos del nodo.

Top

Objeto Comment XML DOM

Atributos del objeto Comment

Property 描述
data Establezca o devuelva el texto del nodo.
length Devuelve la longitud del texto del nodo.

Métodos del objeto Comment

Método 描述
appendData() Añada datos al nodo.
deleteData() Elimine datos del nodo.
insertData() Inserte datos en el nodo.
replaceData() Reemplace los datos del nodo.
substringData() Extraiga datos del nodo.

Top

Objeto XMLHttpRequest XML DOM

Métodos del objeto XMLHttpRequest

Método 描述
abort() Cancela la solicitud actual.
getAllResponseHeaders() Devuelve la información de encabezado.
getResponseHeader() Devuelve el valor de la cabecera HTTP especificada.
open(method,url,async,uname,pswd)

Especifique el tipo de solicitud, la URL, si debe manejar la solicitud de manera asincrónica y otros atributos opcionales de la solicitud.

  • method: Request type: GET or POST
  • url: The location of the file on the server
  • async: true (asynchronous) or false (synchronous)
send(string)

Send the request to the server.

string: Only for POST requests

setRequestHeader() Add a label/value pair to the headers to be sent.

Properties of the XMLHttpRequest object

Property 描述
onreadystatechange Store the function (or function name) automatically called each time the readyState attribute changes.
readyState

Save the state of XMLHttpRequest. Changes from 0 to 4:

  • 0: The request has not been initialized
  • 1: The server connection has been established
  • 2: The request has been received
  • 3: The request is being processed
  • 4: The request has been completed, and the response is ready
responseText Return response data as a string.
responseXML Return response data as XML data.
status Return status codes (e.g., "404" for "Not Found", or "200" for "OK").
statusText Return status text (e.g., "Not Found" or "OK").

Top

XSD elements

elemento Explain
all Specify that child elements can appear in any order, and each child element can appear zero or once.
annotation The annotation element is a top-level element that specifies schema annotations.
any Allow creators to extend XML documents through elements not specified by the schema.
anyAttribute Allow creators to extend XML documents through attributes not specified by the schema.
appInfo Specify the information that the application should use in the annotation element.
attribute Define an attribute.
attributeGroup Define an attribute group used in the complex type definition.
choice Allow only one element to appear in the containing elements within a <choice> declaration.
complexContent Define extensions or restrictions on complex types (including mixed content or elements only).
complexType Define complex types.
documentation Define text annotations in the schema.
element Define an element.
extension Expand existing simpleType or complexType elements.
field Specify an XPath expression that defines the value used to define identification constraints.
group Define the element group used in complex type definitions.
import Add multiple schemas with different target namespaces to a document.
include Add multiple schemas with the same target namespace to a document.
key Specify that the value of an attribute or element (or a set of values) must be a key within the specified range.
keyref Specify that the value of an attribute or element (or a set of values) corresponds to the value of a specified key or unique element.
list Define a simple type as a list of values of a specified data type.
notation Describe the format of non-XML data in an XML document.
redefine Redefine simple and complex types, groups, and attribute groups obtained from an external schema file.
restriction Define constraints on simpleType, simpleContent, or complexContent.
schema Define the root element of the schema.
selector Specify an XPath expression that selects a set of elements for identification constraints.
sequence Requires child elements to appear in order. Each child element can appear 0 to any number of times.
simpleContent Contains extensions or restrictions of the complexType element and does not contain any elements.
simpleType Define a simple type, specifying constraints and information about the value of attributes or elements that contain only text.
union Define a collection of multiple simpleType definitions.
unique Specify that the value of an attribute or element (or a combination of attribute or element values) must be unique within the specified range.

XSD limitations for data types

See XSD Limitations / Facets

Limitation 描述
enumeration Define a list of acceptable values
fractionDigits Define the maximum number of decimal places allowed. It must be greater than or equal to 0.
length Define the exact number of allowed characters or list items. It must be greater than or equal to 0.
maxExclusive Define the upper limit of the number. The allowed values must be less than this value.
maxInclusive Define the upper limit of the number. The allowed values must be less than or equal to this value.
maxLength Define the maximum number of allowed characters or list items. It must be greater than or equal to 0.
minExclusive Define the lower limit of the number. The allowed values must be greater than this value.
minInclusive Define the lower limit of the number. The allowed values must be greater than or equal to this value.
minLength Definir el número mínimo permitido de caracteres o elementos de lista. Debe ser mayor o igual a 0.
pattern Definir la secuencia exacta de caracteres aceptables.
totalDigits Definir la precisión exacta de los dígitos árabes permitidos. Debe ser mayor de 0.
whiteSpace Definir el modo de procesamiento de los caracteres de espacio en blanco (salto de línea, retorno de carro, espacio y tabulador).

Top

elemento XSLT

elemento 描述
apply-imports Aplicar las reglas de plantilla provenientes de una hoja de estilo importada.
apply-templates Aplicar un patrón a un elemento actual o a los subelementos del elemento actual.
attribute Agregar atributos a un elemento.
attribute-set Crear un conjunto de atributos nombrados.
call-template Llamar a un patrón específico.
choose Usar junto con <when> y <otherwise> para expresar pruebas de condiciones múltiples.
comment Crear un nodo de comentario en el árbol de resultados.
copy Crear una copia del nodo actual (sin subnodos ni atributos).
copy-of Crear una copia del nodo actual (con subnodos y atributos).
decimal-format Definir los caracteres y símbolos a usar cuando se convierte un número a una cadena utilizando la función format-number().
element Crear un nodo de elemento en el documento de salida.
fallback Si el procesador no admite un elemento XSLT específico, especificar un código alternativo para ejecutar.
for-each Recorrer cada nodo en el conjunto de nodos especificado.
if Incluir un patrón, aplicando este patrón solo cuando se cumpla una condición específica.
import Se utiliza para inyectar el contenido de una hoja de estilo en otra.
include Incluir el contenido de una hoja de estilo en otra.
key Declarar una clave nombrada.
message Escribir un mensaje en la salida (para informes de errores).
namespace-alias Reemplazar el espacio de nombres de una hoja de estilo con un espacio de nombres diferente en la salida.
number Determinar la posición entera actual del nodo y formatear los números.
otherwise Especificar la acción predeterminada del elemento <choose>.
output Definir el formato del documento de salida.
param Declarar un parámetro local o global.
preserve-space Se utiliza para definir elementos que deben conservar los espacios en blanco.
processing-instruction Generar un nodo de instrucción de procesamiento.
sort Ordenar los resultados.
strip-space El elemento debe eliminar los caracteres de espacio en blanco.
stylesheet Define el elemento raíz de la hoja de estilo.
template Las reglas aplicadas cuando se coincide con el nodo especificado.
text Genera nodos de texto a través de una hoja de estilo.
transform Define el elemento raíz de la hoja de estilo.
value-of Extrae el valor del nodo seleccionado.
variable Declara variables locales o globales.
when Especifica la acción del elemento <choose>.
with-param Especifica el valor de los parámetros que deben ser pasados a un modelo.

Top

Funciones de XSLT, XPath y XQuery

Funciones de acceso

名称 Description
fn:nombre-nodo(nodo) Devuelve el nombre del nodo del parámetro.
fn:nulo(nodo) Devuelve el valor booleano que indica si se rechaza el nodo del parámetro.
fn:datos(item.item,...) Acepta una secuencia de elementos y devuelve una secuencia de valores atómicos.
  • fn:base-uri()
  • fn:base-uri(nodo)
Devuelve el valor de la propiedad base-uri del nodo actual o del nodo especificado.
fn:document-uri(nodo) Devuelve el valor de la propiedad document-uri del nodo especificado.

Funciones de error y seguimiento

名称 Description
  • fn:error()
  • fn:error(error)
  • fn:error(error,descripción)
  • fn:error(error,descripción,objetivo-error)

ejemplo: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: El precio es demasiado alto')

Resultado: Devuelve al entorno de procesamiento externo http://example.com/test#toohigh y la cadena "Error: El precio es demasiado alto".

fn:seguimiento(value,label) Usado para depurar consultas.

Funciones numéricas

名称 Description
fn:número(arg)

Devuelve el valor numérico del parámetro. El parámetro puede ser un valor booleano, una cadena o un conjunto de nodos.

ejemplo: número('100')

Resultado: 100

fn:abs(num)

Devuelve el valor absoluto del parámetro.

ejemplo: abs(3.14)

Resultado: 3.14

ejemplo: abs(-3.14)

Resultado: 3.14

fn:techo(num)

Devuelve el entero más pequeño mayor que el parámetro num.

ejemplo: techo(3.14)

Resultado: 4

fn:floor(num)

Devuelve el entero más grande no mayor que el parámetro num.

Ejemplo: floor(3.14)

Result: 3

fn:redondear(num)

Redondea el parámetro num a su entero más cercano.

Ejemplo: redondear(3.14)

Result: 3

fn:redondear-a-entero-par()

Ejemplo: redondear-a-entero-par(0.5)

Resultado: 0

Ejemplo: redondear-a-entero-par(1.5)

Result: 2

Ejemplo: redondear-a-entero-par(2.5)

Result: 2

Funciones de cadena

名称 Description
fn:cadena(arg)

Devuelve el valor de cadena del argumento. El argumento puede ser un número, un valor lógico o un conjunto de nodos.

Ejemplo: cadena(314)

Resultado: "314"

fn:puntos-de-codigo-a-cadena(int,int,...)

Devuelve una cadena a partir de una secuencia de puntos de código.

Ejemplo: puntos-de-codigo-a-cadena(84, 104, 233, 114, 232, 115, 101)

Resultado: 'Thérèse'

fn:cadena-a-codigo-puntos(cadena)

Devuelve una secuencia de puntos de código a partir de una cadena.

Ejemplo: string-a-codigo-puntos("Thérèse")

Resultado: 84, 104, 233, 114, 232, 115, 101

fn:igual-codigo-punto(comp1,comp2) De acuerdo con la comparación de puntos de código Unicode, si el valor de comp1 es igual al valor de comp2, devuelve true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), de lo contrario devuelve false.
  • fn:comparar(comp1,comp2)
  • fn:comparar(comp1,comp2,collation)

Si comp1 es menor que comp2, devuelve -1. Si comp1 es igual que comp2, devuelve 0. Si comp1 es mayor que comp2, devuelve 1. (según el régimen de comparación utilizado).

Ejemplo: comparar('ghi', 'ghi')

Resultado: 0

fn:concatenar(cadena,cadena,...)

Devuelve la concatenación de cadenas.

Ejemplo: concatenar('XPath ','es ','DIVERTIDO!')

Resultado: 'XPath es DIVERTIDO!'

fn:unir((cadena,cadena,...),sep)

usa el parámetro sep como separador para devolver la cadena concatenada de los parámetros string.

ejemplo: string-join(('We', 'are', 'having', 'fun!'), ' ')

el resultado: ' We are having fun! '

ejemplo: string-join(('We', 'are', 'having', 'fun!'))

el resultado: 'Wearehavingfun!'

ejemplo: string-join((), 'sep')

el resultado: ''

  • fn:substring(string,start,len)
  • fn:substring(string,start)

devuelve la subcadena especificada de longitud determinada comenzando en la posición start. El índice del primer carácter es 1. Si se omite el parámetro len, se devuelve la subcadena desde la posición start hasta el final de la cadena.

ejemplo: substring('Beatles',1,4)

el resultado: 'Beat'

ejemplo: substring('Beatles',2)

el resultado: 'eatles'

  • fn:string-length(string)
  • fn:string-length()

devuelve la longitud de la cadena especificada. Si no se proporciona el parámetro string, devuelve la longitud del valor de cadena del nodo actual.

ejemplo: string-length('Beatles')

el resultado: 7

  • fn:normalize-space(string)
  • fn:normalize-space()

elimina los espacios en blanco al principio y al final de la cadena especificada, reemplaza todas las secuencias de espacios en blanco internos con uno y devuelve el resultado. Si no se proporciona el parámetro string, se procesa el nodo actual.

ejemplo: normalize-space(' The   XML ')

el resultado: 'The XML'

fn:normalize-unicode() ejecuta la normalización Unicode.
fn:upper-case(string)

convierte el parámetro string en mayúsculas.

ejemplo: upper-case('The XML')

el resultado: 'THE XML'

fn:lower-case(string)

convierte el parámetro string en minúsculas.

ejemplo: lower-case('The XML')

el resultado: 'the xml'

fn:translate(string1,string2,string3)

Reemplaza string2 en string1 con string3.

Ejemplo: translate('12:30','30','45')

Resultado: '12:45'

Ejemplo: translate('12:30','03','54')

Resultado: '12:45'

Ejemplo: translate('12:30','0123','abcd')

Resultado: 'bc:da'

fn:escape-uri(stringURI,esc-res)

Ejemplo: escape-uri("http://example.com/test#car", true())

Resultado: "http%3A%2F%2Fexample.com%2Ftest#car"

Ejemplo: escape-uri("http://example.com/test#car", false())

Resultado: "http://example.com/test#car"

Ejemplo: escape-uri ("http://example.com/~bébé", false())

Resultado: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

Si string1 contiene string2, devuelve true, de lo contrario devuelve false.

Ejemplo: contains('XML','XM')

Resultado: true

fn:starts-with(string1,string2)

Si string1 comienza con string2, devuelve true, de lo contrario devuelve false.

Ejemplo: starts-with('XML','X')

Resultado: true

fn:ends-with(string1,string2)

Si string1 termina con string2, devuelve true, de lo contrario devuelve false.

Ejemplo: ends-with('XML','X')

Resultado: false

fn:substring-before(string1,string2)

Devuelve la subcadena que precede a la aparición de string2 en string1.

Ejemplo: substring-before('12/10','/')

Resultado: '12'

fn:substring-after(string1,string2)

Devuelve la subcadena que sigue a la aparición de string2 en string1.

Ejemplo: substring-after('12/10','/')

Resultado: '10'

fn:matches(string,pattern)

Si el parámetro string coincide con el patrón especificado, devuelve true; de lo contrario, devuelve false.

Ejemplo: matches("Merano", "ran")

Resultado: true

fn:replace(string,pattern,replace)

Reemplaza el patrón especificado con el parámetro replace y devuelve el resultado.

Ejemplo: replace("Bella Italia", "l", "*")

Resultado: 'Be**a Ita*ia'

Ejemplo: replace("Bella Italia", "l", "")

Resultado: 'Bea Itaia'

fn:tokenize(string,pattern)

Ejemplo: tokenize("XPath es fun", "\s+")

Resultado: ("XPath", "es", "fun")

Funciones relacionadas con anyURI

名称 Description
fn:resolve-uri(relative,base)  

Funciones relacionadas con los valores booleanos

名称 Description
fn:boolean(arg) Devuelve el valor booleano de un número, una cadena o un conjunto de nodos.
fn:not(arg)

Primero, restablece el parámetro a un valor booleano mediante la función boolean().

Si el valor booleano es false, devuelve true; de lo contrario, devuelve true.

Ejemplo: not(true())

Resultado: false

fn:true()

Devuelve el valor booleano true.

Ejemplo: true()

Resultado: true

fn:false()

Devuelve el valor booleano false.

Ejemplo: false()

Resultado: false

Funciones relacionadas con la duración, la fecha y la hora

Función de extracción de componentes de fecha, hora y duración

名称 Description
fn:dateTime(date,time) Convierte el parámetro en una fecha y hora.
fn:years-from-duration(datetimedur) Devuelve el valor entero del año del parámetro, expresado en notación de vocabulario estándar.
fn:months-from-duration(datetimedur) Devuelve el valor entero del mes del parámetro, expresado en notación de vocabulario estándar.
fn:days-from-duration(datetimedur) Devuelve el valor entero del día del parámetro, expresado en notación de vocabulario estándar.
fn:hours-from-duration(datetimedur) Devuelve el entero de horas del valor del parámetro, representado en notación léxica estándar.
fn:minutes-from-duration(datetimedur) Devuelve el entero de minutos del valor del parámetro, representado en notación léxica estándar.
fn:seconds-from-duration(datetimedur) Devuelve el número decimal de minutos del valor del parámetro, representado en notación léxica estándar.
fn:year-from-dateTime(datetime)

Devuelve el entero de la parte local del parámetro que representa el año.

Ejemplo: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resultado: 2005

fn:month-from-dateTime(datetime)

Devuelve el entero de la parte local del parámetro que representa el mes.

Ejemplo: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resultado: 01

fn:day-from-dateTime(datetime)

Devuelve el entero de la parte local del parámetro que representa el día.

Ejemplo: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resultado: 10

fn:hours-from-dateTime(datetime)

Devuelve el entero de la parte local del parámetro que representa las horas.

Ejemplo: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resultado: 12

fn:minutes-from-dateTime(datetime)

Devuelve el entero de la parte local del parámetro que representa los minutos.

Ejemplo: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resultado: 30

fn:seconds-from-dateTime(datetime)

Devuelve el número decimal de segundos de la parte local del parámetro.

Ejemplo: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

Resultado: 0

fn:timezone-from-dateTime(datetime) Devuelve la parte de la zona horaria del parámetro, si existe.
fn:year-from-date(date)

Devuelve el valor local del parámetro como un entero que representa el año.

Ejemplo: year-from-date(xs:date("2005-04-23"))

Resultado: 2005

fn:month-from-date(date)

Devuelve el entero que representa la parte de meses del valor local del parámetro.

Ejemplo: month-from-date(xs:date("2005-04-23"))

Resultado: 4

fn:day-from-date(date)

Devuelve el entero que representa la parte de días del valor local del parámetro.

Ejemplo: day-from-date(xs:date("2005-04-23"))

Resultado: 23

fn:timezone-from-date(date) Devuelve la parte de la zona horaria del parámetro, si existe.
fn:hours-from-time(time)

Devuelve el entero que representa la parte de horas del valor local del parámetro.

Ejemplo: hours-from-time(xs:time("10:22:00"))

Resultado: 10

fn:minutes-from-time(time)

Devuelve el entero que representa la parte de minutos del valor local del parámetro.

Ejemplo: minutes-from-time(xs:time("10:22:00"))

Resultado: 22

fn:seconds-from-time(time)

Devuelve el entero que representa la parte de segundos del valor local del parámetro.

Ejemplo: seconds-from-time(xs:time("10:22:00"))

Resultado: 0

fn:timezone-from-time(time) Devuelve la parte de la zona horaria del parámetro, si existe.
fn:adjust-dateTime-to-timezone(datetime,timezone)

Si el parámetro timezone está vacío, devolver dateTime sin la zona horaria.

De lo contrario, devolver dateTime con la zona horaria.

fn:adjust-date-to-timezone(date,timezone)

Si el parámetro timezone está vacío, devolver la fecha sin la zona horaria.

De lo contrario, devolver la fecha con la zona horaria.

fn:adjust-time-to-timezone(time,timezone)

Si el parámetro timezone está vacío, devolver la hora sin la zona horaria.

De lo contrario, devolver la hora con la zona horaria.

Funciones relacionadas con QNames

名称 Description
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

Funciones relacionadas con los nodos

名称 Description
  • fn:name()
  • fn:name(nodeset)
Devuelve el nombre del nodo actual o el primer nodo del conjunto de nodos especificado.
  • fn:local-name()
  • fn:local-name(nodeset)
Devuelve el nombre del nodo actual o el primer nodo del conjunto de nodos especificado sin prefijo de espacio de nombres.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
Devuelve el URI del espacio de nombres del nodo actual o del primer nodo del conjunto de nodos especificado.
fn:lang(lang)

Devuelve true si el idioma del nodo actual coincide con el idioma especificado.

Ejemplo: Lang("en") es true para <p xml:lang="en">...</p>

Ejemplo: Lang("de") es false para <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
Devuelve el nodo raíz del árbol de nodos al que pertenece el nodo actual o el nodo especificado. Generalmente es el nodo de documento.

Funciones relacionadas con la secuencia

Función general

名称 Description
fn:index-of((item,item,...),searchitem)

Devuelve la posición en la secuencia de elementos en la que el elemento es igual al parámetro searchitem.

Ejemplo: index-of ((15, 40, 25, 40, 10), 40)

Resultado: (2, 4)

Ejemplo: index-of (("a", "dog", "and", "a", "duck"), "a")

Resultado (1, 4)

Ejemplo: index-of ((15, 40, 25, 40, 10), 18)

Resultado: ()

fn:remove((item,item,...),position)

Devuelve una nueva secuencia construida por el parámetro item, eliminando al mismo tiempo el elemento especificado por el parámetro position.

Ejemplo: remove(("ab", "cd", "ef"), 0)

Resultado: ("ab", "cd", "ef")

Ejemplo: remove(("ab", "cd", "ef"), 1)

Resultado: ("cd", "ef")

Ejemplo: remove(("ab", "cd", "ef"), 4)

Resultado: ("ab", "cd", "ef")

fn:empty(item,item,...)

Si el valor del parámetro es una secuencia vacía, devuelve true, de lo contrario, devuelve false.

Ejemplo: empty(remove(("ab", "cd"), 1))

Resultado: false

fn:exists(item,item,...)

Devuelve true si el valor del parámetro no es una secuencia vacía, de lo contrario devuelve false.

Ejemplo: exists(remove(("ab"), 1))

Resultado: false

fn:distinct-values((item,item,...),collation)

Devuelve valores únicos.

Ejemplo: distinct-values((1, 2, 3, 1, 2))

Resultado: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

Devuelve una nueva secuencia construida por el parámetro item, insertando el valor del parámetro inserts en la posición especificada por el parámetro pos.

Ejemplo: insert-before(("ab", "cd"), 0, "gh")

Resultado: ("gh", "ab", "cd")

Ejemplo: insert-before(("ab", "cd"), 1, "gh")

Resultado: ("gh", "ab", "cd")

Ejemplo: insert-before(("ab", "cd"), 2, "gh")

Resultado: ("ab", "gh", "cd")

Ejemplo: insert-before(("ab", "cd"), 5, "gh")

Resultado: ("ab", "cd", "gh")

fn:reverse((item,item,...))

Devuelve el orden inverso de los elementos especificados.

Ejemplo: reverse(("ab", "cd", "ef"))

Resultado: ("ef", "cd", "ab")

Ejemplo: reverse(("ab"))

Resultado: ("ab")

fn:subsequence((item,item,...),start,len)

Devuelve una secuencia de elementos desde la posición especificada por el parámetro start, con una longitud especificada por el parámetro len.

La posición del primer elemento es 1.

Ejemplo: subsequence(($item1, $item2, $item3,...), 3)

Resultado: ($item3, ...)

Ejemplo: subsequence(($item1, $item2, $item3, ...), 2, 2)

Resultado: ($item2, $item3)

fn:unordered((item,item,...)) Devuelve los elementos en el orden determinado por la implementación.

Función de prueba de capacidad de secuencia

名称 Description
fn:zero-or-one(item,item,...) If the parameter contains zero or one item, return the parameter, otherwise generate an error.
fn:one-or-more(item,item,...) If the parameter contains one or more items, return the parameter, otherwise generate an error.
fn:exactly-one(item,item,...) If the parameter contains an item, return the parameter, otherwise generate an error.

Equals, Union, Intersection and Except

名称 Description
fn:deep-equal(param1,param2,collation) Returns true if param1 and param2 are equal to each other (deep-equal), otherwise returns false.

Aggregate Functions

名称 Description
fn:count((item,item,...)) Returns the number of nodes.
fn:avg((arg,arg,...))

Returns the average of the parameter values.

Example: avg((1,2,3))

Result: 2

fn:max((arg,arg,...))

Returns the parameter that is greater than the other parameters.

Example: max((1,2,3))

Result: 3

Example: max(('a', 'k'))

Result: 'k'

fn:min((arg,arg,...))

Returns the parameter that is less than the other parameters.

Example: min((1,2,3))

Result: 1

Example: min(('a', 'k'))

Result: 'a'

fn:sum(arg,arg,...) Returns the sum of the numerical values of each node in the specified node set.

Functions that generate sequences

名称 Description
fn:id((string,string,...),node) Returns a sequence of element nodes whose ID values equal one or more values specified in the string parameter.
fn:idref((string,string,...),node) Returns a sequence of element or attribute nodes whose IDREF values equal one or more values specified in the string parameter.
fn:doc(URI)  
fn:doc-available(URI) Returns true if the doc() function returns a document node, otherwise returns false.
  • fn:collection()
  • fn:collection(string)
 

Context Functions

名称 Description
fn:position()

Returns the index position of the current node being processed.

Example: //book[position()<=3]

Result: Select the first three book elements

fn:last()

返回在被处理的节点列表中的项目数目。

例子://book[last()]

结果:选择最后一个 book 元素

fn:current-dateTime() 返回当前的 dateTime(带有时区)。
fn:current-date() 返回当前的日期(带有时区)。
fn:current-time() 返回当前的时间(带有时区)。
fn:implicit-timezone() 返回隐式时区的值。
fn:default-collation() 返回默认对照的值。
fn:static-base-uri() 返回 base-uri 的值。

XSLT 函数

此外,还有以下内置的 XSLT 函数:

名称 描述
current() 返回当前节点作为唯一成员的节点集。
document() 用于访问外部 XML 文档中的节点。
element-available() 检测 XSLT 处理器是否支持指定的元素。
format-number() 把数字转换为字符串。
function-available() 检测 XSLT 处理器是否支持指定的函数。
generate-id() 返回唯一标识指定节点的字符串值。
key() 检索以前使用 <xsl:key> 语句标记的元素。
node-set 将树转换为节点集。产生的节点集总是包含单个节点并且是树的根节点。
system-property() 返回系统属性的值。
unparsed-entity-uri() 返回未解析实体的 URI。

Top

其他 XML DOM 对象

Top