标签: xpath-2.0

libxml2是否支持XPath 2.0?

我试图使用XPath 2.0EXP //span/string(.)libxml2,但它不工作.
所以,我的问题是:libxml2支持XPath 2.0与否?

debugging objective-c libxml2 interface-implementation xpath-2.0

9
推荐指数
2
解决办法
3151
查看次数

XSL如果测试开始 - 用

鉴于这篇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)

xslt xpath xpath-2.0

9
推荐指数
1
解决办法
5万
查看次数

xpath中嵌套的条件if else语句

我有这个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真的不是我的强项.

xpath conditional if-statement xpath-2.0

9
推荐指数
1
解决办法
2万
查看次数

7
推荐指数
1
解决办法
1601
查看次数

在xslt中查找2个日期之间的差异

是否有一种不那么简单的方法来找出xslt中两个日期之间的天数差异?如果是这样,你可以指出我正确的方向.我收到格式为mm/dd/yyyy的日期.

xslt xslt-2.0 xpath-2.0

7
推荐指数
3
解决办法
2万
查看次数

XQuery/XPath:使用count()和max()函数返回具有最高计数的元素

我有一个包含作者和编辑器的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以更简单的方式完成吗?

最好的祝福,

珍妮特

xpath xquery xpath-2.0

7
推荐指数
2
解决办法
2万
查看次数

在XPath 2.0中表达集合相等的自动方式

如果$ 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用户.这让我想知道我是否提出了错误的问题.

xslt xslt-2.0 xpath-2.0

7
推荐指数
1
解决办法
226
查看次数

如何在.NET 4.0中使用XPath 2.0方法?

我正在使用.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中完成,如果是这样,你能提供一个关于如何设置它的小例子吗?

谢谢

xslt .net-4.0 xpath-2.0

6
推荐指数
1
解决办法
5037
查看次数

XPath 2.0 实现?

是否有支持 XPath 2.0 的 XML 库?

我专门寻找一个开源、可移植、与 C 兼容的实现,但为了这个问题,我还想了解其他实现。到目前为止,我只听说过 Java/.NET 库SAXON

编辑:仅支持 XPath 1.0 的库(根据其网站):

c xpath xslt-2.0 xpath-2.0

6
推荐指数
1
解决办法
1959
查看次数

安装了哪个版本的 XPath

我使用PowerShell的,我想用小写(),在那样的XPath.Something

//Machines/Machine[lower-case(@FQDN)=lower-case('machine2.mydomain.com')]
Run Code Online (Sandbox Code Playgroud)

文档表明我需要 XPath 2.0,如何检查服务器上安装的 XPath 版本?

powershell xpath-2.0

6
推荐指数
1
解决办法
1951
查看次数