7

HAML を発見したばかりで、その簡潔さと読みやすさが気に入っています。XSLT に相当するものはありますか? 特に、山かっこを含む出力と山かっこを含むマークアップ自体を簡単に区別できるものが欲しいです。

特殊な XSLT 抽象化言語が存在しない場合、少なくとも XML の一般的な形式で機能するものはありますか?

編集 楽しみのために、実際の Haml (実際には HamlPy) を使用して XSLT を生成する簡単なテストを行いました。私が観察した欠点:

  • ハイフンでつながれた要素名はサポートされていません (少なくとも HamlPy では)
  • %xsl:foo簡潔ではありません。XLS 名前空間の特殊文字#foo
  • HTML固有のルールが邪魔になる(私の場合、特別な自己終了タグのルール<meta>が問題です)
  • %xsl:attribute(name="foo" value="blah")まだ冗長すぎる。のようなもの.foo="blah"が良いでしょう。
  • のような特定の属性selectは非常に一般的であり、暗黙的にすることができます: #value-of "./a[@href]"
  • -やロジックを処理するための機能=は必要ないため、xquery や xpath などに再利用できます。または{foo}、の略記かもしれません<xsl:value-of select="foo"/>。それはクールだろう:%p(style={../[@style]})
4

2 に答える 2

2

Michael Kay からの指摘に感謝します。

RXSLT

「本物の XSLT」: http://www.wilmott.ca/rxslt/rxslt.html

template doc
   apply-templates
 template doc/title
   <H1>{apply-templates}</H1>
 template doc/para
   <P>{apply-templates}</P>

XSLTXT

非常に古い (2002 年)、ずっと前に放棄されました。

tpl .name "foo" ("a", "b")
  "SELECT "
  val "$a"
  " FROM "
  val "$b"

http://savannah.nongnu.org/projects/xsltxt

LX

Lisp っぽいコンパクトな XML 表記。XSLT に特別な処理があるかどうかは不明です。

;; The XSLT identity transformation
(lx:namespace ((#f "http://www.w3.org/1999/XSL/Transform"))
  (stylesheet version: 1.0
    (template match: "node()|@*"
      (copy
        (apply-templates select: "@*|node()")))))

http://nxg.me.uk/dist/lx/

于 2013-01-15T01:20:27.247 に答える
2

XSLT の「使いやすい」または「コンパクトな」非 XML 具象構文を定義する試みが数多く行われてきました。私の知る限り、それらのどれも、発明者以外の誰かによって怒って使用されたことはありません. 最終的には、XSLT (oXygen など) を理解する優れたエディターを使用すると、より簡潔な構文を使用するよりもはるかに生産性が向上します。

于 2013-01-09T08:53:59.873 に答える