Re: [xsl] dangling attribute creation (was Re: [xsl] When to use text())

Subject: Re: [xsl] dangling attribute creation (was Re: [xsl] When to use text())
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Sat, 26 Apr 2014 19:46:48 +0200
A function to extract the subtitle with judicious use of
substring-before and substring-after shouldn't be too difficicult. But
what's the point you are trying to make?

-W

On 26/04/2014, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
> 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