【发布时间】:2009-05-21 08:33:15
【问题描述】:
我正在使用 xpath 1.0 在 xslt 中编写模板,并且需要从当前页面的 url 访问锚标记。比如网址:
http://localhost/destinations/london.aspx#accommodation
我需要能够获得#accommodation 并将其分配给一个变量。我意识到我在使用 xpath 1.0 时受到了一些限制 - 有没有人有这样做的经验?
谢谢,亚当
【问题讨论】:
我正在使用 xpath 1.0 在 xslt 中编写模板,并且需要从当前页面的 url 访问锚标记。比如网址:
http://localhost/destinations/london.aspx#accommodation
我需要能够获得#accommodation 并将其分配给一个变量。我意识到我在使用 xpath 1.0 时受到了一些限制 - 有没有人有这样做的经验?
谢谢,亚当
【问题讨论】:
为什么这是一个 xpath 问题? URL 不是 XML 文档,因此 xpath 不适用。
XSLT 完全不知道页面位置等任何状态。猜测一下您要做什么,您可能最好从调用 XSLT 的层中的字符串操作或框架中获取#accomodation,并将值作为参数传递。
OTOH 也许这很荒谬,您的问题需要澄清一下。
【讨论】:
正如@Annakata 所说,这不是 XPath 问题。这似乎也不是 XSLT 问题,尽管我可能弄错了。如果和XSLT字符串解析有关,那么你需要的是this question谈之类的东西。
您可能需要的是 Javascript 来获取当前 URL (document.location),然后对其执行 Javascript 字符串解析。
【讨论】:
在标准 XSLT 中无法访问文档的 URL:http://www.dpawson.co.uk/xsl/sect2/nono.html#d1974e804
一些供应商可能会通过自定义属性提供此信息,但您将依赖于 XSLT 处理器。
如果您已设法以某种方式将 URL 导入 XSLT,那么我建议您必须借助简单的字符串操作来获取锚点。
【讨论】: