[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] applying templates to attribute value
Subject: Re: [xsl] applying templates to attribute value
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 01 Jul 2008 11:08:30 -0400
|
Mark,
At 05:18 PM 6/30/2008, you wrote:
In fact, the select statement was what I started out with, but
changed it to apply-templates in order to have the content itself
match on the <b> and <br />. Doesn't apply templates force further
matching of the matched node? Instead I am still getting the
attribute value, untransformed.
Actually, as Ken said, to write the attribute value you should use
xsl:value-of. xsl:apply-templates should not work: if it does, your
processor is not being conformant, and your code will break in
another processor.
This is entirely aside from the question of how you engineer a
transform based on the pseudo-markup inside your attribute value.
The key to understanding both of these issues is in the data model.
As Ken also said, the tree that XSLT takes as input does not render
any structure inside attribute values, but treats them as simple text
values. This is in accordance with XML, in which markup as such is
prohibited inside attributes, which is why the "markup" you have is
escaped with character references to markup delimiters. Whoever has
designed your system has decided to ignore this design and pretend
that markup inside attributes is as good as markup elsewhere, which it isn't.
Conservative XML designers always prefer elements when they need to
represent structure. Sometimes they bend the rules and introduce some
sort of structure into attribute values, but when they do, it's
always simple enough to parse easily (for example tokenized values,
or maybe tokenized values with labels), since this generally has to
be done in the application not by the XML parser.
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
======================================================================
|