xsl-list
[Top] [All Lists]

RE: [xsl] Accessing two XML files from XSL file

2011-07-09 22:49:48
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(_at_)gmail(_dot_)com]
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>