FreeBSD 文件計畫入門書
前一頁 | 章 3. SGML Primer | 下一頁

# 3.5. 註解

Comments are an SGML construction, and are normally only valid inside a DTD. However, as µÚ 3.4 節 shows, it is possible to use SGML syntax within your document.

The delimiter for SGML comments is the string “`--`”. The first occurrence of this string opens a comment, and the second closes it.

範例 3-8. SGML generic comment

    <!-- 測試註解 -->

    <!-- 這是註解 -->

    <!-- 這也是註解    -->

    <!-- 要寫多行註解的話，
         這是其中之一的方式 -->

    <!-- 要寫多行註解，   --
      -- 也可以這樣子用 -->

If you have used HTML before you may have been shown different rules for comments. In particular, you may think that the string `<!--` opens a comment, and it is only closed by `-->`.

This is not the case. A lot of web browsers have broken HTML parsers, and will accept that as valid. However, the SGML parsers used by the Documentation Project are much stricter, and will reject documents that make that error.

範例 3-9. Erroneous SGML comments

    <!-- This is in the comment --

         THIS IS OUTSIDE THE COMMENT!

      -- back inside the comment -->

The SGML parser will treat this as though it were actually:

    <!THIS IS OUTSIDE THE COMMENT>

This is not valid SGML, and may give confusing error messages.

    <!--------------- This is a very bad idea --------------->

As the example suggests, do not write comments like that.

    <!--===================================================-->

That is a (slightly) better approach, but it still potentially confusing to people new to SGML.

## 3.5.1. For you to do…

1. Add some comments to `example.xml`, and check that the file still validates using `nsgmls`.

2. Add some invalid comments to `example.xml`, and see the error messages that `nsgmls` gives when it encounters an invalid comment.

前一頁 | 內容 | 下一頁
Escaping back to SGML | 上一層 | Entities

本文及其他文件，可由此下載：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。