On 10/22/2010 06:40 PM, Laurence Rowe wrote:
> 
> 
> Laurence Rowe wrote:
>>
>>
>> Kees Hink wrote:
>>>
>>> I'm now trying to change the img src attribute:
>>>
>>>     <xsl:template
>>>         match="i...@class='collage-image']">
>>>         <xsl:copy/>_thumb
>>>     </xsl:template>
>>>
>>> and getting this error:
>>>
>>> XSLTApplyError: Attribute nodes must be added before any child nodes to
>>> an element.
>>>
>>> I've solved it by doing this:
>>>
>>>     <xsl:template
>>>         match="i...@class='collage-image']">
>>>          
>>>             <xsl:attribute name="src">
>>>             <xsl:value-of select="./@src" />_thumb
>>>             </xsl:attribute>
>>>         </img>
>>>     </xsl:template>
>>>
>>
>> It's probably better to match the attribute directly. See the example I
>> posted earlier at
>> https://codespeak.net/svn/z3/xdv/trunk/lib/xdv/tests/inline-xsl-example-modify-attribute/
>>
> 
> To be clear, I mean:
> 
>     <xsl:template match="i...@class='collage-image']/@src">
>         <xsl:attribute name="src"><xsl:value-of select="."
> />_thumb</xsl:attribute>
>     </xsl:template> 
> 
> Laurence

Thanks for pointing that out.

As an extension of this, I'm trying to show images from news items in another
scale, "news" instead of "mini". I tried this:

<rules
    ...
    xmlns:str="http://exslt.org/strings";
    >

    <xsl:template match="i...@class='newsImage']/@src">
        <xsl:value-of select="str:replace(., '_mini', '_news')" />
    </xsl:template>

but alas, "XSLTApplyError: Attribute nodes must be added before any child nodes
to an element."

(This thread is turning into a nice list of 
stuff-to-put-in-Diazo-documentation.)
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to