XML的初始以及約束

2021-08-08 03:18:00 字數 3319 閱讀 9530

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 ...