我陷入了一些可能让你认为很简单的事情!
在xml文件中,我有这些节点
<Types>
<Pas type="1" single="Man" plural="Men" />
<Pas type="2" single="Woman" plural="Women" description="this is a test" />
<Pas type="3" single="Child" plural="Children" description="this is another test" />
</Types>
然后在xslt文件中有一个javascript,我正在填充一个变量
Details = {<xsl:for-each select="/Types/Pas">"<xsl:value-of select="@type"/>": {single:"<xsl:value-of select="@single"/>",plural:"<xsl:value-of select="@plural"/>"}
到目前为止一切顺利。在xslt的某个时刻我有这个
(<xsl:value-of select="$Details/@desc" />)*
因为我想在()中用*结尾显示描述。
我得到了这个:
Men()*
Women(this is a test)*
Children(this is another test)*
问题是我不想男人的()*。
有没有办法排除它?
问候!
答案 0 :(得分:2)
你可以像这样添加一个xsl:if语句:
<xsl:if test="@description">
(<xsl:value-of select="$Details/@desc" />)*
</xsl:if>
答案 1 :(得分:1)
您只需要放置这段特殊代码:
(<xsl:value-of select="$Details/@description" />)*
进入条件陈述,例如
<xsl:if test='current()/@description and string-length(current()/@description) > 0'>
(<xsl:value-of select="$Details/@description" />)*
</xsl:if>
请注意,这也会处理空属性。