RE: <xsl:element name="input">

Subject: RE: <xsl:element name="input">
From: Mark Hayes <mark@xxxxxxxxxxx>
Date: Sat, 13 Nov 1999 12:43:21 -0800
When I run your stylesheet with the current XT I get this output:

<?xml version="1.0" encoding="utf-8"?>
<html>
  <body>
    <input type="text" name=""/>
  </body>
</html>

The <input> element is closed, but since it has no content there is </input>
tag.

If you are REALLY need to force a </input> tag to appear, add a
preserve-space element at the top level for input, and some blank text
inside the <input> output element:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
    <xsl:output method="xml"/>
    <xsl:preserve-space elements="input"/>  <!-- *** here *** -->
    <xsl:template match="/">
        <html>
            <body>
                <xsl:element name="input">
                  <xsl:attribute name="type">text</xsl:attribute>
                  <xsl:attribute name="name">
                    <xsl:value-of select="@name"/>
                  </xsl:attribute>
                <xsl:text> </xsl:text>   <!-- *** here *** -->
                </xsl:element>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
--
mark

> -----Original Message-----
> From: Dale Asberry [mailto:rdasberry@xxxxxxxxxxx]
> Sent: Friday, November 12, 1999 8:05 AM
> To: xsl-list@xxxxxxxxxxxxxxxx
> Subject: Re: <xsl:element name="input">
> 
> 
> I'm trying to dynamically create the UI based on elements in 
> my source XML.  
> However, I will be making a second transform on the output, 
> so I need it to 
> be valid XML.  My stylesheet is more like this (it is a bit more 
> complicated, but this captures the gist of it):
> 
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> version="1.0">
>     <xsl:output method="xml"/>
>     <xsl:template match="/">
>         <html>
>             <body>
>                 <xsl:element name="input">
>                   <xsl:attribute name="type">text</xsl:attribute>
>                   <xsl:attribute name="name">
>                     <xsl:value-of select="@name"/>
>                   </xsl:attribute>
>                 </xsl:element>
>             </body>
>         </html>
>     </xsl:template>
> </xsl:stylesheet>
> 
> 
> Phil Lanch wrote:
> >Dale Asberry wrote:
> > >
> > > I forgot to mention that I used <xsl:output method="xml"/> and 
> ><xsl:output
> > > method="text"/> and got the same results
> >
> >Well, now I am puzzled.
> >
> >When I use this stylesheet:
> >--
> ><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> >version="1.0">
> >     <xsl:output method="xml"/>
> >     <xsl:template match="/">
> >         <html>
> >             <body>
> >                 <input/>
> >             </body>
> >         </html>
> >     </xsl:template>
> ></xsl:stylesheet>
> >--
> >with this source document:
> >--
> ><?xml version = "1.0"?>
> ><doc/>
> >--
> >I get:
> >--
> ><?xml version="1.0" encoding="utf-8"?>
> ><html><body><input/></body></html>
> >--
> >
> >Presumably you're doing something more complicated(!).
> >
> >I can't think of anything else without seeing your stylesheet &
> >document.
> 
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread