[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Processing a list of non-xml files in XSLT?

Subject: Re: Processing a list of non-xml files in XSLT?
From: "dvint@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 12 Aug 2024 15:02:46 -0000
Re:  Processing a list of non-xml files in XSLT?
Thanks, I was looking for something different for base-uri() rather than something to create the collection differently. I've change the for loop to this:

<xsl:for-each select=" uri-collection($rawimagecollectionString)" >
	<xsl:variable name="FILE" select="substring-after(., $rawsrcPath)"/>

		<xsl:choose>
			<xsl:when test="$STRUCTURE//image[@file=$FILE]">
				<!--Found <xsl:value-of select="$FILE"/>-->
			</xsl:when>
			<xsl:otherwise>
				<file file="{$FILE}" mode="list"/>
			</xsl:otherwise>
		</xsl:choose>

</xsl:for-each>

Currently my problem seems to be related to defining the uri value in uri-collection(). Trying to use the help in the Saxon docs I tried this

<xsl:variable name="rawimagecollectionString"
		select="concat($rawsrcPath, 'select=*.(jpg|gif|svg|png)')"/>


But that is failing with:


Invalid URI passed to uri-collection: file:/Users/danvint/pubsrc/_src-data-files/asciidoc-processing/Ixia-Source/dita-files/FORMAT_sample_2_1_Early_Access_CONTENT.FormatSample2.Ping_Export_DRM.English/dita/out/normal/../../select=*.(jpg|gif|svg|png)

The directory exists, so it seems like the problem is in forming the select portion. Note that this path is similar format as I use for a collection() uri, so I'm not sure what is the source of the problem.

..dan

On 2024-08-09 14:59, Martin Honnen martin.honnen@xxxxxx wrote:
On 09/08/2024 23:52, Martin Honnen martin.honnen@xxxxxx wrote:

On 09/08/2024 23:28, dvint@xxxxxxxxx wrote:


Is there anything I can use directly in XSL (this one stylesheet) that
will just give me the filenames of these images? I can do some other
preprocessing stages and build an xml file with all these images
listed, but I would prefer to do this in this one stylesheet that is
doing all of this heavy lifting and decision making.




XSLT 3/XPath 3 has a function uri-collection and I think with Saxon if
you use that function with e.g. ?select=(*.jpg|*.png) it gives you a
sequence of file URIs to the files without the need to process the
binary file contents.


Looking at https://www.saxonica.com/html/documentation12/sourcedocs/collections/collection-directories.html, it might help Saxon if you not only provide the file suffix in the select "parameter" behind the question mark but also the content-type for the image file type you are looking at.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.