Difference between revisions of "CSV Module"
Jump to navigation
Jump to search
| Line 30: | Line 30: | ||
{ 'separator' : ';', ... } | { 'separator' : ';', ... } | ||
</pre> | </pre> | ||
| + | |- | ||
| + | | '''Errors''' | ||
| + | |{{Error|BXCS0001|#Errors}} the input cannot be converted.<br/>{{Error|BXCS0003|#Errors}} the specified separator must be a single character. | ||
| + | |} | ||
| + | ==csv:serialize== | ||
| + | {| width='100%' | ||
| + | |- | ||
| + | | width='120' | '''Signatures''' | ||
| + | |{{Func|csv:serialize|$input as node(), $options as item()|xs:string}} | ||
| + | |- | ||
| + | | '''Summary''' | ||
| + | |Serializes the node specified by {{Code|$input}} as CSV data, and returns the result as {{Code|xs:string}}.<br />XML documents can also be serialized as CSV if the [[Serialization|Serialization Option]] {{Code|"method"}} is set to {{Code|"csv"}}.<br/>The {{Code|$options}} argument can be used to control the way the node is serialized. The following options are available: | ||
| + | * {{Code|separator}} defines the character which separates columns in a row. By default, this is a comma ({{Code|,}}). | ||
| + | * {{Code|headers}} specifies if the input element names are to be interpreted as header names. The default value is {{Code|false}}. | ||
| + | Options can either be specified<br /> | ||
| + | * as children of an {{Code|<csv:options/>}} element; e.g.: | ||
| + | <pre class="brush:xml"> | ||
| + | <csv:options> | ||
| + | <csv:separator value=';'/> | ||
| + | ... | ||
| + | </csv:options> | ||
| + | </pre> | ||
| + | * or as map, which contains all key/value pairs: | ||
| + | <pre class="brush:xquery"> | ||
| + | { 'separator' : ';', ... } | ||
| + | </pre> | ||
|- | |- | ||
| '''Errors''' | | '''Errors''' | ||
| − | |{{Error| | + | |{{Error|BXCS0002|#Errors}} the input cannot be serialized.<br/>{{Error|BXCS0003|#Errors}} the specified separator must be a single character. |
|} | |} | ||
| Line 41: | Line 67: | ||
! width="110"|Code | ! width="110"|Code | ||
|Description | |Description | ||
| + | |- | ||
| + | |{{Code|BXCS0001}} | ||
| + | | The input cannot be converted. | ||
| + | |- | ||
| + | |{{Code|BXCS0002}} | ||
| + | | The node cannot be serialized. | ||
|- | |- | ||
|{{Code|BXCS0001}} | |{{Code|BXCS0001}} | ||
Revision as of 15:32, 24 September 2013
This XQuery Module contains a single function to parse CSV input. CSV (comma-separated values) is a popular representation for tabular data, exported e. g. from Excel.
Conventions
All functions in this module are assigned to the http://basex.org/modules/csv namespace, which is statically bound to the csv prefix.
All errors are assigned to the http://basex.org/errors namespace, which is statically bound to the bxerr prefix.
CSV Functions
csv:parse
| Signatures | csv:parse($input as xs:string) as element(csv)csv:parse($input as xs:string, $options as item()) as element(csv)
|
| Summary | Converts the CSV data specified by $input to XML, and returns the result as element(csv) value.The $options argument can be used to control the way the input is converted. The following options are available:
Options can either be specified
<csv:options> <csv:separator value=';'/> ... </csv:options>
{ 'separator' : ';', ... }
|
| Errors | BXCS0001: the input cannot be converted.BXCS0003: the specified separator must be a single character.
|
csv:serialize
| Signatures | csv:serialize($input as node(), $options as item()) as xs:string
|
| Summary | Serializes the node specified by $input as CSV data, and returns the result as xs:string.XML documents can also be serialized as CSV if the Serialization Option "method" is set to "csv".The $options argument can be used to control the way the node is serialized. The following options are available:
Options can either be specified
<csv:options> <csv:separator value=';'/> ... </csv:options>
{ 'separator' : ';', ... }
|
| Errors | BXCS0002: the input cannot be serialized.BXCS0003: the specified separator must be a single character.
|
Errors
| Code | Description |
|---|---|
BXCS0001
|
The input cannot be converted. |
BXCS0002
|
The node cannot be serialized. |
BXCS0001
|
The specified separator must be a single character. |
Changelog
The module was introduced with Version 7.7.2.