W3C home > Mailing lists > Public > xproc-dev@w3.org > June 2012

Re: Transfer attribute data into a text node (apparently not with p:string-replace)

From: Romain Deltour <rdeltour@gmail.com>
Date: Tue, 26 Jun 2012 21:59:11 +0200
Cc: XProc Dev <xproc-dev@w3.org>
Message-Id: <26A66661-49C8-4D2B-8C5B-871FE9001152@gmail.com>
To: Georges Schmitz <georges.schmitz@arcor.de>
I suppose that if the element has no content you can always add a dummy child node with p:insert, then p:string-replace this dummy child with your string value.

http://www.w3.org/TR/xproc/#c.insert

Romain.

On 26 juin 2012, at 18:31, Georges Schmitz wrote:

> Hi,
> 
> I wonder if there is an elegant way to get this working on "empty text nodes".
> 
> I have to achieve a transfer of attribute data into a text node :
> <status value="active"/>  => <status>active</status>
> 
> So my approach was to first create the text node and in a second step drop the "value" attribute. But the creation of text nodes already fails with:
> <p:string-replace match="*[@value]/node()" replace="parent::*/@value" name="value-attr2textnode"/>
> 
> For 
> <status value="active"/>
> 
> <p:string-replace> doesn't produce anything, you need at least whitepsace in between. 
> <status value="active"> </status>
> It seems that "string-replace" is interpreted pretty literally; if there is no text node, nothing to replace and it won't be created. 
> 
> Should I solve this with a little inline XSLT (which is easy), or can this be done with lean XProc "on-board equipment"?
> 
> Thanks for any response,
> Georges
Received on Tuesday, 26 June 2012 19:59:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 26 June 2012 19:59:44 GMT