Linux
在 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 文件的預設值(可能只是配置文件),或者它是否有另一個我無法想像的隱藏目的?
XML 註釋
<!--*-nxml-*-->
將被任何 XML 解析器忽略,因此從該角度來看,就 XML 的實際含義或功能而言,它沒有任何功能。它只允許
emacs
進行正確的突出顯示等。在
vim
中,這稱為模式行,看起來像<!-- vim: set filetype=nxml.xml : -->
在 Emacs 中,這稱為指定文件局部變數,格式稍長(與文件中的內容相比)是
<!-- -*- mode: modename; var: value; … -*- -->
如果編輯器無法以任何其他方式(從文件名或通過使用內容的啟發式匹配)找出文件的正確類型,這將很有用。除此之外,它沒有任何用途。
沒有標準,沒有最佳實踐,也沒有建議說需要添加這種類型的編輯器特定評論。