1.xml是一種能與伺服器等進行資料交換的,同時也是一種能儲存資料的可擴充套件標記語言。
他與語言,系統,平台的無關性給資料互動帶來了很大的方便。僅僅在不同的語言中解析方式不一樣而已。
2.xml的定義格式
<?xml version="1.0" encoding="utf-8"?>
版本使用1.0 xml有1.1版本但是在發布之後,就因為不向下相容被淘汰了,
所以至今一直沿用1.0,後邊加編碼格式
內容定義:用一對自定義標籤作為跟標籤,內部由成對存在的標籤組成,單標籤需要是自閉型的
id="p001">
張三name>
person>
id="p002">
李四name>
person>
persons>
注意:
1.自閉型標籤格式
2.在沒有約束檔案的情況下,標籤可以隨便定義,只要稱對存在就好
3.xml區分大小寫
3.屬性(attribute)
同html一樣,標籤是可以有自己的屬性的
格式:包含在開始標籤中 屬性=屬性值,乙個標籤可以有多個屬性,但是不能重複屬性
4.約束
因為xml非常的不規範,標籤自定義等等。所以為了開發的方便,便出現了約束,用來規範約束xml中的屬性與標籤或者值等等之間的關係。
4.1約束分類
dtd約束(document type definition)
schema約束
4.2dtd約束
格式:(使用步驟,因為約束檔案可以說自己不用寫,而是去用)
步驟1:建立bean-dtd.xml文件,並將「bean.dtd」拷貝相同目錄下
步驟2:從dtd文件開始處,拷貝需要的「文件宣告」
步驟3:完成xml內容編寫
4.3dtd怎麼定義?
格式:element beans (bean*,import
*) > 在beans標籤中只可以有bean+
import的標籤,可以有0到無限個。
element bean (property*)>
//在bean標籤中有0到無限個propertry標籤
element property (#pcdata)>
//在property中不能有標籤,但可以有字串
attlist bean id id #required
classname cdata #required
type cdata #implied
>
//上邊這個則是bean有引數三個,id與classname必須存在,type則是可選* 4.3使用**事例(文件宣告)*
1. 內部dtd,在xml文件內部嵌入dtd,只對當前xml有效。
<?xml version="1.0" encoding="utf-8" ?>
beans>
2.本地dtd,dtd文件在本地系統上,公司內部自己專案使用。
<?xml version="1.0" encoding="utf-8" ?>
beans>
3.外部dtd—公共dtd,dtd文件在網路上,一般都有框架提供。
需要有網路,當第一次使用之後,則會在本地快取。
<?xml version="1.0" encoding="utf-8"?>
"">
4.4schema
功能比dtd強大,但是至今dtd仍占有一定市場
命名空間:
預設的命名空間
xmlns=""
他們名字相同,意思就是用的時候用xmlns來引用,至於為什麼用網域名稱,那是因為網域名稱全球唯一啊,不重複,只給你們公司用,不衝突。
顯式的命名空間 :
xmlns:xsi=""
使用標籤時,必須加字首
xsi:***
必須指定xsd檔案的位置
//命名空間 約束檔案的名字
xsi:schemalocation=" bean-schema.xsd">
4.5注意xmlns=""
targetnamespace=""
xmlns:tns=""
elementformdefault="qualified">
4.6schema怎麼約束的:
直接上**:xmlns=""
targetnamespace=""
xmlns:tns=""
elementformdefault="qualified">
name="beans">
minoccurs="0"
maxoccurs="unbounded">
name="bean">
minoccurs="0"
maxoccurs="unbounded">
name="property">
name="name"
use="optional">
attribute>
name="value"
use="required">
attribute>
complextype>
element>
sequence>
name="id"
use="required">
attribute>
name="classname"
use="required">
attribute>
complextype>
element>
name="import">
name="resource"
use="required">
attribute>
complextype>
element>
choice>
complextype>
element>
schema>
XML 二 xml的約束
舉個例子,我現在定義了乙個person的檔案來儲存人的相關資訊,比如name age 等,但是如果在這個檔案中寫了乙個標籤 貓 雖然這個是可以正常顯示,但是這個並不是人的資訊,由於標籤是自定義的,所以我們需要技術來約束xml 現的元素。2.1 dtd約束 一般使用步驟如下 1 建立乙個.dtd 檔案...
XML約束 DTD約束
xml語法 規範的 xml檔案的基本編寫規則。有 w3c組織制定的 xml約束 規範 xml檔案資料內容格式的編寫規則。由開發者自定義 dtd約束 語法相對簡單,功能相對簡單,學習成本相對低 schema約束 語法相對複雜,功能相對複雜,學習成本相對高 命名空間 1 匯入dtd方式 a 內部匯入 x...
XML約束 schema約束
1.什麼是schema約束?優勢在哪?xml的約束有兩種,分別是dtd約束和schema約束。因為dtd約束有很大的侷限性,所以我們通常都使用schema約束。優勢 2.xml schema約束開發 xml schema 檔案自身就是xml檔案,但他的副檔名通常為.xsd。和xml檔案一樣,xml ...