- From: Norman Walsh <ndw@nwalsh.com>
- Date: Sun, 14 Dec 2008 21:39:50 -0500
- To: XProc Dev <xproc-dev@w3.org>
- Message-ID: <m21vwajh55.fsf@nwalsh.com>
Jeni Tennison <jeni@jenitennison.com> writes: > <p:with-option name="replace" > select="concat('"', > replace($product-name, '"', '""'), > '"')" /> Ooh! Bonus points to Jeni for handling the case where the replacement text contains a double quote! :-) > Maybe there'd be a use for a p:set-value step. I don't know. You can certainly write your own. And I'm happy to add it to exproc.org if there's interest. Here's set-value.xpl: <p:declare-step type="ex:set-value" xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:ex="http://example.com/ns/xproc-example" xmlns:p="http://www.w3.org/ns/xproc" exclude-inline-prefixes="c ex p"> <p:output port="result"/> <p:option name="value" required="true"/> <p:string-replace match="c:result/text()"> <p:input port="source"> <p:inline><c:result>text</c:result></p:inline> </p:input> <p:with-option name="replace" select="concat('"', replace($value, '"', '""'), '"')"> <p:empty/> </p:with-option> </p:string-replace> </p:declare-step> and here's an example of how to use it: <p:pipeline name="pipeline" xmlns:ex="http://example.com/ns/xproc-example" xmlns:p="http://www.w3.org/ns/xproc"> <p:import href="set-value.xpl"/> <p:variable name="some-string" select="'my "value'"/> <ex:set-value> <p:with-option name="value" select="$some-string"/> </ex:set-value> </p:pipeline> Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | They that can give up essential liberty http://nwalsh.com/ | to obtain a little temporary safety | deserve neither liberty nor | safety.--Benjamin Franklin
Received on Monday, 15 December 2008 02:40:30 UTC