Altova XMLSpy 2024 Professional Edition

XSLT和XPath/XQuery函数

首页 上一页 向上一级 下一页

本部分列出了可在XPath和/或XQuery表达式中使用的Altova扩展函数和其他扩展函数。Altova扩展函数可以与Altova的XSLT和XQuery引擎一起使用,并提供除W3C标准中定义的函数库中可用的功能之外的功能。

 

本部分主要介绍了Altova为提供附加操作而创建的XPath/XQuery扩展函数。Altova的XSLT和XQuery引擎可根据本部分中描述的规则计算这些函数。有关常规的XPath/XQuery函数的更多信息,请参见Altova的XPath/XQuery函数参考

 

一般事项

请注意以下几点:

 

在调用W3C规范中定义的主函数库中的函数时,可以不用前缀。这是因为Altova XSLT和XQuery引擎将不带前缀的函数视为属于http://www.w3.org/2005/xpath-functions命名空间,该命名空间是XPath/XQuery函数规范中指定的默认函数命名空间。如果该命名空间是在XSLT或XQuery文档中明确声明的,您可以选择将该命名空间声明中使用的前缀也用于函数名称。

一般来说,如果一个函数需要一个包含一个项的序列作为参数,而提交的是一个包含多个项的序列,则将返回一个错误。

所有的字符串比较都是通过使用Unicode代码点排序规则完成的。

作为QName的结果是以[prefix:]localname的形式进行序列化的。

 

 

xs:decimal的精度

精度是指数字中的位数,规范要求至少有18位。对于生成xs:decimal类型结果的除法运算,精度为小数点后19位,无四舍五入。

 

 

隐式时区

在需要比较两个datetimedateTime的值时,需要知道被比较的值的时区。当在这类值中未给出明确的时区时,会使用隐式时区。隐式时区取自系统时钟,并且可以使用implicit-timezone()函数检查其值。

 

 

排序规则

默认排序规则是Unicode代码点排序规则,它将根据Unicode代码点对字符串进行比较。该引擎使用Unicode排序算法。其他支持的排序规则是下方给出的ICU排序规则;要使用这些规则之一,请提供下表所列的URI。任何字符串的比较,包括maxmin函数,都会根据指定的排序规则进行。如果未指定排序规则,则使用默认的Unicode代码点排序规则。

 

语言

URI

da: 丹麦语

da_DK

de: 德语

de_AT, de_BE, de_CH, de_DE, de_LI, de_LU

en: 英语

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: 西班牙语

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: 法语

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: 意大利语

it_CH, it_IT

ja: 日语

ja_JP

nb: 挪威语(博克马尔语)

nb_NO

nl: 荷兰语

nl_AW, nl_BE, nl_NL

nn: 挪威尼诺斯克语

nn_NO

pt: 葡萄牙语

pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST

ru: 俄语

ru_MD, ru_RU, ru_UA

sv: 瑞典语

sv_FI, sv_SE

 

 

命名空间轴

命名空间轴在XPath 2.0中已弃用。但是,支持使用命名空间轴。要用XPath 2.0机制访问命名空间信息,请使用in-scope-prefixes()namespace-uri()namespace-uri-for-prefix()函数。

 

© 2017-2023 Altova GmbH