缩进XSL代码有哪些约定(如果有的话)?
对于某些背景,我在Emacs中使用nxml-mode.在大多数情况下,它可以配置子元素应缩进的空格数.虽然涉及到复杂的XPath,但它并不是很好.如果我的代码中有一个很长的XPath,我希望通过使它看起来像这样来使它的结构尽可能透明......
<xsl:for-each select="/some
/very[@test = 'whatever']
/long[@another-test = perhaps
/another
/long
/xpath[@goes='here']]
/xpath"
Run Code Online (Sandbox Code Playgroud)
但是,我目前必须手动执行此操作,因为nxml只会将其与"/某些..."对齐.
有时,即使您使用模板而不是 for-eaches(就像您应该的那样,如果可以的话),也无法避免更长的 xpath。在 XSLT/XPath 2.0 中尤其如此:
<xsl:attribute name="tablevel"
select="if (following::*[self::topic | self::part])
then (following::*[self::topic | self::part])[1]/@tablevel
else @tablevel"/>
Run Code Online (Sandbox Code Playgroud)
我倾向于不会打破跨行的“简单”路径,但会在运算符或条件处打破“更大”的路径。
对于编辑,我使用 Oxygen(跨平台),它可以很好地处理这种间距。有时它不能准确预测您想要什么,但一旦存在,即使您重新缩进代码,它也会保留该空间。
归档时间: |
|
查看次数: |
841 次 |
最近记录: |