Kawa has a number of experimental features for working with XML.
These are built on the concepts of the gnu.lists
package.
Function: make-element
tag
[attribute
...
] child
...
Create a representation of a XML element, corresponding to
<tag
attribute
...>child
...</tag
>The result is a
TreeList
, though if the result context is a consumer the result is instead "written" to the consumer. Thus nested calls tomake-element
only result in a singleTreeList
. More generally, whether anattribute
orchild
is includded by copying or by reference is (for now) undefined. Thetag
should currently be a symbol, though in the future it should be a qualified name. Anattribute
is typically a call tomake-attribute
, but it can be any attribute-valued expression.(make-element 'p "The time is now: " (make-element 'code (make <java.util.Date>)))
W3C is working an an XML Query language,
and a draft has been released.
If you start Kawa with the --xquery
it selects the "XQuery"
source language; this also prints output using XML syntax.
See the Qexo (Kawa-XQuery) home page
for examples and more information.
There is an experimental implementation of the XSLT (XML Stylesheet
Language Transformations) language. Selecting --xslt
at the
Kawa command line will parse a source file according to the syntax
on an XSLT stylesheet.
See the Kawa-XSLT page
for more information.