Nokogiri(Ruby)和XPath

JP.*_*JP. 7 xslt xpath nokogiri

Nokogiri只支持XPath 1.0吗?我正在尝试在值的单元格中进行简单的字符串替换,就像这样(其中element包含类似'*我的字符串(无用的文本)')

<xsl:value-of select="replace(element,'^\*\ (.+)\ \(.*\)$','\\1')">
Run Code Online (Sandbox Code Playgroud)

这是不是很差的XSL?或者Nokogiri有限制吗?

Dim*_*hev 7

replace()函数仅在XPath 2.0中定义(XPath 2.x仅受XSLT 2.x支持,而不是XSLT 1.0)

Nokogiri使用libxml2,它只支持XPath 1.0/XSLT1.0

  • @marvin,对于libxml来说仍然是一样的.但是,现在有Saxon/C,它是Saxon(XPath 2/XSLT 2,翻译成C).如果Nokogiri开发人员选择使用Saxon/C,这将为XPath 2提供支持,并且将来可能会为XPath 3提供支持.有关更多信息,请阅读:http://www.saxonica.com/撒克逊-C/INDEX.XML (2认同)