在 xml conf 文件中使用 nxml 标签是否被认为是好的做法?

在 xml conf 文件中使用 nxml 标签是否被认为是好的做法?

我一直在浏览 avahi 服务文件(XML 格式)的一些示例,其中一些<!--*-nxml-*-->在文档类型定义之后有注释。

例如:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=RackMac</txt-record>
    </service>
</service-group>

经过搜索,我认为这个标签的目的是由 emacs 解释其 nXML 模式。但由于我自己不是 emacs 用户,这个标签似乎完全没用,因为它是。

是否有任何约定表明这应该是 XML 文件的默认值(可能只是配置文件),或者它是否还有另一个我无法理解的隐藏目的?

答案1

XML 注释<!--*-nxml-*-->将被任何 XML 解析器忽略,因此从这个角度来看,就 XML 的实际含义或功能而言,它没有任何功能。

它只是允许emacs进行正确的突出显示等。

在 中vim,这称为模型行,看起来像

<!-- vim: set filetype=nxml.xml : -->

在 Emacs 中,这称为指定文件局部变量,稍长的(与文件中的内容相比)格式是

<!-- -*- mode: modename; var: value; … -*- -->

如果编辑器无法以任何其他方式(从文件名或通过使用内容的某些启发式匹配)找出文件的正确类型,这非常有用。除此之外,它没有任何作用。

没有标准、最佳实践和建议表明需要添加此类特定于编辑器的评论。

相关内容