Type-safe access to the XML formats. See: http://0install.net/interface-spec.html http://0install.net/selections-spec.html
Internally, all _ t
types are just Support.Qdom.element
, but we add a
phantom type parameter to avoid mix-ups. e.g. a [`command] t
is an element
that we know is a <command>.
The type parameter is a polymorphic variant because many commands work on
multiple element types. For example, many elements have an 'interface'
attribute, so the interface
function accepts multiple types.
Copy element with a new interface. Used to make relative paths absolute.
raise_elem "Problem with" elem
raises a Safe_exception
with the message "Problem with <element> at ..."
Like raise_elem
, but writing a log record rather than raising an exception.