|
Subject: RE: [xsl] Accessing two XML files from XSL file From: "Houghton,Andrew" <houghtoa@xxxxxxxx> Date: Sat, 9 Jul 2011 23:49:33 -0400 |
You can pass the URI of the second XML document into the transform and then
use doc-available() and doc() to access the second XML document. A rough
untested sketch:
Command line using saxon: -o out.xml first.xml xsl1.xsl "uri=second.xml"
<xsl:transform>
<xsl:param name="uri" as="xsd:string?" />
<xsl:template match="button">
<button id="{id}" type="button"
style="position:fixed;top:{y}px;left:{x}px;">
<xsl:value-of select="value" />
</button>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="xml1/button" />
<xsl:if test="doc-available($uri)">
<xsl:variable name="doc" as="document-node()" select="doc($uri)" />
<xsl:apply-templates select="$doc/xml2/button" />
</xsl:if>
</xsl:template>
</xsl:transform>
Hope this helps, Andy.
> -----Original Message-----
> From: Sanjaya Liyanage [mailto:sanjayacl@xxxxxxxxx]
> Sent: Saturday, July 09, 2011 23:21
> To: xsl-list
> Subject: [xsl] Accessing two XML files from XSL file
>
> Hi,
> I want to access two XML files within my XSL file.How can I achieve
> it? Any ideas are welcome
>
> I can access the first.xml file as below because it has the reference
> to XSL file(xsl1.xsl).
>
> <xsl:for-each select="xml1/button">
> <button id="{id}" type="button"
> style="position:fixed;top:{y}px;left:{x}px;"><xsl:value-of
> select="value"/></button>
> </xsl:for-each>
>
> I want to have something like below which is working which access the
> second.XML
>
> <xsl:for-each select="xml2/button">
> <button id="{id}" type="button"
> style="position:fixed;top:{y}px;left:{x}px;"><xsl:value-of
> select="value"/></button>
> </xsl:for-each>
>
> first.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <?xml-stylesheet type="text/xsl" href="xslt1.xsl"?>
>
> <xml1>
> <button>
> <id>btn1</id>
> <x>225</x>
> <y>450</y>
> <value>Submit</value>
> </button>
> </xml1>
>
> second.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <xml2>
> <button>
> <id>btn2</id>
> <x>325</x>
> <y>550</y>
> <value>Submit</value>
> </button>
> </xml2>
>
> Thank you
> Sanjaya Liyanage
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Accessing two XML files f, ihe onwuka | Thread | [xsl] Trying to simply reformat but, thehulk |
| Re: [xsl] Accessing two XML files f, Wolfhart Totschnig | Date | Re: [xsl] Schema Versioning - A sty, ihe onwuka |
| Month |