xsl-list
[Top] [All Lists]

RE: read/write in the same xml file

2003-06-09 07:55:37
I try to read from the  xml file "compte.xml"
and to write in the same xml file,but i find that the xml file wasn't
modifided.

I'm not familiar with the <redirect:write> element, which seems
to be an extension.  The only idea I would offer is this...
Are you literally trying to overwrite the file "compte.xml" at
the same time as you are reading it in?
That seems like a bad idea.  And if you are, maybe your
operating system is (sensibly) locking "compte.xml" from being
overwritten while it is open for reading.

If you make your output filename different from your input
filename, then does it work?

If that doesn't answer your question, please show us your
command line... you are apparently using <redirect:write>
to send output to a file, but where is the primary output
going?  Namely, where is the last
 <xsl:value-of select="$vcompte + 100"/>
(outside the redirect:write) going?

Also, what XSLT processor and what extension set are you using?

Lars


this is my xml file:

<document>
<compte>25</compte>
</document>



this is my xsl file:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:lxslt="http://xml.apache.org/xslt";
xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
extension-element-prefixes ="redirect">
<xsl:output method="text" version="1.0" encoding="ISO-8859-1"
indent="yes" omit-xml-declaration="yes" />
<xsl:param name="file_cnf" select="'compte.xml'"/>


<xsl:template match="/">

<xsl:variable name="refdoc" select="document($file_cnf)"/>

<xsl:variable name="vcompte">
<xsl:value-of select="$refdoc/document/compte"/>
</xsl:variable>

<redirect:write file="$file_cnf" method="text">
          <document>
          <compte>
          <xsl:value-of select="$vcompte + 100"/>
          </compte>
          </document>
</redirect:write>

<xsl:value-of select="$vcompte + 100"/>
</xsl:template>
</xsl:stylesheet>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list