Funciones XSLT y XPath/XQuery
Esta sección enumera las funciones de extensión de Altova y otras funciones de extensión que se pueden utilizar con expresiones XPath y XQuery. Las funciones de extensión de Altova se pueden usar con los motores XSLT y XQuery de Altova y ofrecen algunas funciones más aparte de las que están disponibles en las bibliotecas de funciones definidas en los estándares del W3C.
En esta sección describimos las funciones de extensión XPath/XQuery que han sido creadas por Altova para proporcionar operaciones adicionales, así como otras funciones de extensión. Estas funciones pueden ser calculadas por los motores XSLT y XQuery de Altova basándose en las reglas descritas en esta sección. Para obtener información sobre las funciones XPath/XQuery regulares, consulte la Referencia de funciones.
Aspectos generales
Es necesario tener en cuenta estos puntos generales:
•A las funciones de las bibliotecas de funciones principales definidas en las especificaciones W3C se les puede llamar sin un prefijo. Esto se debe a que los motores XSLT y XQuery leen funciones sin prefijo como si pertenecieran a un espacio de nombres de funciones predeterminado http://www.w3.org/2005/xpath-functions, que es el que se especifica en las especificaciones de las funciones XPath y XQuery. Si este espacio de nombres se declara explícitamente en un documento XSLT o XQuery, el prefijo utilizado en la declaración de espacio de nombres también se puede usar en el nombre de las funciones.
•Por lo general, si una función espera como argumento una secuencia de un elemento y se suministra una secuencia de más de un elemento, entonces se devuelve un error.
•Se usa la colación de punto de código de Unicode para todas las comparaciones de cadenas de texto.
•Los resultados que son QName se serializan de esta forma [prefijo:]nombrelocal.
Precisión de xs:decimal
La precisión se refiere a la cantidad de dígitos del número; la especificación requiere un mínimo de 18 dígitos. Para operaciones de división que dan un resultado de tipo xs:decimal, la precisión es de 19 dígitos tras el punto decimal sin redondeos.
Zona horaria implícita
Cuando hay que comparar dos valores date, time o dateTime, es necesario conocer el uso horario de los valores que se deben comparar. Cuando el uso horario no se conoce de forma explícita, se usa el uso horario implícito. La zona horaria implícita se toma del reloj del sistema y para probar cuál es su valor puede utilizar la función implicit-timezone().
Intercalaciones
La colación predeterminada es la colación de punto de código de Unicode, que compara cadenas de texto basándose en su punto de código. El motor usa el algoritmo de colación de Unicode. Otras intercalaciones compatibles son las intercalaciones ICU que aparecen más abajo. Para usar una intercalación indique su URI tal y como aparece en la tabla más abajo. Las comparaciones de cadenas de texto (incluidas las que usan las funciones max y min) se harán según la intercalación especificada. Si no se ha indicado ninguna colación se usará la colación predeterminada de punto de código de Unicode.
Lenguaje | URIs |
da: Danés | da_DK |
de: Alemán | de_AT, de_BE, de_CH, de_DE, de_LI, de_LU |
en: Inglés | en_AS, en_AU, en_BB, en_BE, en_BM, en_BW, en_BZ, en_CA, en_GB, en_GU, en_HK, en_IE, en_IN, en_JM, en_MH, en_MP, en_MT, en_MU, en_NA, en_NZ, en_PH, en_PK, en_SG, en_TT, en_UM, en_US, en_VI, en_ZA, en_ZW |
es: Español | es_419, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC, es_ES, es_GQ, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE, es_PR, es_PY, es_SV, es_US, es_UY, es_VE |
fr: Francés | fr_BE, fr_BF, fr_BI, fr_BJ, fr_BL, fr_CA, fr_CD, fr_CF, fr_CG, fr_CH, fr_CI, fr_CM, fr_DJ, fr_FR, fr_GA, fr_GN, fr_GP, fr_GQ, fr_KM, fr_LU, fr_MC, fr_MF, fr_MG, fr_ML, fr_MQ, fr_NE, fr_RE, fr_RW, fr_SN, fr_TD, fr_TG |
it: Italiano | it_CH, it_IT |
ja: Japonés | ja_JP |
nb: Noruego bokmål | nb_NO |
nl: Holandés | nl_AW, nl_BE, nl_NL |
nn: Noruego nynorsk | nn_NO |
pt: Portugués | pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST |
ru: Ruso | ru_MD, ru_RU, ru_UA |
sv: Sueco | sv_FI, sv_SE |
Eje del espacio de nombres
El eje del espacio de nombres está obsoleto en XPath 2.0. Sin embargo, sí que se admite el uso del espacio de nombres. Para acceder a la información sobre el espacio de nombres con mecanismos de XPath 2.0, utilice las funciones in-scope-prefixes(), namespace-uri() y namespace-uri-for-prefix().