我是xslt编程新手。我想帮助得到一段代码为我的要求,
我有一个xml文件,比如 <Tags>
<tag>
<value>abc</value>
</tag>
<tag>
<value>def</value>
</Tags>
值标签内的文本是某些标签的值,这些标签将出现在传入的xml请求中。
现在,我需要一个xslt代码,它将通过查看我提供的示例xml中存在的标记列表来搜索传入的xml是否有任何标记。如果标签存在,那么我希望将该标签的值保存在一个变量中。
谢谢
我制作了一个有效的XML片段并存储在这里:http://stamm-wilbrandt.de/en/forum/Tags.xml
下面的样式表利用了XPath在字符串值(当前节点的"name()")和节点集(Tags.xml中的所有
$ coproc2 Tags.xsl <(echo '<d><abc/></d>') http://dp1-l3.boeblingen.de.ibm.com:2223
abc
$
$ cat Tags.xsl
<!DOCTYPE xsl:stylesheet [
<!ENTITY url "http://stamm-wilbrandt.de/en/forum/Tags.xml">
<!ENTITY LF "<xsl:text> </xsl:text>">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output omit-xml-declaration="yes" />
<xsl:variable name="tags" select="document('&url;')" />
<xsl:template match="/">
<xsl:for-each select="//*[name()=$tags/Tags/tag/value]">
<xsl:value-of select="name()" />&LF;
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
$