Как проверить документ доступен в xsl? - PullRequest
0 голосов
/ 09 февраля 2012

Как я могу проверить select="document('02.xml')/*/Person"/ и select="document('04.xml')/*/Person"/ доступно в xsl.когда 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 голосов
/ 10 февраля 2012

Зависит от 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.

Saxon, 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...