- From: Michael Kay <mike@saxonica.com>
- Date: Tue, 16 Nov 2004 18:42:40 -0000
- To: "'Jim Stanley'" <JimS@Media-Services.Com>, <xmlschema-dev@w3.org>
If you use a literal result element: <root pageSizeUnits="{@pageSizeUnits}" dayBreakPosition="{@dayBreakPosition}"> or <root> <xsl:copy-of select="@pageSizeUnits|@dayBreakPosition"/> then the namespaces in scope for the <root> element in the stylesheet are copied into the result tree. If you use <xsl:element name="root"> they are not. It's difficult to create explicit namespace nodes when you use <xsl:element> in XSLT 1.0. It's easier in 2.0, because there is an <xsl:namespace> instruction for the purpose. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: xmlschema-dev-request@w3.org > [mailto:xmlschema-dev-request@w3.org] On Behalf Of Jim Stanley > Sent: 16 November 2004 16:09 > To: xmlschema-dev@w3.org > Subject: RE: Getting Namespaces into a Transform > > > >If you put exactly that in your stylesheet, then you should > get exactly > that > >in your result tree. > > My first thought was, "Wow, am I stupid for missing the obvious!" > (This is undoubtedly still true.) But when I looked at the transform > file I'm still mystified. > > I'm putting in all the elements programatically: > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> > <xsl:template match="root"> > <xsl:element name="root"> > <xsl:attribute name="pageSizeUnits"><xsl:value-of > select="@pageSizeUnits"/></xsl:attribute> > <xsl:attribute name="dayBreakPosition"><xsl:value-of > select="@dayBreakPosition"/></xsl:attribute> > > So there are several attributes to the root besides the namespace > declaration. Since I declare the root element > programatically, what do > I need to do to stick literals in there? > > Thanks again for putting up with the inexperience. > > Jim Stanley > Media Services, Inc. > >
Received on Tuesday, 16 November 2004 18:42:43 UTC