我试图使用XPath 2.0
EXP //span/string(.)
中libxml2
,但它不工作.
所以,我的问题是:libxml2
支持XPath 2.0
与否?
debugging objective-c libxml2 interface-implementation xpath-2.0
鉴于这篇XML
<dc:date>info:eu-repo/date/embargoEnd/2013-06-12</dc:date>
<dc:date>2012-07-04</dc:date>
Run Code Online (Sandbox Code Playgroud)
我需要使用XSL只输出字符串的年份而不是以 info:eu-repo
.我正在尝试这种方式,但它不起作用.我错了for-each
?
<xsl:if test="not(starts-with('dc:date', 'info:eu-repo'))">
<xsl:for-each select="dc:date">
<publicationYear>
<xsl:variable name="date" select="."/>
<xsl:value-of select="substring($date, 0, 5)"/>
</publicationYear>
</xsl:for-each>
</xsl:if>
Run Code Online (Sandbox Code Playgroud) 我有这个XML:
<property id="1011">
<leasehold>No</leasehold>
<freehold>Yes</freehold>
<propertyTypes>
<propertyType>RESIDENTIAL</propertyType>
</propertyTypes>
</property>
Run Code Online (Sandbox Code Playgroud)
我想创建一个xpath语句,它与下面嵌套的if-else伪代码块相同.
if( propertyTypes/propertyType == 'RESIDENTIAL') {
if( leasehold == 'Yes' ){
return 'Rent'
} else
return 'Buy'
}
} else {
if( leasehold == 'Yes' ){
return 'Leasehold'
} else
return 'Freehold'
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看到了Becker的方法,但我无法真正遵循它.XPath真的不是我的强项.
是否有一种不那么简单的方法来找出xslt中两个日期之间的天数差异?如果是这样,你可以指出我正确的方向.我收到格式为mm/dd/yyyy的日期.
我有一个包含作者和编辑器的XML文件.
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="file:textbook.rnc" type="compact"?>
<books xmlns="books">
<book ISBN="i0321165810" publishername="OReilly">
<title>XPath</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<year>2007</year>
<field>Databases</field>
</book>
<book ISBN="i0321165812" publishername="OReilly">
<title>XQuery</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<editor>
<name>
<fname>Lisa</fname>
<lname>Williams</lname>
</name>
</editor>
<year>2003</year>
<field>Databases</field>
</book>
<publisher publishername="OReilly">
<web-site>www.oreilly.com</web-site>
<address>
<street_address>hill park</street_address>
<zip>90210</zip>
<state>california</state>
</address>
<phone>400400400</phone>
<e-mail>oreilly@oreilly.com</e-mail>
<contact>
<field>Databases</field>
<name>
<fname>Anna</fname>
<lname>Smith</lname>
</name>
</contact>
</publisher>
</books>
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来返回作为作者和/或编辑被列出次数最多的人.解决方案应该是XQuery 1.0(XPath 2.0)兼容.
我正在考虑使用FLWOR查询迭代所有作者和编辑,然后计算唯一的作者/编辑,然后返回匹配最高计数的作者/编辑.但我一直无法找到合适的解决方案.
有没有人对如何写这样的FLWOR查询有任何建议?可以使用XPath以更简单的方式完成吗?
最好的祝福,
珍妮特
如果$ A和$ B是序列,那么测试$ A和$ B的集合平等的首选方法是什么?我知道存在的语义行为($A = $B)
使得这个表达不是答案.排序语义也deep-equal()
禁止我使用它.
我的冲动是使用:
((every $a in $A satisfies $a = $B) and (every $b in $B satisfies $b = $A))
Run Code Online (Sandbox Code Playgroud)
我发现通过谷歌进行集合平等测试的确很少(确切地说,我发现什么都没有),我没有在@ Michael-Kay的第8章,第9章,第10章或第13章中看到它.我很难相信我是第一个遇到这种需求的XPath用户.这让我想知道我是否提出了错误的问题.
我正在使用.NET 4.0,我想使用XPath 2.0方法,如([Matches()] [1],[upper-case()] [2],[lower-case()] [3])试图在文档中查找元素.
示例XPath: "/MyDocument/MyNode[matches(@MyAttribute, 'MyValue', 'i')]"
我尝试过使用:
System.Xml.XPath.XPathNavigator.Compile()
System.Xml.XmlDocument.SelectNodes()
System.Xml.Linq.XDocument.SelectElements()
但我基本上抛出异常"UndefinedXsltContextException"(或类似的东西).这可以在.NET 4.0中完成,如果是这样,你能提供一个关于如何设置它的小例子吗?
谢谢
是否有支持 XPath 2.0 的 XML 库?
我专门寻找一个开源、可移植、与 C 兼容的实现,但为了这个问题,我还想了解其他实现。到目前为止,我只听说过 Java/.NET 库SAXON。
编辑:仅支持 XPath 1.0 的库(根据其网站):
我使用PowerShell的,我想用小写(),在那样的XPath.Something
//Machines/Machine[lower-case(@FQDN)=lower-case('machine2.mydomain.com')]
Run Code Online (Sandbox Code Playgroud)
文档表明我需要 XPath 2.0,如何检查服务器上安装的 XPath 版本?
xpath-2.0 ×10
xpath ×5
xslt ×4
xslt-2.0 ×3
.net ×1
.net-4.0 ×1
c ×1
conditional ×1
debugging ×1
if-statement ×1
libxml2 ×1
objective-c ×1
powershell ×1
xquery ×1