com.gaumala.xml

Funciones para manipular XML usando data.xml

emit

(emit elem)

Convierte un record element a un string XML. Puedes usar map->element para generar el record.

(-> {:tag :greeting :attrs {:lang "EN"} :content ["hello"]}
    (map->element)
    (emit))
;; => <?xml version='1.0' encoding='UTF-8'?>
;;    <greeting lang="EN">hello</greeting>

find-by-tag

(find-by-tag elem tag)

Busca en el contenido de elem un elemento con tag tag. Si no lo encuentra devuelve nil.

(find-by-tag {:tag :date :content [{:tag :day :content ["01"]}
                                   {:tag :month :content ["Jan"]}
                                   {:tag :year :content ["2024"]}]}
             :month)
;; => {:tag :month :content ["Jan"]}

get-content

(get-content elem)

Devuelve el primer elemento del contenido de elem. Esta diseñada para elementos que solo contienen texto.

(get-content {:tag :description :content ["My description"]})
;; => "My description"

map->element

(map->element elem)

Convierte un mapa con keys :tag, :attrs y :content a un record element de la librería data.xml. Los items de :content también son convertidos recursivamente.

parse

(parse input)

Convierte un string XML a un record element de la libreria data.xml