This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Multiple attributes present and non-present
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@mulberrytech.com
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