[xquery-talk] Wrapping element conditionally

Misztur, Chris CMisztur at macleanfogg.com
Mon Dec 16 09:33:24 PST 2013


Can you explain this more:

($fn($el)[$bool], $el)[1]

[Description: Description: C:\Users\bduffy\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook\WXCD6RUK\MF_4C_email (2).jpeg]

Chris Misztur | Engineer, Business Systems
1000 Allanson Rd, Mundelein, IL 60060 (Map<http://g.co/maps/kxf8e>)
Office +1 847 837-3729 | Cell +1 312 504-0681
www.macleanfoggcs.com<http://www.macleanfoggcs.com/>

From: James Fuller [mailto:james.fuller.2007 at gmail.com]
Sent: Monday, December 16, 2013 11:10 AM
To: David Lee
Cc: David Carlisle; Misztur, Chris; talk at x-query.com
Subject: Re: [xquery-talk] Wrapping element conditionally

and for a bit of xquery 3.0 fun

xquery version "3.0";

let $apply:= function($bool,$fn,$el){ ($fn($el)[$bool], $el)[1] }

let $wrap := true() ,
    $p := <p>something here</p>
return
$apply(
   $wrap,
   function($el){<html><body>{$el}</body></html>},
   $p)



On Mon, Dec 16, 2013 at 6:01 PM, David Lee <dlee at calldei.com<mailto:dlee at calldei.com>> wrote:
FYI the key to understanding XQuery (and XSLT) is that you are not "printing lines" your generating element.  *full elements* with these constructs.
You cant just   printf("<html>")  then later printf("</html>")

You are constructing an entire element including the start, end and body all at once.
So you cant conditionally include or exclude half the markup.


-----Original Message-----
From: talk-bounces at x-query.com<mailto:talk-bounces at x-query.com> [mailto:talk-bounces at x-query.com<mailto:talk-bounces at x-query.com>] On Behalf Of David Carlisle
Sent: Monday, December 16, 2013 11:47 AM
To: Misztur, Chris; talk at x-query.com<mailto:talk at x-query.com>
Subject: Re: [xquery-talk] Wrapping element conditionally

On 16/12/2013 16:28, Misztur, Chris wrote:
> How would I get the output to look like:
>
> <html><body><p/></body><html>
>
> Or just:
>
> <p/>

<html><body><p>something here</p></body></html>/
    (if($wrap) then . else body/p)

David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs.
________________________________________________________________________
_______________________________________________
talk at x-query.com<mailto:talk at x-query.com>
http://x-query.com/mailman/listinfo/talk
_______________________________________________
talk at x-query.com<mailto:talk at x-query.com>
http://x-query.com/mailman/listinfo/talk


________________________________

The contents of this message may be privileged and confidential. Therefore, if this message has been received in error, please delete it without reading it. Your receipt of this message is not intended to waive any applicable privilege. Please do not disseminate this message without the permission of the author.

Please consider the environment before printing this e-mail

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20131216/1aaee470/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 3479 bytes
Desc: image001.jpg
URL: <http://x-query.com/pipermail/talk/attachments/20131216/1aaee470/attachment.jpg>


More information about the talk mailing list