Компилировать в xslt?

Ответ на этот вопрос вполне может быть отрицательным, так как многие поиски ничего не дали. Я давно думал, что видел что-то подобное, но, возможно, все это был мираж.

По сути, это так ужасно ужасно писать xslt вручную. Меня не беспокоит функциональная парадигма. Меня беспокоит тот факт, что он использует синтаксис на основе XML. Интересно, есть ли что-нибудь, что можно скомпилировать из более простого и понятного синтаксиса в таблицу стилей XSLT? Не обязательно иметь фигурные скобки, но угловые скобки немного ошеломляют.

спасибо.

4 голоса | спросил Breton 14 AM00000020000005531 2009, 02:35:55

5 ответов


0

Вы можете перевести S-выражения как SXML в XML. Вместо использования угловых скобок, это будет использовать скобки с немного менее загроможденным синтаксисом:

(xsl:template (@ (name "mytemplate"))
  (xsl:if (@ (test "foo = 'bar'"))
    (xsl:value-of (@ (select "@baz")))))

Является ли это улучшением по сравнению с XML, конечно, зависит от ваших личных вкусов.

ответил Greg Hewgill 14 AM00000020000003131 2009, 02:56:31
0

Полагаю, вы могли бы написать JSON и преобразовать его в XML. JSON.NET может выполнять конвертацию между двумя форматами.

Этот XML:

<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
 <glossary><title>example glossary</title>
  <GlossDiv><title>S</title>
   <GlossList>
    <GlossEntry ID="SGML" SortAs="SGML">
     <GlossTerm>Standard Generalized Markup Language</GlossTerm>
     <Acronym>SGML</Acronym>
     <Abbrev>ISO 8879:1986</Abbrev>
     <GlossDef>
      <para>A meta-markup language, used to create markup
languages such as DocBook.</para>
      <GlossSeeAlso OtherTerm="GML">
      <GlossSeeAlso OtherTerm="XML">
     </GlossDef>
     <GlossSee OtherTerm="markup">
    </GlossEntry>
   </GlossList>
  </GlossDiv>
 </glossary>

В JSON это выглядит так:

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
           "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
            "SortAs": "SGML",
            "GlossTerm": "Standard Generalized Markup Language",
            "Acronym": "SGML",
            "Abbrev": "ISO 8879:1986",
            "GlossDef": {
                                 "para": "A meta-markup language, used to create markup languages such as DocBook.",
                     "GlossSeeAlso": ["GML", "XML"]
                           },
               "GlossSee": "markup"
                }
            }
        }
    }
}
ответил Robert Harvey 14 AM00000020000004331 2009, 02:48:43
0

Я пока не знаю ни одного компилятора для преобразования в XSLT.

Однако я знаю несколько инструментов /идей, которые могут упростить работу в XSLT.

Stylus Studio

IDE Netbeans это бесплатно

Вы также можете найти инструмент с открытым кодом здесь.

ответил Kevin Boyd 14 AM00000020000003031 2009, 02:45:30
0

Если вам нужно нечто, обладающее (большей частью) выразительной силой XSLT при работе с документом XML, но вам не нравится подробный синтаксис вне XPath, то, возможно, вам следует взглянуть на XQuery .

ответил Pavel Minaev 14 AM00000060000003231 2009, 06:37:32
0

Приложение Oxygen XML творит чудеса, когда дело доходит до поддержки чего-либо на основе SGML. Не пытайтесь написать свой XSLT в блокноте, вы, вероятно, в конечном итоге совершите самоубийство:)

http://www.oxygenxml.com/

ответил Rich Seviora 15 PM00000050000003131 2009, 17:27:31

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132