[
Lists Home |
Date Index |
Thread Index
]
- From: Francis Norton <francis@redrice.com>
- Date: Tue, 04 Apr 2000 14:02:32 +0100
Ravi Ramamirtham wrote:
>
> Hi,
> I want the ability to replace an element in one XML document with
> the contents of another XML document while parsing. Basically the element
> being replaced is described in an XML document of it's own. What's the best
> way to achieve this, if at all possible? Is XLink meant for doing things
> like this? Any pointers/suggestions would be greatly appreciated.
>
At the risk of stating the obvious, have you considered XSLT for this?
An XSLT doc would describe "the element being replaced" (using Xpath
syntax for the actual pattern matching) and replace it using the
document() function (http://www.w3.org/TR/xslt#function-document).
The following should do what you need:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- stick an xpath expression matching to your target element here
-->
<xsl:template match="//foo/bar[text()='bark']">
<!-- specify your replacement file here -->
<xsl:copy-of select="document('file:x.xml')" />
</xsl:template>
<!-- just copy everything else -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|