2009-08-13 14 views
4

多くの検索が何も出てこないので、これに対する答えは非常にいいかもしれません。私はずっと前にこのようなことを見たと思っていたが、すべてが奇跡であったかもしれない。xsltにコンパイルしますか?

基本的に、それはとてもひどくひどいので、xsltを手で書きます。私を悩ます機能的なパラダイムではありません。私が気にするのは、XMLベースの構文を使用しているという事実です。わかりやすい構文からXSLTスタイルシートにコンパイルできるものがあるのだろうかと思います。中かっこは必要ありませんが、角かっこはちょっとぶれています。

ありがとうございました。

答えて

3

あなたはXMLへSXMLとしてS式を変換できます。代わりに角括弧を使用しての、これはわずかに少なく雑然と構文で括弧を使用します。これはXMLの改良であるかどうか

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

することはもちろん、あなたの個人的な好みに依存します。

0

私はまだXSLTに変換するコンパイラについて知らない。

しかし、私はXSLTで簡単に作業できるいくつかのツール/ ideを知っています。

Stylus Studio

Netbeans IDEこれはあなたがまた、私はあなたがJSONを書いて、それをXMLに変換することができたとしたオープンソースのツールhere.

1

を見つけることができる

無料です。 JSON.NETは、2つの形式の間で変換が可能です。

この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" 
       } 
      } 
     } 
    } 
} 
+0

残念ながら、私はあなたのJSONの翻訳は、多くのJSONパーサに忠実であるとは思いません。 jsonメンバーの順番は私の理解にとらわれませんが、忠実なXML表現のために順序を保持する必要があります。 – Davorak

0

XML文書を扱うときに(ほとんどの)XSLTの表現力があるが、XPath以外では冗長な構文が嫌いな人は、XQueryをご覧ください。

+0

私はXqueryをネイティブにサポートするブラウザを見たことがなく、主要なブラウザはすべてXSLTをサポートしています。 – Breton

+0

ブラウザはXSLTにとってかなりマイナーなニッチですが、それ以上の用途があり、ブラウザではそれほど意味がありません。さらに、XQueryは1.0ではなくXSLT 2.0の代替品です。私が知っているすべてのブラウザは1.0しかサポートしていません。 –

0

Oxygen XMLアプリケーションは、SGMLベースのものを維持することに関して不思議に思っています。メモ帳であなたのXSLTを記述しようとしないでください、あなたはおそらく自殺を終わるだろう:)

http://www.oxygenxml.com/

関連する問題