我有一个复杂的xml文件,需要从命令行中使用参数从中选择一些节点。
转换应显示从时间x到时间y的所有服务
这里我们使用我的xsl文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="Time_from"/>
<xsl:param name="Time_to"/>
<xsl:template match="/Services/Service[(@time mod 1000000) < number($Time_from)
and (@time mod 1000000) > number($Time_to)
]">
<xsl:copy-of select="current()" />
<xsl:template match="/">
<SelectedServices>
<xsl:apply-templates />
</SelectedServices>
</xsl:template>
</xsl:stylesheet>
时间是字符串格式YYYYMMDDHHmmss,这就是我使用mod查找正确节点的原因。
但是当我进行转换时,没有选择任何内容,如果我将$ time_from $ time_to变量替换为我找到节点的值。
有人可以帮助我吗?
XML文件看起来像
<Services>
<Service time="20140410060000">Service Value 1</Service>
<Service time="20140410071300">Service Value 2</Service>
</Services>