天天看點

xml基礎知識

xml描述最本質資料的。

XSL可以把XML裝飾成不同的形式。

DTD可以限制XML中到底是什麼?

DTD says:你叫橡皮泥,可以用顔色,産地等屬性

XML:<橡皮泥 顔色="白">

<産生>

東海傲來國

</産地>

</橡皮泥>

XSL:第一種捏法:貓

   第二種捏法:狗

标準:W3C-World Wide Web Consortium

WML:

XML:可以做到資料和顯示分離。XML是用來表示資料的。是最原始的資料。

用途:配置、基于XML做資料交換。

異質資訊互通

自動化搜尋、更精确思索

XML VS HTML

比較内容HTMLXML

可擴充性不具有可擴充性,标記固定是元标記語言,可以定義新的标記語言,标記由使用者定義

側重點側重于資訊的表現形式,數側重于結構化的描述資訊,資料是什

據顯示為什麼格式為HTML所麼為XMLX所關注

關注

文法不嚴格(嵌套、配對)嚴格要求嵌套、配對嚴格按照DTD的

要求

可讀、可維護難于閱讀、難于維護結構清晰,便于閱讀與進行維護

資料本身與顯示資料與顯示合在一處資料與顯示分離

可重用差可重用性很高

XML文檔總是以一個XML聲明開始,其中指明所用的XML版本、文檔的編碼、文檔的獨立性資訊。其格式如下:

<?xml 版本資訊 [編碼資訊] [文檔獨立性資訊]?>

eg:

<?xml version="1.0" encoding="gb2312"?>

元素:字元資料

可以是不包括任何标記的起始定界符和CDATA段的結束定界符的任意字元串。也就是說,不能有和号"&"和小于符号"<",也不能有字元串"]]>"。

字元 預定義實體引用

<&lt;

>&gt;

"&quot;

'&apos;

&&amp;

處理指令

xml-stylesheet處理指令總是放在XML聲明之後,第一個元素之前,

其它的處理指令可以放在除标記的内部和XML聲明之前的任何位置。

要注意:雖然XML聲明和處理指令的文法形式相似,但XML并不是處理指令。

XML處理程式對XML聲明和處理指令采取的是不同的處理方式。

xml:space屬性必須被聲明為Enumerated(枚舉)類型,它的值必須是"default"和"preserve"兩者之一。也可以兩個都取。

例如:

<!ATTLIST poem xml:space(default|preserve)'preserve'>

<!ATTLIST pre xml:space(preserve)#FIXED'preserve'>

"default"表示對此元素使用應用程式的預設空白處理模式,"preserve"訓示應用程式應保留所有的空白。

如果一個元素使用了xml:space屬性,将适用于該元素内容中的所有元素,除非被另一個使用xml:space屬性的執行個體所覆寫。

Windows下采用#xD#xA的組合作為行分隔符,而Linux、Unix系統則采用#A作為行分隔符,在MacOS下,采用#D作為行分隔符。

可以在文檔中插入一個特殊的屬性xml:lang,來指出xml文檔中任何元素的内容和屬性的值所使用的語言。

xml:lang的一個簡單聲明可以采用如下形式:

xml:lang NMTOKEN #IMPLIED

也可以給出指定的預設值,例如:

<!ATTLIST poem xml:lang NMTOKEN 'fr'>

<!ATTLIST gloss xml:lang NMTOKEN 'en'>

<!ATTLIST note xml:lang NMTOKEN 'en'>

如果一個XML文檔有且隻有一個根元素,符合XML元素的嵌套規則,滿足XML規範定義中定義的所有格式正确性的限制,并且在文檔中直接或間接引用的每一個已分析實體都是正确的。我們稱這個文檔是一個格式良好(well-formed)的XML文檔。

文檔類型聲明由<!開始,後面緊跟一個關鍵字DOCTYPE,然後是文檔根元素的名稱,接下來是标記聲明塊,标記聲明塊是放在左中括号([)和右中括号(])之間的,由一個或多個标記聲明構成,最後由>結束。

在DTD中,所有的關鍵字都是大寫的。不過,在DTD中定義的元素和屬性大小寫是可以任意指定的,但是要注意,因為XML文檔是大小寫相關的,是以一旦給一個元素命名,那麼在整個文檔中要使用相同的大小寫。例如:greeting和Greeting是兩個不同的元素名。

在文檔類型聲明時,用關鍵字SYSTEM或PUBLIC來指出外部DTD檔案的位置。使用SYSTEM關鍵字的聲明文法如下:

<!DOCTYPE 根元素的名字 SYSTEM "外部DTD檔案的URI">

SYSTEM關鍵字表示文檔使用的是私有的DTD檔案,可以是相對或絕對URI。"外部DTD檔案的URI"也被成為系統辨別符。

<!DOCTYPE greeting SYSTEM "hello.dtd">

使用PUBLIC關鍵字的聲明文法如下: