当前位置: 首页>>代码示例>>Python>>正文


Python Xquery.prep_xpath方法代码示例

本文整理汇总了Python中eulexistdb.query.Xquery.prep_xpath方法的典型用法代码示例。如果您正苦于以下问题:Python Xquery.prep_xpath方法的具体用法?Python Xquery.prep_xpath怎么用?Python Xquery.prep_xpath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在eulexistdb.query.Xquery的用法示例。


在下文中一共展示了Xquery.prep_xpath方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_prep_xpath

# 需要导入模块: from eulexistdb.query import Xquery [as 别名]
# 或者: from eulexistdb.query.Xquery import prep_xpath [as 别名]
    def test_prep_xpath(self):
        xq = Xquery()
        xq.xq_var = '$n'
        # handle attributes
        self.assertEqual('<field>{$n/@id}</field>', xq.prep_xpath('@id', return_field=True))
        self.assertEqual('<field>{$n/../@id}</field>', xq.prep_xpath('../@id', return_field=True))
        self.assertEqual('<field>{$n/parent::root/@id}</field>', xq.prep_xpath('parent::root/@id', return_field=True))
        # handle regular nodes
        self.assertEqual('<field>{$n/title}</field>', xq.prep_xpath('title', return_field=True))
        # function call - regular node
        self.assertEqual('substring($n/title,1,1)', xq.prep_xpath('substring(title,1,1)'))
        # function call - abbreviated step
        self.assertEqual('substring($n/.,1,1)', xq.prep_xpath('substring(.,1,1)'))

        # xpath with OR - absolute paths
        self.assertEqual('<field>{$n/name|$n/title}</field>', xq.prep_xpath('/name|/title', return_field=True))
        # xpath with OR - relative paths
        self.assertEqual('<field>{$n/name|$n/title}</field>', xq.prep_xpath('name|title', return_field=True))
        # xpath with OR - mixed absolute and relative paths
        self.assertEqual('<field>{$n/name|$n/title}</field>', xq.prep_xpath('/name|title', return_field=True))
        # multiple ORs
        self.assertEqual('<field>{$n/name|$n/title|$n/@year}</field>',
                         xq.prep_xpath('/name|/title|@year', return_field=True))

        # .//node inside a function call
        self.assertEqual('<field>{normalize-space($n/.//name)}</field>',
                xq.prep_xpath('normalize-space($n/.//name)', return_field=True))

        # node|node inside a function call
        self.assertEqual('fn:lower-case($n/name|$n/title)',
                xq.prep_xpath('fn:lower-case(name|title)'))
开发者ID:codekansas,项目名称:eulexistdb,代码行数:33,代码来源:test_query.py


注:本文中的eulexistdb.query.Xquery.prep_xpath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。