Hi,
I have a file that list of ids that is used to determine to order of
merging of some file:
id1
id2
id3
The files that need to merged has a structure like:
<div id="id1">
<!-- some content -->
</div>
I'm merging them using the collection() function in this xsl file:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0" xmlns:saxon="http://saxon.sf.net/" xmlns:xs="http://
www.w3.org/2001/XMLSchema">
<xsl:param name="dir" as="xs:string" select="'file:///Users/jeffsese/
RND/Berichtigungsliste/Merging/Ostraka'"/>
<xsl:template name="main" exclude-result-prefixes="#all">
<div type="Papyri">
<xsl:for-each select="for $x in collection(concat($dir,'?
select=*.xml;recurse=yes;on-error=ignore')) return saxon:discard-
document($x)">
<xsl:copy-of select="."/>
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>
How can I make the insertion follow the order that is indicated in my
text file? I tried this but I can't get any output:
<xsl:variable name="id" as="xs:string*" select="tokenize(unparsed-text
($pathOfTextFile, 'UTF-8'), '^[\r\n]')"/>
<xsl:for-each select="$id">
<xsl:variable name="myId" as="xs:string" select="."/>
<xsl:copy-of select="collection(concat($dir,'?
select=*.xml;recurse=yes;on-error=ignore'))/div[@id=$myId]"/>
</xsl:for-each>
Thanks,
-- Jeff