4suite4xslt

讲述如何快速调整思路,使用4suite 完成模板解析任务

-- Zoom.Quiet [2004-08-25 00:18:52]

解决故事

提出需求

040823 整理思路,发现从XSLT角度处理XML为数据源的模板解析,是最省心的方式!

逐一解决

最直接的方式来确定代码

XSLT写作

<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Zoom.Quiet (infopro.cn) --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

</xsl:stylesheet> }}}

4Suite 使用

5,040个文件,160个文件夹 }}} 是个巨型怪兽级别的包!!!!!

初步尝试

   1 from xml.xslt.Processor import Processor
   2 proc1,proc2 = Processor(),Processor()
   3 proc1.appendStylesheetUri('mime.xsl')
   4 result1 = processor.runUri('message.xml')
   5 proc2.appendStylesheetString(open('mime.xsl').read())
   6 result2 = proc2.runString(open('message.xml').read())
   7 print result1,result2

Traceback (most recent call last):

ImportError: No module named xslt.Processor }}}

探寻代码

>>> dir(Ft.Xml.Xslt.Processor) ['BuiltInExtElements', 'DEFAULT_ENCODING', 'Domlette', 'EMPTY_NAMESPACE' , 'Error', 'Exslt', 'InputSource', 'MessageSource', 'Node' , 'OutputHandler', 'Processor', 'RtfWriter', 'STRING_TYPES' , 'StringWriter', 'StripElements', 'StylesheetReader', 'Uri' , 'Util', 'XSLT_IMT', 'XsltContext', 'XsltException', 'builtins' , 'doc', 'file', 'name', 'cStringIO', 'operator' , 'os', 'sys', 'types', 'warnings'] >>> Ft.Xml.Xslt.Processor.doc ' XSLT processing engine

Copyright 2003 Fourthought, Inc. (USA). Detailed license and copyright information: http://4suite.org/COPYRIGHT Project home, documentation, distributions: http://4suite.org/ }}}

"

}}}

解决的关键代码

['doc', 'init', 'module', '_klass' , 'fromStream', 'fromString', 'fromUri', 'resolver'] }}}

调试优化

总结

问题

4suite4xslt (last edited 2009-12-25 07:19:08 by localhost)