Functions -
lang.xml
appendChildren | Append children to an XML if its an element type XML. Error otherwise. New children will be appended at the end of the existing children. |
concat | Concatenates xml and string values. |
copy | Make a deep copy of an XML. |
createComment | Constructs an xml sequence consisting of only a comment item. |
createElement | Constructs an xml sequence consisting of only a new element item. |
createProcessingInstruction | Constructs an xml sequence consisting of only a processing instruction item. |
elements | Selects the elements from an xml value. |
filter | Selects the items from an xml sequence for which a function returns true.
This represents each item in the same way as the |
forEach | Applies a function to each item in an xml sequence.
This represents each item in the same way as the |
fromString | Constructs an xml value from a string.
This parses the string using the |
getAttributes | Returns the map representing the attributes of |
getChildren | Returns the children of |
getContent | Returns the content of a text or processing instruction or comment item. |
getElementName | Get the fully qualified name of the element as a string. Returns an empty string if the XML is not a singleton. |
getItemType | Get the type of a XML as a string. If the XML is singleton, type can be one of 'element', 'text', 'comment' or 'pi'. Returns an empty string if the XML is not a singleton. |
getName | Returns a string giving the expanded name of |
getTarget | Returns the target part of the processing instruction. |
getTextValue | Get the text value of a XML. If the XML is a sequence, concatenation of the text values of the members of the sequence is returned. If the XML is an element, then the text value of the sequence of children is returned. If the XML is a text item, then the text is returned. Otherwise, an empty string is returned. |
isComment | Tests whether an xml value is a singleton consisting of only a comment item. |
isElement | Tests whether an xml value is a singleton consisting of only an element item. |
isEmpty | Check whether the XML sequence is empty. |
isProcessingInstruction | Tests whether an xml value is a singleton consisting of only a processing instruction item. |
isSingleton | Check whether the XML sequence contains only a single element. |
isText | Tests whether an xml sequence consists of zero or more character items. |
iterator | Returns an iterator over the xml items of |
length | Returns number of xml items in |
map | Applies a function to each item in an xml sequence, and returns an xml sequence of the results.
This represents each item in the same way as the |
removeAttribute | Remove an attribute from an XML. |
removeChildren | Remove children matching the given name from an XML. This operation has no effect if the XML is not an element type XML. |
select | Get all the items that are of element type, and matches the given qualified name, in an XML sequence. |
selectDescendants | Searches in children recursively for elements matching the qualified name and returns a sequence containing them all. Does not search within a matched result. |
setAttributes | Sets the attributes to the provided attributes map. |
setChildren | Sets the children of |
setName | Change the name of element |
slice | Returns a subsequence of an xml value. |
strip | Strips the insignificant parts of the an xml value. Comment items, processing instruction items are considered insignificant. After removal of comments and processing instructions, the text is grouped into the biggest possible chunks (i.e. only elements cause division into multiple chunks) and a chunk is considered insignificant if the entire chunk is whitespace. |
Append children to an XML if its an element type XML. Error otherwise. New children will be appended at the end of the existing children.
Parameters
- x xml
-
The xml source
- children xml
-
children
Concatenates xml and string values.
Parameters
- xs xml | string[]
-
xml or string items to concatenate
-
Return Type
(xml) an xml sequence that is the concatenation of all the
xs
; an empty xml sequence if thexs
are empty
Make a deep copy of an XML.
Parameters
- x xml
-
The xml source
-
Return Type
(xml) A Copy of the XML
Constructs an xml sequence consisting of only a comment item.
Parameters
- content string
-
the content of the comment to be constructed.
-
Return Type
(Comment) an xml sequence consisting of a comment with content
content
Constructs an xml sequence consisting of only a new element item.
Parameters
- name string
-
the name of the new element
- children xml (default concat())
-
the children of the new element
-
Return Type
(Element) an xml sequence consisting of only a new xml element with name
name
, no attributes, and childrenchildren
Constructs an xml sequence consisting of only a processing instruction item.
Parameters
- target string
-
the target part of the processing instruction to be constructed
- content string
-
the content part of the processing instruction to be constructed
-
Return Type
(ProcessingInstruction) an xml sequence consisting of a processing instruction with target
target
and contentcontent
Selects the elements from an xml value.
Parameters
- x xml
-
the xml value
-
Return Type
(xml) an xml sequence consisting of all the element items in
x
Selects the items from an xml sequence for which a function returns true.
This represents each item in the same way as the iterator
function.
Parameters
- x xml
-
xml value
-
func
function(xml | string) returns (boolean)
-
a predicate to apply to each item to test whether it should be selected
-
Return Type
(xml) new xml sequence containing items in
x
for whichfunc
evaluates to true
Applies a function to each item in an xml sequence.
This represents each item in the same way as the iterator
function.
Parameters
- x xml
-
the xml value
-
func
function(xml | string) returns (())
-
a function to apply to each item in
x
Constructs an xml value from a string.
This parses the string using the content
production of the
XML 1.0 Recommendation.
Parameters
- s string
-
a string in XML format
-
Return Type
(xml | error) xml value resulting from parsing
s
, or an error
Returns the map representing the attributes of elem
.
This includes namespace attributes.
The keys in the map are the expanded names of the attributes.
Panics if isElement(elem)
is not true.
Parameters
- x Element
-
xml element
-
Return Type
(map) attributes of
x
Returns the children of elem
.
Panics if isElement(elem)
is not true.
Parameters
- elem Element
-
xml element
-
Return Type
(xml) children of
elem
Returns the content of a text or processing instruction or comment item.
Parameters
- x Text | ProcessingInstruction | Comment
-
xml item
-
Return Type
(string) the content of
x
Get the fully qualified name of the element as a string. Returns an empty string if the XML is not a singleton.
Parameters
- x xml
-
The xml source
-
Return Type
(string) Qualified name of the XML as a string
Get the type of a XML as a string. If the XML is singleton, type can be one of 'element', 'text', 'comment' or 'pi'. Returns an empty string if the XML is not a singleton.
Parameters
- x xml
-
The xml source
-
Return Type
(XMLType) Type of the XML as a string
Returns a string giving the expanded name of elem
.
Parameters
- elem Element
-
xml element
-
Return Type
(string) element name
Returns the target part of the processing instruction.
Parameters
- x ProcessingInstruction
-
xml processing instruction item
-
Return Type
(string) target part of
x
Get the text value of a XML. If the XML is a sequence, concatenation of the text values of the members of the sequence is returned. If the XML is an element, then the text value of the sequence of children is returned. If the XML is a text item, then the text is returned. Otherwise, an empty string is returned.
Parameters
- x xml
-
The xml source
-
Return Type
(string) Text value of the xml
Tests whether an xml value is a singleton consisting of only a comment item.
Parameters
- x xml
-
xml value
-
Return Type
(boolean) true if
x
consists of only a comment item; false other
Tests whether an xml value is a singleton consisting of only an element item.
Parameters
- x xml
-
xml value
-
Return Type
(boolean) true if
x
consists of only an element item; false otherwise
Check whether the XML sequence is empty.
Parameters
- x xml
-
The xml source
-
Return Type
(boolean) Boolean flag indicating whether the XML sequence is empty
Tests whether an xml value is a singleton consisting of only a processing instruction item.
Parameters
- x xml
-
xml value
-
Return Type
(boolean) true if
x
consists of only a processing instruction item; false otherwise
Check whether the XML sequence contains only a single element.
Parameters
- x xml
-
The xml source
-
Return Type
(boolean) Boolean flag indicating whether the XML sequence contains only a single element
Tests whether an xml sequence consists of zero or more character items.
Parameters
- x xml
-
xml value
-
Return Type
(boolean) true if
x
is a sequence containing only character items; false otherwise
Returns an iterator over the xml items of x
Parameters
- x xml
-
xml item to iterate
-
Return Type
($anonType$9) iterator object A character item is represented by a string of length 1. Other items are represented by xml singletons.
Returns number of xml items in x
.
Parameters
- x xml
-
xml item
-
Return Type
(int) number of XML items in
x
Applies a function to each item in an xml sequence, and returns an xml sequence of the results.
This represents each item in the same way as the iterator
function.
Parameters
- x xml
-
the xml value
-
func
function(xml | string) returns (xml | string)
-
a function to apply to each child or
item
-
Return Type
(xml) new xml value containing result of applying paramter
func
to each child oritem
Remove an attribute from an XML.
Parameters
- x xml
-
The xml source
- qname string
-
Qualified name of the attribute
Remove children matching the given name from an XML. This operation has no effect if the XML is not an element type XML.
Parameters
- x xml
-
The xml source
- qname string
-
Namespace qualified name of the children to be removed
Get all the items that are of element type, and matches the given qualified name, in an XML sequence.
Parameters
- x xml
-
The xml source
- qname string
-
Qualified name of the element
-
Return Type
(xml) All the elements-type items in the given XML sequence, that matches the qualified name
Searches in children recursively for elements matching the qualified name and returns a sequence containing them all. Does not search within a matched result.
Parameters
- x xml
-
The xml source
- qname string
-
Qualified name of the element
-
Return Type
(xml) All the descendants that matches the given qualified name, as a sequence
Sets the attributes to the provided attributes map.
Parameters
- x xml
-
The xml source
- attributes map
-
Attributes map
Sets the children of elem
to children
.
Panics if isElement(elem)
is not true.
Parameters
- elem Element
-
xml element
- children xml | string
-
xml or string to set as children
Change the name of element elem
to xName
.
Parameters
- elem Element
-
xml element
- xName string
-
new expanded name
Returns a subsequence of an xml value.
Parameters
- x xml
-
the xml value
- startIndex int
-
start index, inclusive
- endIndex int (default x.length(x))
-
end index, exclusive
-
Return Type
(xml) a subsequence of
x
consisting of items with index >= startIndex and < endIndex
Strips the insignificant parts of the an xml value. Comment items, processing instruction items are considered insignificant. After removal of comments and processing instructions, the text is grouped into the biggest possible chunks (i.e. only elements cause division into multiple chunks) and a chunk is considered insignificant if the entire chunk is whitespace.
Parameters
- x xml
-
the xml value
-
Return Type
(xml) x
with insignificant parts removed