First, how does one execute a JSoniq query? If I put the above query
into a file and do:

  bin/zorba -f -i -r --trailing-nl -q /tmp/foo.xq

I get:

  </tmp/foo.xq>:2,8: static error [err:XPST0003]: invalid expression;
raised at .../src/compiler/translator/translator.cpp:11081

** Changed in: zorba
       Status: New => Incomplete

You received this bug notification because you are a member of Zorba
Coders, which is the registrant for Zorba.

  incorrect JSON serialization of supplementory plane code points

Status in Zorba - The XQuery Processor:

Bug description:
  this bug is a follow-up of bug #1024448

  Currently, the result of the following JSONiq query:

    let $message := "&#128074;"
    return { "message": $message }

  is serialized into incorrect JSON:

    { "message" : "\ufffffff0\uffffff9f\uffffff91\uffffff8a" }

  the correct result would be:

    { "message" : "\ud83d\udc4a" }


  Characters from the supplementory plane are usually represented in
  utf-16 surrogate pairs within JSON results. The above result is in
  particular incorrect because JSON allows only 4 hex digits after '\u'.
  utf-16 surrogate pairs alway fit into a 4 hex digit or 2 x 4 hex digit
  window which is most probably the reason why utf-16 is used.

  This has been greatly fixed in the JSON parser by Paul (see mp:
  ), but it still needs to be fixed in the serializer.

  @Paul: I'm not sure if you are the right person to assign this bug to?


To manage notifications about this bug go to:

Mailing list:
Post to     :
Unsubscribe :
More help   :

Reply via email to