我正在尝试读取具有一系列子节点的 xml 文件。基于其中一个子节点(在一组内)的值,我希望该特定输出加粗。
这是xml示例:
<documentationOf>
<event>
<effectiveTime>
<low value="9/4/2013" />
</effectiveTime>
</event>
</documentationOf>
<entry>
<substanceAdministration>
<text>
<reference value="">
</reference>
</text>
<effectiveTime>
<low value="5/13/2013 12:00:00 AM" />
<high value="UNK" />
</effectiveTime>
<consumable>
<manufacturedProduct>
<manufactueredMaterial>
<code code="" displayName="Product 1">
</code>
</manufacturedMaterial>
</manufacturedProduct>
</consumable>
</substanceAdministration>
</entry>
<entry>
<substanceAdministration>
<text>
<reference value="">
</reference>
</text>
<effectiveTime>
<low value="9/4/2013 12:00:00 AM" />
<high value="UNK" />
</effectiveTime>
<consumable>
<manufacturedProduct>
<manufactueredMaterial>
<code code="" displayName="Product 2">
</code>
</manufacturedMaterial>
</manufacturedProduct>
</consumable>
</substanceAdministration>
</entry>
<entry>
<substanceAdministration>
<text>
<reference value="">
</reference>
</text>
<effectiveTime>
<low value="5/13/2013 12:00:00 AM" />
<high value="UNK" />
</effectiveTime>
<consumable>
<manufacturedProduct>
<manufactueredMaterial>
<code code="" displayName="Product 3">
</code>
</manufacturedMaterial>
</manufacturedProduct>
</consumable>
</substanceAdministration>
</entry>
我希望代码/@displayName 出现(我可以做一个 for-each 并让它工作)但是如果 effectiveTime/low/@value 是今天的日期(在 documentationOf/event/effectivetime/low/@值),那么我希望它以粗体显示:
Product 1
<b>Product 2</b>
Product 3
这是为此截取的 XSL:
<xsl:for-each select="entry">
<xsl:value-of select="substanceAdministration/consumable/manufacturedProduct/manufacturedMaterial/code/@displayName" />
<br />
</xsl:for-each>
我意识到我可能应该用它自己的模板来做这件事,但我没有写 xsl msyelf 并且为了时间的利益,我正在使用那里的东西。然而,我正在尝试与模板并行重做它(正确的方式),但仍然需要知道检查有效时间/低/@值以使输出中的条目粗体的最佳方法。
提前感谢您的帮助。