Skip to content

1.48

@amaltsev amaltsev tagged this 16 Nov 01:33
This is a major change. New tests were added and old tests all pass, but
there is still a chance of an incompatibility with some old behavior.

From the docs:

  BINARY vs UNICODE
    By default expanded templates and object arguments are bytes, not
    Unicode characters. This does not mean that they cannot be used in
    Unicode (or other encoding) web sites, but it does mean that objects
    need to convert arguments and expansion results into characters
    where and as needed.

    Starting with version 1.48 it is possible to switch the engine
    into returning perl characters from template expansion and for
    passing characters in object arguments. This is achieved by setting
    /xao/page/character_mode configuration parameter to '1'.

    One exception allowing to retrieve byte data is when a template
    is expanded with 'unparsed' qualifier. This is typically used to
    pass binary data such as images and spreadsheets to objects such as
    XAO::DO::Web::Mailer.

    There is an important caveat for using 'unparsed' with binary data
    in character mode. A template like the one below wou pass perl
    characters in 'data' argument when executing Process.

      <%Process
        data={<%Page
                path='/binary/data.bin'
                unparsed
              %>}
      %>

    There is no way to mix byte and character processing mode. Pick
    one depending on your needs. Character mode allows a more natural
    processing in Perl while byte mode allows more granular control over
    the data flow.
Assets 2
Loading