XSLT文档功能的问题

如果一个人使用文档的功能和开放的文件可能不存在如

<xsl:variable name="input" select="document($A)/document/input"/>

什么是处理错误的优雅的方式? 我想为变量的默认值,如果无法打开该文件。

--------------解决方案-------------

我相信你可以写你<xsl:variable>像这样:

<xsl:variable name="input">
<xsl:choose>
<xsl:when test="document($A)/document/testElementCondition = 'foo'">
<xsl:value-of select="document($A)/document/input" />
</xsl:when>
<xsl:otherwise>
<!-- add some default source document and logic that will then direct to an error message. -->
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

实在是太糟糕了,你经常会导致到黑客把事情的XSL完成。

没有得体的处理中的错误一般方式document()函数

按照XSLT 1.0规范

如果有一个错误检索资源,那么XSLT处理器可能会发出错误信号;如果不发出错误信号,它必须返回一个空节点集恢复。”

这意味着我们在实现者的功能(不错,我们可以测试空(不存在)的节点集)或“发出错误信号”,它通常可以结束一个空的节点集是否产生了怜悯改造。

在情况下,我们已经检查了一个特定的实现特定的XSLT处理器只产生一个空节点集并没有结束的转变,我们可以决定测试这种情况和“优雅”收回。 然而,我们的应用程序变得不可移植的,它依赖于这个特定的XSLT处理器也绝对不能保证在下一版本中这种行为是不会改变的糟糕之一。 有风险的,不是吗?

因此,这是最好的,不管是谁启动转换(如从C#程序),应检查文件是否存在 ,并通过适当的参数的转变,反映了这一存在。

怎么样使用DOC-available()函数XPath 2.0中可用? :http://www.w3.org/TR/xpath-functions/#func-doc-available

曼妙的方法是检查文件是否存在,你喂参数样式表之前。

分类:XSLT 时间:2015-03-15 人气:0
本文关键词: XSLT
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.691 (s). 10 q(s)