When the source is an XML file, it's open and locked during pipeline processing. So you cannot write to it in the same pipeline (it's like reading from a text file one line at a time and trying to write that line back at the same time).

It worked for me if I put the source file inside an aggregate (I actually needed it there). If you do not want to use aggregate, you can try using cocoon: protocol, but I am not sure if it will work.
Basically the idea is to isolate the source in a separate "request".

Igor

Reinhard Haller wrote:
Hi,

I've set up a pipeline to sanitize a bunch of xml files.

The following matcher reads an xml file and stores the
changed file with the source writing transformer in the same
place.

<map:match pattern="**/*.*-transform">
   <map:generate src="{1}/{2}.xml" />
   <map:transform src="xslt/update/{3}.xslt" />
   <map:transform src="xslt/rssstore.xslt" >
      <map:parameter name="path" value="news" />
   </map:transform>
   <map:transform type="write-source-utf-8" >
      <map:parameter name="serializer" value="xml-utf-8"/>
   </map:transform>
   <map:serialize type="xml-utf-8" />                   
</map:match>

Doing so, the pipeline stops with the exception:

"Could not process your document."

Storing the file to another place works. Is there a way to solve
the problem?

Thanks
Reinhard


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to