|
Subject: Re: Merging two documents From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 14 Sep 1999 19:26:25 -0700 |
Is there a way to embed doc1 inside <xsl:param name="source"> instead of referring to an external document? I couldn't tell from reading the spec.
T:\ftemp>type doc1.xml <?xml version="1.0"?> <!DOCTYPE BookSet [ <!ATTLIST Book id ID #IMPLIED> ]> <BookSet> <Book id="1"><Name>The wizard of OZ</Name></Book> <Book id="2"><Name>Java Servlet Programming</Name></Book> <Book id="3"><Name>John Coltrane Rage</Name></Book> </BookSet>
T:\ftemp>type doc2.xml <BookList> <Book id="1"/> <Book id="2"/> </BookList>
T:\ftemp>type list.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<!--source of data; default can be overridden on command line--> <xsl:param name="source" select="'doc1.xml'"/>
<xsl:template match="/BookList"> <!--document element-->
<BookList>
<xsl:for-each select="Book">
<Book id="{@id}">
<xsl:variable name="id" select="string(@id)"/>
<!--note you cannot use document($source)/id($id)/*-->
<xsl:for-each select="document($source)">
<xsl:copy-of select="id($id)/*"/>
</xsl:for-each>
</Book>
</xsl:for-each>
</BookList>
</xsl:template>T:\ftemp>type result.xml <BookList> <Book id="1"> <Name>The wizard of OZ</Name> </Book> <Book id="2"> <Name>Java Servlet Programming</Name> </Book> </BookList>
-- G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) Website: XSL/XML/DSSSL/SGML services, training, libraries, products. Practical Transformation Using XSLT and XPath ISBN 1-894049-01-2 Next instructor-led training: 1999-09-24, 1999-11-08, 1999-12-05/06, 1999-12-07, 2000-02-27/28, 2000-05-11/12
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: Merging two documents, Terris | Thread | Re: Merging two documents, Terris |
| Re: Merging two documents, Terris | Date | [no subject], Steven Livingstone |
| Month |