你能告诉我如何在xslt中设置锚标签的值吗?我有两个锚标记。我想在那个
中设置值 for abc
我想要href =" http://abc/pqr.com"
for ddd
我想要href =" http://india/pqrfff.com"
我可以使用选择还是其他明智的...或者xslt中有key
value
对吗?我们可以在xslt中创建对象吗?
这是我的代码 http://xsltransform.net/3NSSEvA 的输入
<col>
<s>
<name>abc</name>
</s>
<s>
<name>dddd</name>
</s>
</col>
预期输出
<h3><a href="http://abc/pqr.com">abc</a></h3>
<h3><a href="http://india/pqrfff.com">dddd</a></h3>
答案 0 :(得分:1)
可能的解决方案之一是将“name / url”对保留在外部文件中,例如 Links.xml ,如下所示:
<links>
<link>
<name>abc</name>
<url>http://abc/pqr.com</url>
</link>
<link>
<name>dddd</name>
<url>http://india/pqrfff.com</url>
</link>
</links>
然后在主XSL文件中,您可以加载此文件:
<xsl:variable name="links" select="document('links.xml')"/>
最后一件事是根据每个a
元素中的源数据生成输出col/s
标记。
直接从源name
标记中获取标记的文本部分
并且href
中的$links
属性内容会在<xsl:attribute name="href" select="@links/link[@name=name]/url"/>
中查找:
href
另一个概念
扩展您的XML文件(包括name
标记以及var element = e.target,
bodyRect = document.body.getBoundingClientRect(),
elemRect = element.getBoundingClientRect(),
offsetX = elemRect.left - bodyRect.left + e.offsetX,
offsetY = elemRect.top - bodyRect.top + e.offsetY;
)。那你就不需要任何外部文件了。