Механизм шаблонов на стороне клиента с поддержкой XML

Существует ли механизм шаблонов на стороне клиента с поддержкой XML/Xpath? Я просмотрел руль, усы, подчеркивание и т. д., но похоже, что они могут принимать только объект JSON в качестве контекста.

Что я действительно ищу, так это иметь xpath в выражениях:

<div>
   <h1>{{/person/address/street}} </h1>
</div>

Данные:

<person>
    <name>Some name</name>
    <address>
        <street>5th Lane</street>
    <address>
</person>

И код JS, например:

Template.render('template.html', data.xml);

Я понимаю, что можно преобразовать XML в JSON либо на стороне клиента, либо на стороне сервера и использовать руль. Но я просто хотел избежать этого преобразования, чтобы сократить время обработки.


person Fahim Farook    schedule 25.10.2015    source источник


Ответы (1)


Окончательным механизмом шаблонов, поддерживающим XML и XPath, является, конечно же, XSLT, который может быть выполнить на стороне клиента.

Кроме того, у Saxonica есть библиотека Saxon-CE, которая позволяет XSLT 2.0 работать в веб-браузерах.

person kjhughes    schedule 25.10.2015
comment
XSLT не подходит для меня, так как таблица стилей быстрее становится непригодной для сопровождения и не поддерживает мобильные браузеры. Однако зачем нам нужен Saxon-CE для запуска XSTL в веб-браузерах? XSTL поддерживается основными веб-браузерами и не требует каких-либо библиотек. - person Fahim Farook; 25.10.2015
comment
Раньше становится непригодным для сопровождения: неправда, но не поощряет его использование в браузерах, а не на стороне сервера, поэтому согласен с вами в этом отношении. Чтобы ответить на ваш другой вопрос: XSLT 1.0 в той или иной степени поддерживается основными веб-браузерами. XSLT 2.0 — нет, но есть от Saxon-CE. - person kjhughes; 25.10.2015