예제 #1
0
 def test_returns_none_if_execute_fails(t):
     t.assertEqual(
         sxq.execute("<user>"),
         None)
     t.assertEqual(
         sxq.execute("<user>{string(/name)}</user>", "<name>Taro<name>"),
         None)
     pass
예제 #2
0
 def test_with_xquery_conext_resolver(t):
     t.assertEqual(
         sxq.execute('<body>{doc(/root/@href)/name}</body>',
                     "<root href='/bar.xml'/>",
                     lambda uri: "<name>%s</name>" % uri),
         "<body><name>/bar.xml</name></body>")
     pass
예제 #3
0
 def test_with_xquery_conext_resolver(t):
     t.assertEqual(
         sxq.execute('<body>{doc(/root/@href)/name}</body>',
                     "<root href='/bar.xml'/>",
                     lambda uri: "<name>%s</name>" % uri),
         "<body><name>/bar.xml</name></body>")
     pass
예제 #4
0
import traceback
import simplexquery as sxq

def prompt(title):
    print("\n" + title)
    pass


prompt("['execute' xquery code]")
print(sxq.execute("""<user>{"Taro"}</user>"""))


prompt("['execute' xquery code with context xml]")
print(sxq.execute("<html><body>{string(/author/name)}</body></html>",
                  "<author><name>Taro</name></author>"))


prompt("['execute' xquery code with uri -> xml resolver callback]")
print(sxq.execute('<body>{doc(/root/@href)/name}</body>', 
                  "<root href='/bar.xml'/>", 
                  lambda uri: "<name>%s</name>" % uri))

class Resolver(object):
    def __call__(self, uri):
        print(uri)
        return "<name>Jiro</name>"
    pass
print(sxq.execute('doc("foo.xml")/name', resolver=Resolver()))


prompt("['execute' returns None if fails by anyway]")
예제 #5
0
 def test_with_xquery(t):
     t.assertEqual(sxq.execute("""<user>{"Taro"}</user>"""),
                   "<user>Taro</user>")
     pass
예제 #6
0
 def test_returns_none_if_execute_fails(t):
     t.assertEqual(sxq.execute("<user>"), None)
     t.assertEqual(
         sxq.execute("<user>{string(/name)}</user>", "<name>Taro<name>"),
         None)
     pass
예제 #7
0
 def test_with_xquery_resolver(t):
     t.assertEqual(
         sxq.execute('doc("foo.xml")/name', resolver=t.ResolverClass()),
         "<name>Jiro</name>")
     pass
예제 #8
0
 def test_with_xquery_context(t):
     t.assertEqual(
         sxq.execute("<html><body>{string(/author/name)}</body></html>",
                     "<author><name>Taro</name></author>"),
         "<html><body>Taro</body></html>")
     pass
# -*- coding: utf-8 -*-
import simplexquery as sxq


tpl = """
<html>
<body>
<h1>
{ string(/author/name) }
</h1>
</body>
</html>
"""
xml = """
<author>
  <name>\u592a\u90ce</name>
</author>
"""
print(sxq.execute(tpl, xml))

print(sxq.execute("""<user>{"\u592a\u90ce"}</user>"""))
예제 #10
0
# -*- coding: utf-8 -*-
import simplexquery as sxq


tpl = u"""
<html>
<body>
<h1>
{ string(/author/name) }
</h1>
</body>
</html>
"""
xml = u"""
<author>
  <name>\u592a\u90ce</name>
</author>
"""
print(sxq.execute(tpl, xml))

print(sxq.execute(u"""<user>{"\u592a\u90ce"}</user>"""))
예제 #11
0
 def test_with_xquery(t):
     t.assertEqual(
         sxq.execute("""<user>{"Taro"}</user>"""),
         "<user>Taro</user>")
     pass
예제 #12
0
 def test_with_xquery_resolver(t):
     t.assertEqual(
         sxq.execute('doc("foo.xml")/name', resolver=t.ResolverClass()),
         "<name>Jiro</name>")
     pass
예제 #13
0
 def test_with_xquery_context(t):
     t.assertEqual(
         sxq.execute("<html><body>{string(/author/name)}</body></html>",
                     "<author><name>Taro</name></author>"),
         "<html><body>Taro</body></html>")
     pass