xml_builder_plus v0.0.3 XmlBuilderPlus

A module for generating XML

Examples

iex> XmlBuilderPlus.doc(:person)
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<person/>"

iex> XmlBuilderPlus.doc(:person, "Josh")
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<person>Josh</person>"

iex> XmlBuilderPlus.element(:person, "Josh") |> XmlBuilderPlus.generate
"<person>Josh</person>"

iex> XmlBuilderPlus.element(:person, %{occupation: "Developer"}, "Josh") |> XmlBuilderPlus.generate
"<person occupation=\"Developer\">Josh</person>"

iex> XmlBuilderPlus.doc_with_namespace([person: "Josh"], %{tag: 'ns'})
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<ns:person>Josh</ns:person>"

iex> XmlBuilderPlus.doc_with_namespace([person: [name: "Josh", surname: "Nash"]], %{tag: 'ns', excluded_nodes: [:person]})
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<person>\n\t<ns:name>Josh</ns:name>\n\t<ns:surname>Nash</ns:surname>\n  </person>"

Summary

Functions

doc(name_or_tuple)
doc(name, attrs_or_content)
doc(name, attrs, content)
doc_with_namespace(name_or_tuple, namespace)
doc_with_namespace(name, attrs_or_content, namespace)
doc_with_namespace(name, attrs, content, namespace)
element(name)
element(name, attrs)
element(name, attrs, content)
generate(any)
generate(any, namespace)
generate(list, level, namespace)