Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml HTML对于HAML就像XSLT对于。。。?_Xml_Xslt_Formatting_Haml_File Conversion - Fatal编程技术网

Xml HTML对于HAML就像XSLT对于。。。?

Xml HTML对于HAML就像XSLT对于。。。?,xml,xslt,formatting,haml,file-conversion,Xml,Xslt,Formatting,Haml,File Conversion,我刚刚发现了HAML,并且喜欢它的简洁性和可读性。XSLT有什么等价物吗?特别是,我希望能够更容易地区分包含输出的尖括号和包含标记本身的尖括号 如果没有专门的XSLT抽象语言,是否至少有一种通用的XML格式也可以使用 编辑 为了好玩,我刚刚做了一个快速测试,使用实际的Haml实际上是HamlPy来生成XSLT。我观察到的缺点: HamlPy中至少不支持连字符元素名称 %xsl:foo不够简洁。XLS名称空间的特殊字符(如foo)会更好。 特定于HTML的规则阻碍了我的工作。在我的例子中,特殊的自

我刚刚发现了HAML,并且喜欢它的简洁性和可读性。XSLT有什么等价物吗?特别是,我希望能够更容易地区分包含输出的尖括号和包含标记本身的尖括号

如果没有专门的XSLT抽象语言,是否至少有一种通用的XML格式也可以使用

编辑 为了好玩,我刚刚做了一个快速测试,使用实际的Haml实际上是HamlPy来生成XSLT。我观察到的缺点:

HamlPy中至少不支持连字符元素名称 %xsl:foo不够简洁。XLS名称空间的特殊字符(如foo)会更好。 特定于HTML的规则阻碍了我的工作。在我的例子中,特殊的自动关闭标记规则是一个问题 %xsl:attributename=foo value=blah仍然过于冗长。类似.foo=之类的东西会更好。 某些属性(如select)非常常见,可以隐式设置:value of./a[@href] 处理逻辑不需要像-和=这样的特性,因此可以将其重新用于xquery或xpath之类的功能。或者{foo}可能是一个缩写。那太酷了:%pstyle={../[@style]}
有很多人试图为XSLT定义用户友好或紧凑的非XML具体语法。据我所知,除了发明家之外,没有人在愤怒中使用过它们。最后,拥有一个理解XSLT(如oXygen)的优秀编辑器比拥有更简洁的语法能更好地提高生产率。

感谢Michael Kay的提示:

RXSLT 真正的XSLT:

LX lisp-ish紧凑的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()")))))

XML至少有一种通用形式吗?XSLT是XML的一种通用形式,它可以将任何XML文档处理成任何其他文档。谢谢,出于好奇,您是否有任何指向这些尝试的指针?早期的一两种尝试已从web上消失得无影无踪。但是在谷歌搜索XSLT的紧凑语法时,在页面顶部找到了三个很好的答案。
tpl .name "foo" ("a", "b")
  "SELECT "
  val "$a"
  " FROM "
  val "$b"
;; 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()")))))