I now have Saxon 8.5b processing a directory of xml files and
generating the
required html files, using the following:
<xsl:for-each select="collection(concat($xmlDir, '?select=*.xml'))">
<xsl:result-document href="{$outputDir}/{$fileName}.html">
...
</xsl:result-document>
<xsl:for-each select="saxon:discard-document(.)" />
</xsl:for-each>
-Am I using saxon:discard-document() correctly... Seems odd?
There's a danger Saxon will optimize it out if you use it in a context where
the result of the function (which is the same as the input) isn't used. So a
safer usage is:
<xsl:for-each select="collection(concat($xmlDir, '?select=*.xml'))">
<xsl:for-each select="saxon:discard-document(.)">
<xsl:result-document href="{$outputDir}/{$fileName}.html">
...
</xsl:result-document>
</xsl:for-each>
</xsl:for-each>
or you could tag it on to the outer for-each:
<xsl:for-each select="collection(concat($xmlDir,
'?select=*.xml'))/saxon:discard-document(.)">
-Is it possible to continue the processing should one of the
source files
contain an error (say a parse error)?
Yes, there's a query parameter ?select=*.xml;on-error=ignore|warning|fail
(In fact, ignore isn't totally working yet: XML parser errors are reported
even if they are then ignored)
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--