- From: Michael Kay <mike@saxonica.com>
- Date: Thu, 10 Sep 2015 23:56:48 +0100
- To: "Robie, Jonathan" <jonathan.robie@emc.com>
- Cc: Liam Quin <liam@w3.org>, Josh Spiegel <josh.spiegel@oracle.com>, Public Joint XSLT XQuery XPath <public-xsl-query@w3.org>
It does look a lot cleaner and less cluttered to me that the version with dollar signs, and less likely to cause confusion.
With the dollar sign, I worry that people will get very confused about the distinction between ${name} and {$name}.
Michael Kay
Saxonica
> On 10 Sep 2015, at 21:52, Robie, Jonathan <jonathan.robie@emc.com> wrote:
>
> My previous modification to Liam's proposal had some characters messed up. Here it is again, this time I didn't try to compose it in Outlook ....
>
> Suppose we did this:
>
> ExtStringConstructor ::= "~~|" ExtStringText "|~~"
> ExtStringText := ((Char* - "~~{") | "~~{" Expr "}~~")*
>
> That makes our earlier example look like this:
>
> ~~| ~~{ "${" }~~ |~~
>
> Here is a longer example, modified from Liam's proposal:
>
> declare variable $json := ~~| {"menu": {
> "id": "file",
> "value": "File",
> "popup": {
> "menuitem": [
> {"value": "New", "onclick": "CreateNewDoc()"},
> {"value": "Open", "onclick": "OpenDoc()"},
> {"value": "Close", "onclick": "CloseDoc()"},
> {"callback": null },
> {"session-id": ~~{ get-session-id() }~~ }
> ]
> }
> }} |~~ ;
>
> Since you can embed any arbitrary expression, you can effectively do an escape by assigning a sequence to a string variable.
>
> declare variable $double-squiggle := "~~";
> declare variable $pipe := "|";
>
> ~~| ~~{ $double-squiggle, $pipe }~~ |~~
>
> Do we need an escape mechanism beyond that?
>
> Jonathan
>
Received on Thursday, 10 September 2015 22:57:13 UTC