gpt4 book ai didi

xslt - 如何将xslt版本2.0转换为版本1.0

转载 作者:行者123 更新时间:2023-12-03 15:36:08 25 4
gpt4 key购买 nike

我正在使用使用xpath版本2函数的xslt文档。我只有具有xslt 1.0处理器的xalan 2.6 jar,它的约束我无法更改。.如果有任何工具可以将xpath 2.0函数转换为1.0

<xsl:variable name="var1_ClinicalDocument" as="node()?" select="ns0:ClinicalDocument"/>
<DSMessage>
<DSPatient>
<xsl:for-each

select="$var1_ClinicalDocument[fn:exists(ns0:id/@root)]">
<Source>
<xsl:sequence select="fn:string(ns0:id/@root)"/>
</Source>
</xsl:for-each>
<Demographics>
<xsl:for-each select="($var1_ClinicalDocument/ns0:recordTarget/ns0:patientRole/ns0:id)[fn:exists(@extension)]">
<externalID>
<xsl:sequence select="fn:string(@extension)"/>
</externalID>
</xsl:for-each>
<xsl:for-each select="($var1_ClinicalDocument/ns0:recordTarget/ns0:patientRole/ns0:patient/ns0:name/ns0:given/node())[fn:boolean(self::text())]">
<firstName>
<xsl:sequence select="fn:string(.)"/>
</firstName>

最佳答案

这是有问题的XPath 2.0函数的映射:

XPath 2.0 XPath 1.0 Xalan-Java XSLT-C
fn:exists()字符串长度(concat(。,))XPath 1.0 XPath 1.0
fn:string()string()XPath 1.0 XPath 1.0
fn:boolean()boolean()XPath 1.0 XPath 1.0


EXSLT,XSLTSL,FXSL和XPath算法可以填充大多数剩余功能。

XPath 2.0 FXSL XSLTSL EXSLT XPath 1.0
fn:max最大数学:max
fn:max dyn:max
fn:min最小数学:min
fn:min dyn:min
fn:总和数学:总和
fn:sum dyn:sum
fn:avg总和div计数
fn:地板
fn:天花板上限
fn:圆
fn:abs数学:abs
fn:收藏夹
op:concatenate append
fn:doc文件
fn:计数
fn:不是
fn:true是
fn:false否
fn:布尔布尔
fn:upper-case str:to-upper
fn:小写字母str:到小字母
fn:substring子字符串
fn:字符串长度字符串长度
fn:规格化空间规格化空间
fn:translate翻译
fn:concat str:concat concat
fn:子串之前子串之前
fn:子串之后子串之后
fn:reverse str:backward
fn:insert-be之前str:insert-at
fn:matches str:string-match
fn:tokenize str:tokenize
fn:resolve-uri uri:resolve-uri
fn:distinct-values设置:distinct
op:union |
op:相交set:相交
op:cmp:diff除外set:difference
op:是相同节点的cmp:cmp
fn:position节点:xpath位置
fn:倒数第二个
fn:数据节点:类型
fn:lang lang
fn:current-dateTime日期:date-time
fn:dateTime dt:format-date-time date:format-date
fn:从年开始的日期dt:从xsd开始的日期时间年日期:年中的日
fn:从日期开始的时间dt:获取xsd日期时间的月份:日期名称
fn:day-from-dateTime dt:get-xsd-datetime-day date:day-name
fn:小时从日期时间dt:获取xsd日期时间小时日期:小时
fn:分钟从日期时间dt:获取xsd日期时间-分钟日期:分钟
fn:从日期开始的秒数dt:从xsd日期开始的第二时间:分钟
fn:timezone-from-dateTime dt:get-xsd-datetime-timezone
如果(...)然后(...)else(...)$ dynamic [$ var] | $ default [not($ var)]


参考资料


Xalan-Java Extensions Library
XSLTC Extensions Library
FXSL
XSieve
XSLTSL
Common XSLT Utilities
Web XSLT: XSLT and JavaScript code intended mostly for manipulating MathML and OpenMath.
XSLT Stylesheets for MathML
XPath Wikibook
XQuery 1.0 and XPath 2.0 Functions and Operators (SecondEdition)
XQuery 1.0 and XPath 2.0 Formal Semantics (Second Edition)
XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition)

关于xslt - 如何将xslt版本2.0转换为版本1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16674494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com