如何在xslt中调用另一个模板中的模板?

我有一个这样的 .xml 数据:

<Check>
    <NotfoundUser>
        <User>
            <Forename>Jenny</Forename>
            <Surname>Hollands</Surname>
            <Birthday>30.01.1985</Birthday>
            <Status>Employee</Status>
            <City>Los Angeles</City>
        </User>
        <User>
            <Forename>Michael</Forename>
            <Surname>Williams</Surname>
            <Birthday>30.12.1965</Birthday>
            <Status>Retired</Status>
            <City>New York</City>
        </User>
    </NotfoundUser>
</Check>

我正在尝试编写 .xsl 数据来制作表格。

<div class='div4'>
    <table class='table4' style='font-size:12pt'>
        <tr>
            <th>Name</th>
            <th>Birthday</th>
            <th>Notice</th>
        </tr>
        <xsl:for-each select="/Check/NotfoundUser/*">
        <tr>
            <td><xsl:value-of select="./Forename"/> <xsl:text> </xsl:text> <xsl:value-of select="Surname"/></td>
            <td><xsl:value-of select="./Birthday"/></td>
            <td>
                <xsl:call-template name="replacecity">
                <xsl:with-param name="value" select="./City"/>
                </xsl:call-template>
            </td>
        </tr>
        </xsl:for-each>
    </table>
</div>

<!-- template to replace -->
<xsl:template name="replacecity">
    <xsl:param name="value"/>
        <xsl:choose>
            <xsl:when test="$value = 'New York'">
                <xsl:text>Live in New York</xsl:text>
            </xsl:when>
            <xsl:when test="$value = 'Los Angeles'">
                <xsl:text>Live in Los Angeles</xsl:text>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$value"/>
            </xsl:otherwise>
        </xsl:choose>
</xsl:template>

我需要像这样在城市上方创建一个上标。

If Status = Retired -> superscript is 1
If Status = Employee -> superscript is 2

所以我想创建一个新模板(例如称为replacestatus)并集成到 template 中replacecity,但我不知道如何。你们能帮我解决这个问题,或者你有更好的主意吗?在此处输入图片说明

michael.hor257k

我不明白为什么您需要在此处调用任何其他模板。为什么你不能简单地做:

XSLT 1.0

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

<xsl:template match="/Check">
    <table border="1">
        <tr>
            <th>Name</th>
            <th>Birthday</th>
            <th>Notice</th>
        </tr>
        <xsl:for-each select="NotfoundUser/User">
            <tr>
                <td>
                    <xsl:value-of select="Forename"/>
                    <xsl:text> </xsl:text> 
                    <xsl:value-of select="Surname"/>
                </td>
                <td>
                    <xsl:value-of select="Birthday"/>
                </td>
                <td>
                    <xsl:text>Lives in </xsl:text>
                    <xsl:value-of select="City"/>
                    <sup>
                        <xsl:choose>
                            <xsl:when test="Status='Retired'">1</xsl:when>
                            <xsl:when test="Status='Employee'">2</xsl:when>
                        </xsl:choose>
                    </sup> 
                </td>
            </tr>
        </xsl:for-each>
    </table> 
</xsl:template>

</xsl:stylesheet>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们如何在Meteor中从模板的事件代码中调用另一个模板的事件代码?

如何扩展模板调用jinja2中的另一个模板?

如何使用xslt从一个模板到另一个模板调用变量值

另一个类的模板成员函数中的模板类中的调用方法

在 Django 中,如何从另一个模板引用一个模板?

如何使用 pandoc 在另一个模板中包含一个模板?

如何调用也在AWS SAM模板中定义的另一个lambda函数?

访问另一个模板中的模板参数

从C ++中的另一个模板方法调用模板方法?

将一个模板的结果作为参数传递给 xslt 中的另一个模板

如何在Spring Boot Thymeleaf模板引擎中链接另一个html页面?

如何在另一个类模板中定义完全专业的类的构造函数

如何在Django 2中将模板标签从一个模板传递到另一个模板

如何在基于另一个样式的样式的属性模板中更改控件模板的属性

如何在C ++中的另一个模板函数中使用属于模板化类的嵌套类型?

如何使用另一个模板上的html更改流星中的模板主体?

将模板化函数调用包装在另一个函数调用中

模板调用进入另一个模板

如何在另一个角度模板中包含一个角度模板,以便引导程序类仍然起作用?

如何在一个模板中使用ng-repeat从另一个模板中获取过滤器查询?

如何在同一模板中传递另一个模型的列表视图和另一个模型的详细视图

当我在另一个模板中包含一个模板时,如何传递源文件的路径?

如何在ARM模板中检索Application Insight(位于另一个资源组中)的检测密钥?

在循环中调用 Blazor 模板函数,包装在另一个 HTML 元素中?

在模板化的Rcpp函数中调用另一个cpp函数

在正则表达式中调用另一个模板

django将一个模板包含到另一个模板中

在 ARM 模板中添加另一个资源

另一个变量中的模板变量 - Grafana