Subject: Re: [xsl] dangling attribute creation (was Re: [xsl] When to use text()) From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx> Date: Sat, 26 Apr 2014 18:24:56 +0100 |
Suppose you have a file in which attribute values are in French but their English translation appears in brackets. <stuff> <a title="Bonjour Monsieur (Hello sir)"/> <b name="Francis (Francois)"/> <c term="no subtitle"/> </stuff> I call the thing in brackets the subtitle. Here is a stylesheet that replace all attributes with it's subtitle if there is one. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:import href="identity.xsl"/> <xsl:output indent="yes" method="xml"/> <xsl:template match="@*[contains(.,'(')]"> <xsl:attribute name="{local-name()}" select="tokenize(.,'[()]')[2]"/> </xsl:template> </xsl:stylesheet> Exercise for the reader to accomplish same without the dangling attribute (I'm not saying it can't be done). On Fri, Mar 21, 2014 at 5:32 PM, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote: > On Fri, Mar 21, 2014 at 5:06 PM, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: >>> Correct me if I'm wrong but couldn't you say the same thing over each >>> and every application of xsl:attribute-set >> >> No - how would it be possible to cause a similar exception using >> attribute-sets? An example of what you mean would help here. >> > > Now that I look at the syntax it may not be. > >> >>>> It's an anti-pattern. >>>> >>> >>> Yes I'm sure there's another way of achieving the same thing but I'd >>> rather be anti-pattern than anti-declarative. >> >> ? It's not "anti-declarative" (actually I can't say that it isn't >> because I don't know what that is) It's just a common mistake. >> > > You cannot say it's a mistake. > > It's a trade-off and when considering which evil you elect for you do > a little risk analysis. > > What is the likelihood of events that would lead to an exception > occurring, how calamitous would it be if it did occur, how hard and > costly and time consuming is it to implement and roll out the fix. > > Also if you are am not doing big object oriented software engineering > you don't have to live by that bible.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Specifying XSD version, Lizzi, Vincent | Thread | Re: [xsl] dangling attribute creati, Wolfgang Laun |
[xsl] Specifying XSD version, Lizzi, Vincent | Date | Re: [xsl] dangling attribute creati, Wolfgang Laun |
Month |