Re: Parsing XML files as text with collection()

Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> Fri, 9 Oct 2020 20:43:58 +0100
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
This is very much the kind of use case for which uri-collection was introduced.

Michael Kay
Saxonica

> On 9 Oct 2020, at 15:24, Imsieke, Gerrit, le-tex <[email protected]> wrote:
> 
> Thanks Martin, I hadn't thought of uri-collection(). I'll use the approach that you suggested.
> 
> On 09.10.2020 16:17, Martin Honnen wrote:
>> Am 09.10.2020 um 14:31 schrieb Imsieke, Gerrit, le-tex:
>>> I want a recursive directory scan to read in all XML files as unparsed
>>> text. Then I want to remove the DOCTYPE declaration and named entities
>>> with replace(). Then I want to parse them with parse-xml(). The reason
>>> is that all kinds of DTDs at different locations will be referred, but I
>>> don't have access to these DTDs, and they don't matter for the purpose
>>> of my analysis.
>>> 
>>> The documentation says that Saxon will use heuristics to infer the type
>>> of file. How can I force Saxon to read every *.xml file, although it may
>>> appear as an XML document, as text?
>> With Saxon (tested with HE 10.2 Java) from the command line I have no
>> problems to use uri-collection and unparsed-text in XQuery or XSLT e.g.
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>     xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> exclude-result-prefixes="#all" version="3.0">
>>     <xsl:param name="uri" as="xs:string"
>>         >file:/C:/SomePath/SomeFolder/</xsl:param>
>>     <xsl:param name="pattern" as="xs:string"><![CDATA[<\?xml
>> .*?>\s*<!DOCTYPE .*?>]]></xsl:param>
>>     <xsl:template name="xsl:initial-template">
>>         <xsl:sequence
>>             select="uri-collection($uri || '?select=*.xml') !
>> (unparsed-text(.) => replace($pattern, '') => parse-xml())"
>>         />
>>     </xsl:template>
>> </xsl:stylesheet>
> 
> 
> _______________________________________________
> saxon-help mailing list archived at http://saxon.markmail.org/
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/saxon-help

_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
[email protected]
https://lists.sourceforge.net/lists/listinfo/saxon-help