X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfatables%2Fxmlextension.py;h=4fc1ab5867629de98d4d338a8c18970e8a8ecaf4;hb=7c7b4138dc8c6183f68e78e64eb616a1fdbafcbc;hp=84e336fa1813f47816c0bb4299c0522ec5804336;hpb=b46f8ee1c69124fb2f99384ebb59c1f09fc459db;p=sfa.git diff --git a/sfatables/xmlextension.py b/sfatables/xmlextension.py index 84e336fa..4fc1ab58 100644 --- a/sfatables/xmlextension.py +++ b/sfatables/xmlextension.py @@ -8,13 +8,14 @@ import libxml2 from sfatables.globals import * class Xmlextension: - context = "" - processor = "" - operand = "VALUE" - arguments = [] - - def __init__(self, component_name): - filename = match_dir+"/"+component_name+".xml" + def __init__(self, dir, component_name): + self.context = "" + self.processor = "" + self.operand = "VALUE" + self.arguments = [] + self.terminal = 0 + + filename = dir+"/"+component_name+".xml" self.xmldoc = libxml2.parseFile(filename) # TODO: Check xmldoc against a schema @@ -34,6 +35,9 @@ class Xmlextension: help = p.xpathEval('//rule/argument/help') target = p.xpathEval('//rule/argument/operand') + context = p.xpathEval('//attributes/attribute[@terminal="yes"]') + self.terminal = (context != []) + self.arguments = map(lambda (name,help,target):{'name':name.content,'help':help.content,'target':target.content}, zip(name,help,target)) p.xpathFreeContext()