如何在xsl中提供检查文档?

时间:2012-02-09 14:25:29

标签: xslt

我如何检查xsl中的select="document('02.xml')/*/Person"/select="document('04.xml')/*/Person"/。当xsl正在运行时

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/xmlResponse">
        <xsl:copy>
            <xsl:apply-templates select="document('02.xml')/*/Person"/>
            <xsl:apply-templates select="document('04.xml')/*/Person"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

依赖于XSLT处理器。

首先检查解析器

<xsl:variable name="vendor" select="system-property('xsl:vendor')" />

然后做出选择。

Microsoft 使用嵌入式javascript自定义函数(http://dev.ektron.com/kb_article.aspx?id=482),使用FileSystemObject并返回1或0,然后可以在XSLT中进行测试。

<强>撒克逊,Xalan的:

<xsl:variable name="d03" select="document('03.xml')"/>
<xsl:choose>
<xsl:when test="$d03">
        <xsl:apply-templates select="document('03.xml')/*/Person"/>
</xsl:when>
<xsl:otherwise>
        <Person name="Matthew" missing="true"/>
</xsl:otherwise></xsl:choose>