xsl-list
[Top] [All Lists]

Re: read/write in the same xml file

2003-06-09 08:51:08
yes,i'm literally trying to overwrite the file "compte.xml" at
the same time as i 'm reading it in.
my command line is:
java org.apache.xalan.xslt.Process -IN catalogue.xml -XSL compte.xsl -OUT
compte.txt -TEXT -PARAM file_cnf compte.xml

for me in this stylesheet the input file and output file aren't as
important as  the extern file compte.xml
thanks


Lars Huttar a écrit :

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


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