本文整理汇总了Python中eulexistdb.query.Xquery.return_only方法的典型用法代码示例。如果您正苦于以下问题:Python Xquery.return_only方法的具体用法?Python Xquery.return_only怎么用?Python Xquery.return_only使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eulexistdb.query.Xquery
的用法示例。
在下文中一共展示了Xquery.return_only方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_set_limits
# 需要导入模块: from eulexistdb.query import Xquery [as 别名]
# 或者: from eulexistdb.query.Xquery import return_only [as 别名]
def test_set_limits(self):
# subsequence with xpath
xq = Xquery(xpath='/el')
xq.xq_var = '$n'
xq.set_limits(low=0, high=4)
self.assertEqual('subsequence(/el, 1, 4)', xq.getQuery())
# subsequence with FLWR query
xq.return_only({'name': 'name'})
self.assert_('subsequence(for $n in' in xq.getQuery())
# additive limits
xq = Xquery(xpath='/el')
xq.set_limits(low=2, high=10)
xq.set_limits(low=1, high=5)
self.assertEqual('subsequence(/el, 4, 4)', xq.getQuery())
# no high specified
xq = Xquery(xpath='/el')
xq.set_limits(low=10)
self.assertEqual('subsequence(/el, 11, )', xq.getQuery())
# no low
xq = Xquery(xpath='/el')
xq.set_limits(high=15)
self.assertEqual('subsequence(/el, 1, 15)', xq.getQuery())
示例2: test_namespaces
# 需要导入模块: from eulexistdb.query import Xquery [as 别名]
# 或者: from eulexistdb.query.Xquery import return_only [as 别名]
def test_namespaces(self):
xq = Xquery(xpath='/foo:el', namespaces={'foo': 'urn:foo#'})
ns_declaration = '''declare namespace foo='urn:foo#';'''
# xpath-only xquery should have namespace declaration
self.assert_(ns_declaration in xq.getQuery())
# full FLOWR xquery should also have declaration
xq.return_only({'id': '@id'})
self.assert_(ns_declaration in xq.getQuery())
示例3: test_return_only
# 需要导入模块: from eulexistdb.query import Xquery [as 别名]
# 或者: from eulexistdb.query.Xquery import return_only [as 别名]
def test_return_only(self):
xq = Xquery(xpath='/el')
xq.xq_var = '$n'
xq.return_only({'myid': '@id', 'some_name': 'name',
'first_letter': 'substring(@n,1,1)'})
xq_return = xq._constructReturn()
self.assert_('return <el>' in xq_return)
self.assert_('<field>{$n/@id}</field>' in xq_return)
self.assert_('<field>{$n/name}</field>' in xq_return)
self.assert_('<field>{substring($n/@n,1,1)}</field>' in xq_return)
self.assert_('</el>' in xq_return)
xq = Xquery(xpath='/some/el/notroot')
xq.return_only({'id': '@id'})
self.assert_('return <notroot>' in xq._constructReturn())
# case where node test can't be the return element
xq = Xquery(xpath='/foo/bar/node()')
xq.return_only({'myid': '@id'})
xq_return = xq._constructReturn()
self.assert_('return <node>' in xq_return)
xq = Xquery(xpath='/foo/bar/*')
xq.return_only({'myid': '@id'})
xq_return = xq._constructReturn()
self.assert_('return <node>' in xq_return)
示例4: test_return_only__fulltext_score
# 需要导入模块: from eulexistdb.query import Xquery [as 别名]
# 或者: from eulexistdb.query.Xquery import return_only [as 别名]
def test_return_only__fulltext_score(self):
xq = Xquery(xpath='/el')
xq.xq_var = '$n'
xq.return_only({'fulltext_score': ''})
self.assert_('let $fulltext_score := ft:score($n)' in xq.getQuery())
self.assert_('<fulltext_score>{$fulltext_score}</fulltext_score>' in xq._constructReturn())