1
2 from configParser import C3Object
3 from baseObjects import Transformer
4 import os.path, time, utils, types
5 from document import StringDocument
6 from c3errors import ConfigFileException
7
8 from Ft.Xml.Xslt.Processor import Processor
9 from Ft.Xml import InputSource
10 from Ft.Xml.Domlette import ConvertDocument
11 from PyZ3950 import z3950, grs1
12 from PyZ3950.zmarc import MARC
13
14 from utils import verifyXPaths, saxToString
15 from utils import nonTextToken
16 from utils import elementType, flattenTexts, verifyXPaths
17
18
25
26
31
32
33
34
35 try:
36 from lxml import etree
37 class LxmlXsltTransformer(Transformer):
38 """ XSLT transformer using Lxml implementation. Requires LxmlRecord """
39 def __init__(self, session, config, parent):
40 Transformer.__init__(self, session, config, parent)
41 xfrPath = self.get_path(session, "xsltPath")
42 dfp = self.get_path(session, "defaultPath")
43 path = os.path.join(dfp, xfrPath)
44 et = etree.parse(path)
45 self.txr = etree.XSLT(et)