Как выполнить преобразования XML с Ballerina? - PullRequest
0 голосов
/ 11 сентября 2018

Что предлагает Ballerina для преобразования XML? Варианты для Xpath, Xsd, Xslt? Я изучаю балерину и не нашла подходящих вариантов для выполнения XML-запросов и преобразований.

1 Ответ

0 голосов
/ 13 сентября 2018

Балерина все еще не поддерживает OOB для XSLT. Однако синтаксиса языка достаточно для написания собственного преобразователя. Он обеспечивает синтаксис xpath для доступа к элементам и атрибутам.

например:

xml bookXML = xml `<book>
            <name>Sherlock Holmes</name>
            <author>
                <fname title="Sir">Arthur</fname>
                <mname>Conan</mname>
                <lname>Doyle</lname>
            </author>
            <!--Price: $10-->
            </book>`;

// Can access inner elements using field-access syntax, and attribute using '@' sign.
string title = bookXML.author.fname@["title"]

// OR
string title = bookXML["author"]["fname"]@["title"]

Существует также другая группа нативных функций для выполнения других манипуляций с XML, таких как selectDescendants(), slice() и т. Д. Их можно найти в [1].

Точно так же вы можете написать свой собственный XSD-парсер и валидатор, используя вышеуказанные языковые функции.

[1] https://ballerina.io/learn/by-example/xml-functions.html

...