RustyXML.XML (RustyXML v0.2.3)

Copy Markdown View Source

XML building DSL for constructing XML documents programmatically.

Drop-in replacement for Saxy.XML.

Example

import RustyXML.XML

doc = element("person", [{"id", "1"}], [
  element("name", [], ["John Doe"]),
  element("email", [], ["john@example.com"])
])

RustyXML.encode!(doc)
#=> "<person id=\"1\"><name>John Doe</name><email>john@example.com</email></person>"

Summary

Functions

Create a CDATA section.

Create a text content node.

Create an XML element with children.

Create an empty (self-closing) XML element.

Create a processing instruction.

Types

content()

@type content() :: String.t() | {:cdata, String.t()} | element()

element()

@type element() :: {:element, String.t(), [{String.t(), String.t()}], [content()]}

Functions

cdata(content)

@spec cdata(String.t()) :: {:cdata, String.t()}

Create a CDATA section.

characters(text)

@spec characters(String.t()) :: String.t()

Create a text content node.

element(name, attributes, children)

@spec element(String.t(), [{String.t(), String.t()}], [content()]) :: element()

Create an XML element with children.

empty_element(name, attributes \\ [])

@spec empty_element(String.t(), [{String.t(), String.t()}]) :: element()

Create an empty (self-closing) XML element.

processing_instruction(target, data)

@spec processing_instruction(String.t(), String.t()) ::
  {:processing_instruction, String.t(), String.t()}

Create a processing instruction.