
It seems oXygen caches the XML from calls to doc() between runs? If you run a transform with doc('foo.xml') and then delete foo.xml, you can still run the transform! The doc() call works without causing an error... It's just taken me a while to figure out why a transform run from inside oXygen produced different result from the same transform run outside of oXygen - it was because a referenced doc() had been updated while oXygen was open and oXygen wasn't fetching it each time. Shouldn't oXygen's caching resolvers (if that's where the problem lies) only cache per transform run? -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/

Sounds like oXygen is reusing the Transformer rather than creating one for each transform from a Templates object. best, -Rob On Thu, 2008-03-27 at 17:03 +0000, Andrew Welch wrote:
It seems oXygen caches the XML from calls to doc() between runs?
If you run a transform with
doc('foo.xml')
and then delete foo.xml, you can still run the transform! The doc() call works without causing an error...
It's just taken me a while to figure out why a transform run from inside oXygen produced different result from the same transform run outside of oXygen - it was because a referenced doc() had been updated while oXygen was open and oXygen wasn't fetching it each time.
Shouldn't oXygen's caching resolvers (if that's where the problem lies) only cache per transform run?

Hello, What you're describing should only happen if you still have the file(foo.xml) open in an editor. oXygen's catalog resolver will still resolve the system id of the file to the one opened in the editor even if that file no longer exists on disk. Once the editor is closed the transformation will fail as expected. If this isn't the case then please give us more details so we can reproduce the problem. Regards, Adrian Buza Oxygen XML Editor Andrew Welch wrote:
It seems oXygen caches the XML from calls to doc() between runs?
If you run a transform with
doc('foo.xml')
and then delete foo.xml, you can still run the transform! The doc() call works without causing an error...
It's just taken me a while to figure out why a transform run from inside oXygen produced different result from the same transform run outside of oXygen - it was because a referenced doc() had been updated while oXygen was open and oXygen wasn't fetching it each time.
Shouldn't oXygen's caching resolvers (if that's where the problem lies) only cache per transform run?

On 28/03/2008, Adrian Buza <adrian@sync.ro> wrote:
Hello,
What you're describing should only happen if you still have the file(foo.xml) open in an editor. oXygen's catalog resolver will still resolve the system id of the file to the one opened in the editor even if that file no longer exists on disk. Once the editor is closed the transformation will fail as expected.
If this isn't the case then please give us more details so we can reproduce the problem.
Ahh that probably was the case... and it makes sense. Certainly a gotcha! -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
participants (3)
-
Adrian Buza
-
Andrew Welch
-
Robert Koberg