2012-04-12 81 views
1

我只是讀this XML Syntax tutorial,發現「處理指令」的<? ... ?>)的定義和「說明語句」<! ... >)有點雲裏霧裏。從閱讀該頁面獲得的要點是,它們都是記錄文件的方式,告訴文檔處理器如何執行此操作。XML中的「處理指令」和「聲明性聲明」之間有什麼區別?

例如,這裏有一個公共代碼塊,我想很多人都會很熟悉:

<?xml version="1.0"?> 
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

據我所看到的,這些都是如何處理文檔都指令。那有什麼區別?

回答

3

有些人在寫教程的時候試圖幫助他人,發明他們自己的術語,希望人們會比規範本身的語言更容易理解。這篇特別的教程的作者似乎在這方面已經過分了。這兩個術語都不是官方的XML術語。

您的示例中的第一件事是XML聲明。它告訴XML解析器您正在使用哪種XML版本,以及文檔的字符編碼是什麼。

您示例中的第二件事是DOCTYPE聲明。它會告訴XML解析器您正在使用的XML詞彙表(在本例中是XHTML詞彙表),它使解析器有機會檢查您是否正確使用詞彙表(即您的文檔對於參考的DTD有效)。

+0

謝謝,很高興知道這些不是官方條款。我想知道爲什麼我找不到他們其他的東西:) – CptSupermrkt 2012-04-13 00:09:22

相關問題