这是我的xml文件:
<products>
<product xsi:type="Styles" locale="en_US">
<pageid>abcdef</pageid>
<totalStyles>4</totalStyles>
</product>
<product xsi:type="Styles" locale="en_CA">
<pageid>abcdef</pageid>
<totalStyles>2</totalStyles>
</product>
</products>
XSL 代码:
<xsl:template match="products/product">
<xsl:value-of select="pageid" />
</xsl:template>
如 xml 文件中所列,我有两个具有相同 pageid 但具有不同"区域设置"值的"产品"标签。我想过滤"区域设置"并检索仅对应于 locale=en_US 的"总样式"标签值。有人可以建议我如何修改我的模板匹配以过滤区域设置值。
以下代码在 xsi:type 不退出时有效。但是,这种方法在我有 xsi:type 组件以及语言环境的情况下失败了。
<xsl:template match="products/product[@locale='en_US']">
<xsl:value-of select="totalStyles"/>
</xsl:template>
提前谢谢。
对不起,如果我没有正确形成问题。
<xsl:template match="products/product[@locale='en_US']">
<xsl:value-of select="totalStyles"/>
</xsl:template>
我使用以下逻辑来过滤属性值:
<xsl:template match="products/product">
<xsl:if test="@locale='en_US'">
"Process Record"
</xsl:if>