======XDM Serialization Use Case 1======
=====Exchange of XDM data between XDM Tools in different environments=====
An XDM Producer (for example XQuery) outputs XDM data that it would like to exchange with an XDM Consumer (for example XSLT) which is running in a different environment. Even if the the tools are from the same vendor they cannot directly exchange XDM data because the XDM representation is 'in memory' and cannot cross process boundries.
===Actors===
==XDM Producer==
An XQuery process which produces a sequences of nodes.
Example
%%
( , , 3 , "Text" )
%%
==XDM Consumer==
An XSLT process which accepts a XDM value as a parmeter
Example
%%
%%
===Expected Use===
To pass the results from the XDM Producer to the XDM Consumer across environments, a text serialization is produced by the XDM Producer and the resulting file (or byte stream) is reconstituted in the environment of the XDM Consumer.
Example of a file based process
%%
xquery -f query.xquery > result.txt
xslt -f style.xsl -param-name list -param-file result.txt
%%
----
[[XDMSerialize]]