[xsl] including external XML file and process whole new tree

Subject: [xsl] including external XML file and process whole new tree
From: "Matt Adams" <mattad@xxxxxxxxx>
Date: Fri, 03 Dec 2004 18:58:21 +0100
How can I insert an external xml file into a given first xml file
and start then processing the target xml as base for xpath expressions?
Seems difficult question but isn't. Assume the following sample:

first.xml:
<myelem>
  <subelem aaa="1" />
  <subelem aaa="2" />
  <otherfile name="second.xml" />
</myelem>

second.xml:
<parts>
 <subelem aaa="3" />
 <subelem aaa="4" />
</parts>

mysample.xslt:
....
<xsl:replaceotherfileby select="document(//otherfile/@name)" />
<!-- temporary tree in memory should be now:
<myelem>
  <subelem aaa="1" />
  <subelem aaa="2" />
  <parts>
    <subelem aaa="3" />
    <subelem aaa="4" />
  </parts>
</myelem>
-->
<xsl:for-each ... select="//subelem">
  <xsl:value-of select="./@aaa" />
</xsl:for-each>

output:
1
2
3
4

How do I code the function here called "replaceotherfileby"?

Second related question: Suppose in first.xml and second.xml
different prefixes are used for the same namespace.
Is your solution a pure textual replacement or are
the prefixes adjusted according to the refering common
namespace as well?

Thank you
Matt











--
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm

Current Thread