Re: [xsl] Attributes without values

Subject: Re: [xsl] Attributes without values
From: Laurence O Garfield <lgarfiel@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 24 Jul 2001 16:19:57 -0500 (CDT)
On Tue, 24 Jul 2001, Jason Macki wrote:

> Hello,
>
> Is it possible to use XSLT to add an attribute to an element without
> giving it a value?
>
> I'd like to produce a "selected" attribute without a value, like in this
> example:
> <select>
> 	<option>a</option>
> 	<option selected>b</option>
> 	<option>c</option>
> </select>
>
> Now, I'm aware that I can easily use <xsl:attribute> to produce the
> following:
> 	<option selected='true'>a</option>
>
> However, this is not compliant with XHTML 1.0.
> Does anyone know of a way around this problem?

A bareword attribute is a violation of the XML spec.  The XHTML spec says
that the best way around such cases where HTML has a bareword attribute
(selected, checked, multiple, etc.) is to use selected="selected",
checked="checked", and so on.  An SGML HTML parser (web browser) will
ignore the value it's given, and an XML XHTML parser (good web browser)
will acknowledge the value, and ignore it.  A file with
selected="selected" is valid XHTML, according to the W3C's validation
program.

--Larry Garfield


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


Current Thread