[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

trouble merging an XHTML and XML document into one

Subject: trouble merging an XHTML and XML document into one
From: "Bruce Kimpel" <bruce_kimpel@xxxxxxxxxxx>
Date: Thu, 14 Feb 2002 10:59:48 -0700
bruce kimpel
Hello,

I am having trouble merging an XHTML and XML document into one.

The key differentiator is that I am merging the docs using parameters rather than document() to load them, as they are already loaded in memory and I do not have access to the physical files at this point (nor would I wish to reload them when I already have the raw xml).

Now in order to merge them I want to use an XSL transformation.

The setup:
I start by transforming a sample xml doc with a sample xsl doc to get some HTML...
---------------------------------------------------------------------
sample.xml
---------------------------------------------------------------------
<?xml version="1.0"?>
<data>
<FirstName>Bruce</FirstName>
<LastName>Lee</LastName>
</data>


---------------------------------------------------------------------
sample.xsl
---------------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<xsl:value-of select="FirstName"/>
<br/>
<input id="btnDoSomething" type="button" value="Do Something"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


The result looks something like this...
<html xml...>
<body>
    Bruce
    <br/>
    <input id="btnDoSomething" type="button" value="Do Something"/>
</body>
</html>

Everything is coolio so far.

The merge (and the problem):
Now I want to merge this resulting XHTML with a new XML file.
The new xml file I wish to use is...
---------------------------------------------------------------------
newsample.xml
---------------------------------------------------------------------
<?xml version="1.0"?>
<RenderingControl>
    <ElementToBeChanged>
         <Name>btnDoSomething</Name>
         <RenderAs>Read-Only</RenderAs>
    </ElementToBeChanged>
</RenderingControl>

So I use the following XSL file with two parameters. The first parameter I pass in the XHTML from my first transformation, and the second parameter I pass in the raw xml from newsample.xml...
---------------------------------------------------------------------
DocumentMerge.xsl
---------------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:output method="xml" indent="no"/>


<xsl:param name="param-1"/>
<xsl:param name="param-2"/>

<xsl:template match="/">
    <NewPage>
         <xsl:copy-of select="$param-1"/>
         <xsl:copy-of select="$param-2"/>
    </NewPage>
</xsl:template>

</xsl:stylesheet>

I would expect the result to be a new XML file like...
<NewPage>
<html xml...>
    <body>
         Bruce
         <br/>
         <input id="btnDoSomething" type="button" value="Do Something"/>
    </body>
</html>
<RenderingControl>
    <ElementToBeChanged>
         <Name>btnDoSomething</Name>
         <RenderAs>Read-Only</RenderAs>
    </ElementToBeChanged>
</RenderingControl>
</NewPage>

Instead I get the xml repeated back to me.

I assumed it had something to do with a built-in MSXML30 nuance (because of the little WC3 compliance stink) where they no longer implicitly cast parameters as node-sets - now treating the parameters as one giant string so I tried using the msxml extension function (including the msxml namespace declaration) as such...
...
<xsl:copy-of select="msxml:node-set($app-data)"/>
<xsl:copy-of select="msxml:node-set($sec-cred)"/>
...


To no avail :(

SaberBruce

_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.