xml驗證器
xml檢視
通過 dtd 驗證的xml是"合法"的 xml。
語法規則:
xml 文件必須有乙個根元素
xml元素都必須有乙個關閉標籤
xml 標籤對大小寫敏感
xml 元素必須被正確的巢狀
xml 屬性值必須加引號
<?xml version="1.0" encoding="iso-8859-1"?>
>
>
toveto
>
>
janifrom
>
>
reminderheading
>
>
don't forget me this weekend!body
>
note
>
合法的 xml 文件是"形式良好"的 xml 文件,這也符合文件型別定義(dtd)的規則:
<?xml version="1.0" encoding="iso-8859-1"?>
>
>
toveto
>
>
janifrom
>
>
reminderheading
>
>
don't forget me this weekend!body
>
note
>
在上面的例項中,doctype 宣告是對外部 dtd 檔案的引用。下面的段落展示了這個檔案的內容。
dtd 的目的是定義 xml 文件的結構。它使用一系列合法的元素來定義文件結構:
]>
w3c 支援一種基於 xml 的 dtd 代替者,它名為 xml schema:
使用 xml 驗證器對 xml 檔案進行語法檢查。
xml 文件中的錯誤會終止您的 xml 應用程式。
w3c 的 xml 規範宣告:如果 xml 文件存在錯誤,那麼程式就不應當繼續處理這個文件。理由是,xml 軟體應當輕巧,快速,具有良好的相容性。
如果使用 html,建立包含大量錯誤的文件是有可能的(比如您忘記了結束標籤)。其中乙個主要的原因是 html 瀏覽器相當臃腫,相容性也很差,並且它們有自己的方式來確定當發現錯誤時文件應該顯示為什麼樣子。
使用 xml 時,這種情況不應當存在。
語法正確例項:
<?xml version="1.0" encoding="utf-8"?>
>
>
toveto
>
>
janifrom
>
>
reminderheading
>
>
don't forget me this weekend!body
>
note
>
語法錯誤例項:
<?xml version="1.0" ?>
>
>
toveto
>
>
janiffrom
>
>
reminderheading
>
>
don't forget me this weekend!body
>
note
>
注釋:只會檢查您的 xml 是否"形式良好"。如果您想根據 dtd 來驗證 xml,請參閱此頁面上的最後一段。
<?xml version="1.0" ?>
to(#pcdata)
>
from
(#pcdata)
>
heading
(#pcdata)
>
body
(#pcdata)
>
]>
>
>
toveto
>
>
janifrom
>
>
reminderheading
>
>
don't forget me this weekend!message
>
note
>
主流的瀏覽器中,均能夠檢視原始的 xml 檔案。
不要指望 xml 檔案會直接顯示為 html 頁面。
<?xml version="1.0" encoding="iso-8859-1"?>
- >
>
toveto
>
>
janifrom
>
>
reminderheading
>
>
don't forget me this weekend!body
>
note
>
檢視這個 xml 檔案:note.xml
注釋:在 safari 中,只有元素的文字將被顯示。要檢視原始的 xml,您必須右鍵單擊頁面,選擇"檢視原始檔"。
無效xml檔案
如果乙個錯誤的xml檔案被開啟,瀏覽器會報告錯誤。
請檢視這個 xml 檔案:note_error.xml
xml 文件不會攜帶有關如何顯示資料的資訊。
由於 xml 標籤由 xml 文件的作者"發明",瀏覽器無法確定像
這樣乙個標籤究竟描述乙個 html **還是乙個餐桌。
在沒有任何有關如何顯示資料的資訊的情況下,大多數的瀏覽器都會僅僅把 xml 文件顯示為源**。
學習筆記day03
邏輯運算子 異或 符號兩邊結果相同,結果為false 符號兩邊結果不同,結果為true 面試題1,雙與 也叫短路運算,因為左側如果為假的話直接不判斷右側結果 與 c無論左邊結果運算是什麼,右邊都參與運算。2,雙或 和或 運算結果一樣,但是運算過程有點小區別。無論左邊運算結果是什麼,右邊都參與運算 當...
c 自學筆記day03
c 中的型別轉換 1 隱式型別轉換規則 這種轉換常見於兩個不同型別的運算元進行運算的時候會發生。1 如果運算元有浮點型別,則會轉換成浮點型別 例如 int float float float int double double double 2 如果兩個運算元都是整型,但是級別不同,會進行整型提公升...
爬蟲學習筆記day03
3.寫 3.ssl證書認證 引數名 verify true false 1.verify true 預設,進行ssl證書認證 2.verify false 不做認證 4.urllib.request中handler處理器 1.定義 自定義的urlopen 方法,因為模組自帶的urlopen不支援 等...