我一直在浏览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文件的默认值(可能只是配置文件),或者它还有另一个我无法理解的隐藏目的?
发布于 2017-01-28 11:05:56
XML注释<!--*-nxml-*-->将被任何XML解析器忽略,因此从这个角度看,它在XML的实际意义或功能方面没有任何功能。
只有在那里才允许emacs做正确的高亮显示等。
在vim中,这称为模特琳,它看起来像
<!-- vim: set filetype=nxml.xml : -->在Emacs中,这称为指定文件局部变量,稍微长一点的格式(与文件中的格式相比)是
<!-- -*- mode: modename; var: value; … -*- -->如果编辑器无法以任何其他方式(从文件名或使用内容的启发式匹配)确定文件的正确类型,这是非常有用的。除此之外,它没有任何用途。
没有标准,没有最佳实践,也没有建议说需要添加这类特定于编辑器的评论。
https://unix.stackexchange.com/questions/340750
复制相似问题