+import sys,os
+
import libxml2
-import libxslt
-from sfatables.globals import *
+# allow to run sfa2wsdl if this is missing (for mac)
+try:import libxslt
+except: print >>sys.stderr, "WARNING, could not import libxslt"
+
+from sfatables.globals import sfatables_config
class XMLRule:
def apply_processor(self, type, doc, output_xpath_filter=None):
filepath = os.path.join(sfatables_config, 'processors', processor)
# XXX
- print filepath
styledoc = libxml2.parseFile(filepath)
style = libxslt.parseStylesheetDoc(styledoc)
result = style.applyStylesheet(doc, None)
def add_rule_context_to_rspec(self, doc):
p = doc.xpathNewContext()
- context = p.xpathEval("//rspec")
+ context = p.xpathEval("//RSpec")
if (not context):
raise Exception('Request is not an rspec')
else:
return doc
def apply_interpreted(self, rspec):
- import pdb
- pdb.set_trace()
rspec = self.add_rule_context_to_rspec(rspec)
# Interpreted
#
# else rspec
if (self.match(rspec)):
- return self.wrap_up(self.target(rspec))
+ return (True,self.wrap_up(self.target(rspec)))
else:
- return self.wrap_up(rspec)
+ return (False,self.wrap_up(rspec))
- def apply_compiled(rspec):
+ def apply_compiled(self, rspec):
# Not supported yet
return None
self.processors[type] = processor[0].content
self.arguments[type] = p.xpathEval('//rule//argument[value!=""]')
- import pdb
- pdb.set_trace()
p.xpathFreeContext()