Subject: Re: [xsl] xslt document function - recursive folder processing. From: Abel Braaksma <abel.online@xxxxxxxxx> Date: Sat, 06 Aug 2011 14:34:53 +0200 |
This is my first post;
How can I keep track of the folder attribute in the parent template
The potion of code below fails until I explictly provide the absolute path and also prepend it with file://D|
Is it possible for me to determine using XSLT the directory path of the XML file being processed?
Cheers, Abel
------------------------------------------------------------------------ From: Lighton Phiri <lighton.phiri@xxxxxxxxx> Sent: Saturday, August 06, 2011 12:34:26 PM To: xsl-list Cc: Subject: [xsl] xslt document function - recursive folder processing.
I am working with XSLT version 1.0 using xsltproc.
This is my first post; please bare with me if I've missed out on any of the house rules. I have tried as much as possible to replicate what I am trying to do below. My senario is as follows:
Folder Structure
folder/ |-- index.xml |-- dir1 | |-- d1f1.xml | |-- d1f2.xml | |-- |-- dir2 | |-- d2f1.xml | |-- d2f2.xml | |--
Current XSLT stylesheet
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="folder"> <xsl:apply-templates select="document(file)/file" /> </xsl:template>
<xsl:template match="file"> <name> <xsl:value-of select="name" /> </name> <link> <file>document(../dir2/d2f1.xml, /)/file/name</file> <description>document(../dir2/d2f1.xml, /)/file/description</description> </link> </xsl:template>
</xsl:stylesheet>
index.xml file
<?xml version="1.0" encoding="utf-8"?> <folder name="dir1"> <file>f1.xml</file> <file>f2.xml</file> </folder>
d1f1.xml
<?xml version="1.0" encoding="utf-8"?> <file> <name>File 1</name> <description>I am file 1</description> <link>dir2/d2f1.xml</link> </file>
d2f2.xml
<?xml version="1.0" encoding="utf-8"?> <file> <name>File 2</name> <description>I am file 2</description> </file>
Question# 1: How can I keep track of the folder attribute in the parent template so I can make use of it when calling the child templates?
Question# 2:
The potion of code below fails until I explictly provide the absolute path and also prepend it with file://D|
this fails <link> <file>document(../dir2/d2f1.xml, /)/file/name</file> <description>document(../dir2/d2f1.xml, /)/file/description</description> </link>
this works (I stole this idea from http://www.dpawson.co.uk/xsl/sect2/N2602.html#d3862e403)
<link> <file>document(file://D|/home/phiri/dir2/d2f1.xml)/file/name</file> <description>document(file://D|/home/phiri/dir2/d2f1.xml)/file/description</description> </link>
Question# 3: Is it possible for me to determine using XSLT the directory path of the XML file being processed? All sources I have found online seem to suggest its not possible to evaluate the directory path of the XML file being processed.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] xslt document function - recu, Lighton Phiri | Thread | Re: [xsl] xslt document function - , Lighton Phiri |
[xsl] xslt document function - recu, Lighton Phiri | Date | Re: [xsl] xslt document function - , Lighton Phiri |
Month |