Difference between revisions of "Serialization"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
* by setting the [[Options#Query Options|SERIALIZER]] option before running a query, | * by setting the [[Options#Query Options|SERIALIZER]] option before running a query, | ||
* by setting the [[Options#Query Options|EXPORTER]] option before exporting a database, or | * by setting the [[Options#Query Options|EXPORTER]] option before exporting a database, or | ||
− | * by setting them via the [[JAX-RX_API#Query_Parameters| | + | * by setting them via the <code>"output"<code> parameter of the [[JAX-RX_API#Query_Parameters|JAX-RX API]]. |
==Parameters== | ==Parameters== |
Revision as of 17:28, 14 August 2011
Serialization parameters define how XQuery items and XML nodes are textually output, i.e., serialized. They have been formalized in the W3C XQuery Serialization 3.0 document. In BaseX, they can be specified in several ways:
- by including them in the prolog of the XQuery expression,
- by specifying them in the XQuery functions file:write() or fn:serialize(),
- by using the
-s
flag of the BaseX command-line clients, - by setting the SERIALIZER option before running a query,
- by setting the EXPORTER option before exporting a database, or
- by setting them via the
"output"
parameter of the JAX-RX API.
Parameters
The following table gives a brief summary of all serialization parameters recognized by BaseX. For details, please refer to official specification.
Parameter
Description
Allowed
Default
Examples
method
Specifies the serialization method. If json
is specified, the XML document must conform to the BaseX JSON syntax.
xml
, xhtml
, html
, text
, json
xml
method=xml
version
Specifies the version of the serializer.
xml/xhtml
: 1.0
, 1.1
html
: 4.0
, 4.01
1.0
version=1.0
encoding
Encoding to be used for outputting the data.
All encodings supported by Java
UTF-8
encoding=US-ASCII
indent
Adjusts whitespaces to make the output better readable.
yes
, no
yes
indent=no
cdata-section-elements
List of elements to be output as CDATA, separated by whitespaces.
Example: <text><![CDATA[ <> ]]></text>
cdata-section-elements=text
omit-xml-declaration
Omits the XML declaration, which is serialized before the actual query result
Example: <?xml version="1.0" encoding="UTF-8"?>
yes
, no
yes
omit-xml-declaration=no
standalone
Prints or omits the "standalone" attribute in the XML declaration.
yes
, no
, omit
omit
standalone=yes
doctype-system
Introduces the output with a document type declaration and the given system identifier.
Example: <!DOCTYPE x SYSTEM "entities.dtd">
doctype-system=entities.dtd
doctype-public
If doctype-system
is specified, adds a public identifier.
Example: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
doctype-public=-//W3C//DTD HTML 4.01//EN,
doctype-system=http://www.w3.org/TR/html4/strict.dtd
undeclare-prefixes
Undeclares prefixes in XML 1.1.
yes
, no
no
undeclare-prefixes=yes
normalization-form
Specifies a normalization form. BaseX supports Form C (NFC
).
NFC
, none
NFC
normalization-form=none
media-type
Specifies the media type.
application/xml
media-type=text/plain
use-character-maps
Defines character mappings (not supported).
byte-order-mark
Prints a byte-order-mark before starting serialization.
yes
, no
no
byte-order-mark=yes
escape-uri-attributes
Escapes URI information in certain HTML attributes
Example: <a href="%C3%A4%C3%B6%C3%BC">äöü<a>
yes
, no
no
escape-uri-attributes=yes, method=html
include-content-type
Includes a meta
content-type element if the result is output as HTML
Example: <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
yes
, no
no
include-content-type=yes, method=html
BaseX provides some additional, implementation-defined serialization parameters:
Parameter
Description
Allowed
Default
Examples
format
Turns output formatting on/off, including the conversion of special characters to entities. This flag can be turned off to simplify the handling of plain-text results.
yes
, no
yes
format=no
tabulator
Uses tab characters (\t
) for indenting elements.
yes
, no
no
tabulator=yes
indents
Specifies the number of characters to be indented.
2
indents=1, tabulator=yes
wrap-prefix
,
wrap-uri
Specifies a prefix and/or URI for wrapping the query results.
wrap-prefix=jax-rx, wrap-uri=http://jax-rx.sourceforge.net