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 |