[Home] [By Thread] [By Date] [Recent Entries]
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
|

Cart



