On Wed, 2006-10-18 at 15:07 -0400, Paul Winkler wrote: > On Wed, Oct 18, 2006 at 06:13:38PM +0100, garry saddington wrote: > > Can anyone explain what is happening here. I am using Saxon to transform > > an xml file(source) using a stylesheet(style) the result is then written > > to Postgres. The contents of source are uploaded in Zope and passed to > > the external method as a string. When I run this external method: > > > > import psycopg, string, re, subprocess > > def scholarpack_xml_transform(source): > > f=open('/opt/scholarpack/ancillary/source.xml','w') > > f.write(source) > > I have no idea what's causing your problem, but this raises > red flags for me: if two people upload sources at the same time, > you'll have problems here. There is no chance of this as it is a one-off populate the db exercise.
> If you really really must read/write > files on the filesystem, either use locks or use python's > tempfile module. > > > f.close > > source= '/opt/scholarpack/ancillary/source.xml' > > style='/opt/scholarpack/ancillary/style.xml' > > source1=source.replace(''','`') > > source2=source1.replace('NLPGaddress','BS7666address') > > p=re.compile("\'") > > source3=p.sub( '`' , source2) > > r = > > subprocess.Popen(['/opt/scholarpack/ancillary/jre/bin/java','-jar','./saxon.jar',source3,style], > > stdout = subprocess.PIPE,cwd = '/opt/scholarpack/ancillary/') > > Are you just using saxon for xslt processing? If so, IMO using an > external process for that is severe overkill. Get lxml and try > something like this: > > from lxml import etree > style = etree.XSLT(etree.parse(some_file_object)) > transformed = style.apply(source_data) Thank you I've never heard of this, I'll give it a try. I was using 4suite but it started to misbehave in the way that I wanted to use it. regards Garry > > but again, this doesn't address your immediate problem :) > _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )