如何将xslt模板应用于字符串?

 梦之舞的微薄极_922 发布于 2023-02-13 13:57

给定一个用于在值周围构建一些html的模板,我想传入一个字符串,而不是一个节点集.作为一个例子,我想连接一些值并将其传递给模板.我怎么能做到这一点呢?


    
        
    

...


ErrorMsg:xml或样式表文件无效!

异常:System.Xml.Xsl.XsltException:表达式必须求值为节点集.

1 个回答
  • 如果目标是重复使用代码,要在多个位置使用模板,那么您可以做的是为模板命名(除了模板匹配),并为其提供默认参数

    <xsl:template match="text()" name="kvp-print-single" mode="kvp-print-single">
        <xsl:param name="text" select="." />
        <tr>
            <td colspan="3"><xsl:value-of select="$text"/></td>
        </tr>
    </xsl:template>
    

    然后使用xsl:call-template以连接字符串作为参数调用它

    <xsl:call-template name="kvp-print-single">
       <xsl:with-param name="text" select="concat(haba/hiba:text(), ' - ', huba/baba:text())" />
    </xsl:call-template>
    

    注意,当使用xsl:apply-templates匹配时,模板仍将以正常方式匹配"text()"节点.

    2023-02-13 13:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有