XML學習 一 XML基礎

2021-08-21 03:45:08 字數 3880 閱讀 6492

最近接了個活要解構xml和json,武哥說讓了解下xml schema,所以興致勃勃的開啟了w3c來學習一下,結果勒:

好吧,因為之前只是用了一下xml,知道大概結構,依據一貫的學習風格:知其然,知其所以然。所以決定成體系的速成一下,html和xhtml並不是關注的重點,所以這裡只是簡單介紹一下,如果以後有這方面學習的需求,再多看看。

1,什麼是html語言

html 是用來描述網頁的一種語言。html 指的是超文字標記語言(hyper text markup language),html 不是一種程式語言,而是一種標記語言 (markup language),標記語言是一套標記標籤 (markup tag),html 使用標記標籤來描述網頁

2,什麼是xhtml語言

xml 用來描述資料,而 html 則用來顯示資料。而xhtml結合了兩者的優點。xhtml 指可擴充套件超文字標籤語言(extensible hypertext markup language)。xhtml 是更嚴格更純淨的 html 版本。xhtml 是作為一種 xml 應用被重新定義的 html。xhtml 是乙個 w3c 標準。

3 ,html和xhtml區別

二者的區別實際上主要只有以下四點,在我看來,就是結合xml的嚴格規範來對html進行了一下約束而已,本質沒有不同。

在基本了解了html和xhtml之後,這一篇重點用來理解xml的前世今生。為了在下周一迅速投入schema討論,所以這裡了解基本概念即可,高階部分內容其實也挺有意思,可以在後續完善本篇部落格。

主要談了談xml的定義原理blabla,以及和html的對比

xml 指可擴充套件標記語言(extensible markup language),xml 是一種標記語言,很類似 html。在w3c的描述裡可以看到xml定義有以下三個特點:

對於這三個特點我覺得可以這麼理解,例如讀取遠端配置,遠端配置檔案通常就是用xml寫的,在遠端配置裡我們可以自己定義一些節點,這些節點可以自我描述,節點裡又儲存了我們需要的資訊,而xml僅僅是一種純文字的格式,所以必須依賴應用程式做特定處理,例如我寫乙個配置類來讀取配置檔案。

二者都是標記語言,但有本質區別,因為xml 和 html 為不同的目的而設計:

還有乙個比較重要的就是,html 文件只使用在 html 標準中定義過的標籤,而xml只能自定義標籤,它是不作為的。

主要講了xml的組成部分,樹形結構,語法規則,xstl樣式化xml,xml的結構驗證

xml主要由兩部分組成:元素和屬性。元資料(有關資料的資料)應當儲存為屬性,而資料本身應當儲存為元素。假設我現在有一堆資料,這些資料通過xml結構化儲存起來,有些我想給a用,有些我想給b用,這個時候就可以把用途標記為屬性,程式讀取屬性後將資料分配給對應的人。

xml 元素指的是從(且包括)開始標籤直到(且包括)結束標籤的部分。元素可包含其他元素、文字或者兩者的混合物。元素也可以擁有屬性

xml 元素必須遵循以下命名規則

最重要的 一點,沒有任何關鍵字的禁忌,這點非常爽,更爽的是,元素可以動態擴充套件,在不中斷程式的情況下隨意擴充套件!

屬性 (attribute) 提供關於元素的額外(附加)資訊。屬性通常提供不屬於資料組成部分的資訊。但對如何處理該元素有很大的用處。盡量使用元素來描述資料,而僅僅使用屬性來提供與資料無關的資訊。因為屬性不像元素那樣方便擴充套件和描述樹結構.

屬性值必須被引號包圍,不過單引號和雙引號均可使用

xml 文件必須包含根元素。該元素是所有其他元素的父元素。同時根元素可以有子元素,每個元素節點可以有屬性

該圖顯示了乙個書店根元素書子元素書的類別屬性書的標題子元素的語言屬性

xml的四條語法規則同xhtml對html的強規範類似:

所有 xml 元素都須有關閉標籤———對應於xhtml必須被正確關閉

xml 標籤對大小寫敏感———對應於xhtml標籤必須使用小寫

xml必須正確地巢狀———對應於xhtml必須被正確地巢狀

xml 文件必須有根元素———對應於xhtml 文件必須擁有根元素

xml 的屬性值須加引號為防止「轉義,元素內容遇到想要的中間欄符號,用左邊欄對應的代替

注釋語法:在 xml 中,空格會被保留,也就是不用再打一堆**的 了,文件有幾個就打幾個空格xml 以 lf 儲存換行

就像css可以給html提供樣式一樣,xsl也可以給xml提供樣式。

<?xml version="1.0" encoding="iso-8859-1"?>

<?xml-stylesheet type="text/xsl" href="******.xsl"?> //通過簡單的引入,就可以將xsl的樣式應用到xml中

belgian wafflesname>

$5.95price>

two of our famous belgian waffles

description>

650calories>

food>

breakfast_menu>

這裡第一次清楚了dtd和schema到底是什麼,其實說白了就是xml結構的元資料,就是文件結構的定義,各個元素和屬性的描述。dtd 的作用是定義 xml 文件的結構。它使用一系列合法的元素來定義文件結構:

]>

w3c 支援一種基於 xml 的 dtd 代替者,它名為 xml schema:

name="note">

name="to"

type="xs:string"/>

name="from"

type="xs:string"/>

name="heading"

type="xs:string"/>

name="body"

type="xs:string"/>

xs:sequence>

xs:complextype>

xs:element>

XML學習基礎(一)

一 xml入門簡介 xml可以用來描述資料,重點是 資料是什麼 html則是用來顯示資料,重點是 如何顯示資料 什麼是xml?xml是extensible markup language的縮寫 xml是一種類似於html的標記語言 xml是用來描述資料的 xml的標記不是在xml中預定義的,你必須定...

xml基礎學習

一 什麼是 xml?xml 指可擴充套件標記語言 extensiblemarkuplanguage xml 是一種標記語言,很類似 html xml 的設計宗旨是傳輸資料,而非顯示資料 xml 標籤沒有被預定義。您需要自行定義標籤。xml 被設計為具有自我描述性。xml 是 w3c的推薦標準 可擴充...

學習XML基礎

呵呵,今天本來想學習一下強大的jquery的,可是在w3school看了一會教程後,知道了jquery 使用 xpath 表示式來選擇帶有給定屬性的元素,就搜素了一下xpath,繼而又發現xpath的學習要以xml為前提,索性我就先學習一下xml吧。依稀記得我之前已經看過一次有關xml的教程了,但是...