xml約束 命名空間

2021-09-09 08:37:00 字數 1572 閱讀 8286

解決命名衝突的方式有新增字首和命名空間

前者即使》

當命名空間被定義在元素的開始標籤中時,所有帶有相同字首的子元素都會與同乙個命名空間相關聯。

命名空間的實際應用

當開始使用 xsl 時,您不久就會看到實際使用中的命名空間。xsl 樣式表用於將 xml 文件轉換為其他格式,比如 html。

如果您仔細觀察下面的這個 xsl 文件,就會看到大多數的標籤是html標籤。非 html 的標籤都有字首 xsl,並由此命名空間標示:「

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

>

title

artist

如下的文件, 屬性的id值是一樣的。 這在生活中是不可能出現的。 並且第二個學生的姓名有好幾個。 一般也很少。那麼怎麼規定id的值唯一, 或者是元素只能出現一次,不能出現多次? 甚至是規定裡面只能出現具體的元素名字。

張三

18深圳

李四李五李六

28北京

dtd

語法自成一派, 早起就出現的。 可讀性比較差。
引入網路上的dtd

引入本地的dtd

直接在xml裡面嵌入dtd的約束規則

張三

18 : stus 下面有乙個元素 stu , 但是只有乙個

stu下面有兩個元素 name ,age 順序必須name-age

stu有乙個屬性 文字型別, 該屬性可有可無

元素的個數:

+ 乙個或多個

* 零個或多個

? 零個或乙個

屬性的型別定義

cdata : 屬性是普通文字

id : 屬性的值必須唯一

按照順序來

兩個中只能包含乙個子元素

schema

其實就是乙個xml , 使用xml的語法規則, xml解析器解析起來比較方便 , 是為了替代dtd 。

但是schema 約束文字內容比dtd的內容還要多。 所以目前也沒有真正意義上的替代dtd

約束文件:

例項文件:

<?xml version="1.0" encoding="utf-8"?>

zhangsan

19 lisi

29 lisi

29

命名空間的作用

乙個xml如果想指定它的約束規則, 假設使用的是dtd ,那麼這個xml只能指定乙個dtd , 不能指定多個dtd 。 但是如果乙個xml的約束是定義在schema裡面,並且是多個schema,那麼是可以的。簡單的說: 乙個xml 可以引用多個schema約束。 但是只能引用乙個dtd約束。

命名空間的作用就是在 寫元素的時候,可以指定該元素使用的是哪一套約束規則。 預設情況下 ,如果只有一套規則,那麼都可以這麼寫

張三

XML 命名空間

xml 命名空間提供了一種避免元素命名衝突的方法。因為xml文件中使用的元素不是固定的,那麼兩個不同的xml文件使用同乙個名字來描述不同型別的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 xml 文件在table元素中攜帶了水果的資訊 bananas 這個 xml 文...

XML 命名空間

xml 命名空間 xml 命名空間提供了一種避免元素命名衝突的方法。命名衝突 因為xml文件中使用的元素不是固定的,那麼兩個不同的xml文件使用同乙個名字來描述不同型別的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 xml 文件在table元素中攜帶了水果的資訊 ba...

xml命名空間

xml命名空間 這個理解起來總感覺有些抽象,不太好懂,自己學的也是一知半解,但是感覺它的存在卻是很不同凡響的,在xml的應用中,給我們帶來了很多方便,也讓xml的功能得到了很大的提公升,自己感覺的,呵呵,有說的不對的地方,不要見笑喲 在進入正題之前,我們先引用乙個例子 bananas 在上面這個xm...