Subject: RE: [xsl] Using Saxon 8.5 and collection() to process a directory of XML files From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 5 Aug 2005 14:15:06 +0100 |
> 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/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Using Saxon 8.5 and colle, Welch Andrew (ELS) | Thread | RE: [xsl] Using Saxon 8.5 and colle, Welch Andrew (ELS) |
RE: [xsl] Using Saxon 8.5 and colle, Welch Andrew (ELS) | Date | [xsl] XML parser discussion forum q, Rahil |
Month |