Re: [xsl] Multiple attributes present and non-present

Subject: Re: [xsl] Multiple attributes present and non-present
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 04 Mar 2002 17:39:31 -0500
Peter,

At 04:23 PM 3/4/2002, you wrote:
On Monday 04 March 2002 12:03, Wendell Piez wrote:
> Attributes which have a default in the DTD will still be copied.
> Unfortunately, the XSLT data model does not preserve information about
> whether an attribute value was provided by default.

Also keep in mind that if an attribute has a default value in the DTD and the
document explicitly reset the value to "", then removing empty attributes
will cause the value to revert back to the DTD's default value.  If your DTD
does not use any non-empty default values, then this should be OK, if not,
then this might end up destroying information.

For example, if the default value for @foo is "bar", but the document has
<PERSNAME foo="">, then @foo would be reset to "bar".  Maybe or not this is
what you want.

Is this so? I'd have thought that foo="" would fail to be copied, since it fails to match the select="@*[string(.)]" expression. This irrespective of the fact that it was defaulted in the DTD. (And losing the information that its value is null, as you say.)


Now, parse the resulting document with the same DTD, and the default will reappear.... I guess this is what you meant?

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread