Subject: [xsl] namespace output problem From: "James Carlyle" <james.carlyle@xxxxxxxxxx> Date: Mon, 5 Nov 2001 14:04:25 -0000 |
Hi I need to output xml to the textarea of an HTML form, using an XSLT stylesheet, so that I can validate the content of an XML updategram being posted to SQL Server. The format of the updategram (the part in the textarea, bounded by <ROOT>) must match exactly. My stylesheet needs to ouput the following: <?xml version="1.0" encoding="utf-8"?> <body> <form action="http://oak/xml" method="POST"> <input type="hidden" name="contenttype" value="text/xml" /> <textarea rows="30" cols="100" name="template"> <ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram"> <updg:sync> <updg:before> </updg:before> <updg:after> <testData itemLink="http://www.abc.com/1" itemTitle="weblog"/> </updg:after> </updg:sync> </ROOT> </textarea> <input type="submit" /> </form> </body> My input document looks like: <?xml version="1.0" encoding="utf-8"?> <rss> <channel> <item> <link>http://www.abc.com/1</link> <title>weblog</title> <description>about scripting and stuff like that.</description> </item> </channel> </rss> My stylesheet currently looks like: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:updg="urn:schemas-microsoft-com:xml-updategram" exclude-result-prefixes="updg"> <xsl:output method="xml" indent="yes" encoding="utf-8"/> <xsl:strip-space elements="*"/> <xsl:template match="/"> <html> <body> <form action="http://oak/xml" method="POST"> <input type="hidden" name="contenttype" value="text/xml"/> <textarea rows="30" cols="100" name="template"> <ROOT> <xsl:apply-templates select="//item"/> </ROOT> </textarea> <input type="submit"/> </form> </body> </html> </xsl:template> <!-- process item--> <xsl:template match="item"> <updg:sync> <updg:before> </updg:before> <updg:after> <testData> <xsl:attribute name="itemLink"><xsl:value-of select="link"/></xsl:attribute> <xsl:attribute name="itemTitle"><xsl:value-of select="title"/></xsl:attribute> </testData> </updg:after> </updg:sync> </xsl:template> </xsl:stylesheet> I can get the namespace declaration to appear on the updg:sync element, but not on the ROOT element, unless I add a updg:ROOT prefix to it (this breaks SQL Server). I've been through the FAQ looking for a solution, but can find none. Is there a way of outputting what I want, while treating xsl:output by method="xml"? TIA James Carlyle XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] matching multiple times, , cutlass | Thread | Re: [xsl] namespace output problem, cutlass |
RE: [xsl] dynamic sorting, Chris Bayes | Date | Re: [xsl] namespace output problem, cutlass |
Month |