xml:prettyPrint() Query Function

Pretty Prints an XML field. This can be an expensive operation and you should usually do this after filtering your data (at the end of your query) This will prevent data that will be filtered out from being formatted. If the field does not contain valid XML, the unmodified input value is stored in the output field. If no field is specified the @rawstring will be formatted.

Parameters

Name

Type

Required

Default

Description

field

string

Yes

@rawstring

The name of the field to format.

width

number

No

80

The width (in number of characters) to fit the output input.

step

number

No

2

The indentation in number of characters.

strict

boolean

No

false

If set to true only valid XML input produce a value in the output field. By default invalid XML is copied to the output field unmodified.

as

string

No

The name of the field to store the output in.

The implied parameter is field.

Examples

Format XML in the @rawstring field after filtering the data.

humio
#type=SOAP | account=123 | xml:prettyPrint()

Format XML in the field field payload to a max line length of 100 and indent by 4 spaces.

humio
formattedXml := xml:prettyPrint(field=payload, step=4, width=100)

Only copy valid XML to the output field by setting strict=true Here the field formattedXml will not be created for events with invalid XML in message.

humio
formattedXml := xml:prettyPrint(field=message, strict=true)