Skip to content

chinnurtb/erlxslt-2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Erlang Xslt & Xml (Что это)

Простой многопоточный xslt-преобразователь. В комлекте прилагается сериализатор в xml.

Requirements (Что нужно)

  • libxml2
  • libxslt
  • gcc
  • gnumake
  • erlang
  • rebar

Options (Настройка)

* В `./rebar.conf` (`DRV_LDFLAGS`) можно стереть `-DDEBUG`
    тем самым вы включите кеширование шаблонов.write_cmd

Example (Пример)

Xslt

Xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
"<catalog>"
"<cd>"
    "<title>Empire Burlesque</title>"
    "<artist>Bob Dylan</artist>"
    "<country>USA</country>"
    "<company>Columbia</company>"
    "<price>10.90</price>"
    "<year>1985</year>"
    "</cd>"
"</catalog>",

xslt:start_link(),
xslt:apply("priv/xsl/template.xsl", Xml).

Xml

Seq

>>> xml:encode_seq({data, "some data"}).
"<data>some data</data>"
>>> xml:encode_seq({data, [a, b, c]})
"<data><item>a</item><item>b</item><item>c</item></data>",
>>> xml:encode_seq({data,{more, 1}})
"<data><more>1</more></data>"

Para

>>> xml:start_link().
>>> xml:encode({data, "some data"}).
"<data>some data</data>"
>>> xml:encode({data, [a, b, c]})
"<data><item>a</item><item>b</item><item>c</item></data>",
>>> xml:encode({data,{more, 1}})
"<data><more>1</more></data>"

Credis (Кто это натворил)

  • Сергей Кожевников (Serge Kozhevnikov aka cff, 2011);
  • Илья w-495 Никитин (w-495, 2012).

TODO

* Документировать код.
* Перевести xml на xmerl.
* Оформить в виде отдельной ноды.

About

Erlang xslt processor with pool and lightweight xml serializer (from lists and proplists).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published