Re: Ignoring default attributes during XSL transform
Joerg was correct when he said that the parser has provided the default value before the XSLT processor sees the attribute, so the XSLT processor has no way of knowing whether an attribute given it has its value because it was explicit in the source, or because it was provided by default.
So the short answer is, if you are willing to hard code your stylesheet with the default as a literal (or provide it as a parameter), you can do what you want; but there is no way to test directly whether a given attribute appears as a literal in the source document. For this, you're simply out of luck, since the information in the DTD declarations is simply not part of the data model that the XSLT processor has.
(For those interested in strange arcana of why bizarre syntax is the way it is: the DTD syntax saying an attribute is #IMPLIED, rather than, say, #OPTIONAL, was meant to express, as I understand it, that a default could be provided by a processor (or stylesheet) but was not provided by the DTD.)
So: you can, in effect, test against attribute value "defaults" provided in the stylesheet which *happen* to match those in the DTD; but that's the best you can do.
XML-based schema languages such as XML Schema and RNG allow, in principle, XSLT to query the schema directly -- though even there (as Jeni reminded me not long ago) the various ways it might be done are so numerous that a general solution may be unlikely. :-(
At 09:51 AM 4/18/2002, you wrote:
Correct, that I understand. But I am wondering if there is a way to compare the value in the tree with an attribute's default value defined in the DTD. Something like this:
====================================================================== 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format