blogjava's web log

          blogjava's web log
          ...

          xml筆記

          ?

          ? XML 筆記

          標(biāo)記語言種類:
          ? 1.格式化標(biāo)記? <b>加粗</b>,<i></i>
          ? 2.結(jié)構(gòu)化標(biāo)記? <div></div>,<table></table>
          ? 3.語義標(biāo)記??? <pre></pre> <strong></strong>

          eXtensible Markup Language? XML標(biāo)記
          ? 可擴展標(biāo)記語言,是自定義,自描述的
          ? XML是SGML的子集.

          XML結(jié)構(gòu):
          ?XML聲明-> <?xml version="1.0" encoding="UTF-8"?>
          ??? ↓ ↓?????????? ↓? ?????????? ↓
          ??指定 目標(biāo)??????? 版本?? 編碼

          ?文檔類型定義-> <!DOCTYPE catalog SYSTEM "catalog.dtd">
          ??????? ↓???↓
          ????? 根元素????? 導(dǎo)入文件

          ?注釋 ->? <!-- catalog last updated 2000-11-01 -->

          ?根元素-> <book id="bk101">
          ??→?<author>Abercrombie, Kim</author>
          ??|?<title>XML Developer's Guide</title>
          ??|?????? <genre>Computer</genre>
          ?元素 ->?|?<price>44.95</price>
          ??|?????? <publish_date>2000-10-01</publish_date>
          ??|?????? <description>
          ??|??<![CDATA[An in-depth look at
          ??|? ?? creating applications with XML, using <, >,
          ??|??]]>
          ??|? ?? and &amp;.
          ??→?</description>
          ????????? </book>

          ?* O->N
          ?+ 1->N
          ?? O->1

          XML的優(yōu)越性:
          ? 1.信息共享
          ? 2.數(shù)據(jù)傳遞
          ? 3.數(shù)據(jù)重用
          ? 4.分離數(shù)據(jù)和顯示
          ? 5.文檔包含語義
          ? 6.可擴展性

          元素內(nèi)容類型:
          ? 空元素(EMPTY) <image?? source=“11.jpg”/>
          ? ANY 元素(內(nèi)容類型可以是任意的,可以是子元素,注釋,指令,一般是根元素)
          ? (#PCDATA)類型:內(nèi)容類型只能是字符數(shù)據(jù)元素間的關(guān)系
          ?? 可以是一個父元素對應(yīng)多個子元素或一個子元素等
          ?? 子元素的之間的關(guān)系可以是順序關(guān)系,選擇關(guān)系

          自定義實體語法:
          ?<!DOCTYPE 根元素 [
          ?<!ENTITY 實體名 "實體內(nèi)容">
          ?]>
          ?<!DOCTYPE 班級 [? <!ENTITY? pic1??? “001.jpg”?? ]>
          ?實體?符號
          ?&lt;?<
          ?&gt;?>
          ?&amp;?&
          ?&quot;?"
          ?&apos;?'

          XML文本字符串:? <![CDATA[<<<,.?'">>>]]> 顯示-> <<<,.?'">>>

          語法規(guī)范
          ? - 必須有XML聲明語句
          ? - <?xml version="1.0" encoding="gb2312"?>
          ? - 必須有且僅有一個根元素
          ? - 標(biāo)記大小寫敏感
          ? - 屬性值用引號
          ? - 標(biāo)記成對
          ? - 空標(biāo)記關(guān)閉
          ? - 元素正確嵌套
          元素語法
          ? - 名稱中可以包含字母、數(shù)字或者其它字符
          ? - 名稱不能以數(shù)字和"_"(下劃線)開頭
          ? - 不能以XML/xml/Xml/…開頭
          ? - 名稱中不能含空格
          ? - 名稱中不能含冒號(注:冒號留給命名空間使用)

          XML的應(yīng)用范圍:? 系統(tǒng)配置 應(yīng)用程序集 數(shù)據(jù)加載 Web服務(wù) 內(nèi)容管理

          文檔類型定義 Document Type Definition --> DTD
          ?元素(ELEMENT)的定義規(guī)則
          ?屬性(ATTLIST)的定義規(guī)則
          ?可使用的實體(ENTITY)或符號(NOTATION)規(guī)則

          DTD文檔與XML文檔實例的關(guān)系
          ?類與對象
          ? ?數(shù)據(jù)庫表結(jié)構(gòu)與數(shù)據(jù)記錄

          DTD文檔的聲明及引用
          ? 內(nèi)部DTD文檔
          ??<!DOCTYPE 根元素? [定義內(nèi)容]>
          ? 外部DTD文檔
          ??<!DOCTYPE 根元素? SYSTEM "DTD文件路徑">
          ? 內(nèi)外部DTD文檔結(jié)合
          ??<!DOCTYPE 根元素? SYSTEM "DTD文件路徑" [
          ???定義內(nèi)容
          ??]>

          元素定義
          ? 語法:
          ?<!ELEMENT NAME CONTENT>
          ??? ↓??? ↓???? ↓
          ?關(guān)鍵字 元素名稱 元素類型

          ? 元素類型:
          ?EMPTY --> 該元素不能包含子元素和文本,但可以有屬性-(空元素)
          ?ANY --> 該元素可以包含任何在DTD中定義的元素內(nèi)容
          ?#PCDATA --> 可以包含任何字符數(shù)據(jù),但是不能在其中包含任何子元素
          ?純元素類型 --> 只包含子元素,并且這些子元素外沒有文本
          ?混合類型 --> 包含子元素和文本數(shù)據(jù)的混合體
          ? 示例:
          ?? EMPTY示例--空元素
          ?<家庭>
          ??? <人 名字="皮諾曹" 性別="男" 年齡="6"/>
          ??</家庭>
          ?? ANY示例
          ?<家庭>
          ?? <人>皮諾曹</人>
          ?? <人><大人>皮諾曹爸爸</大人></人>
          ?</家庭>
          ?? #PCDATA示例
          ?<家庭>
          ?? <人 性別="男" 年齡="6">皮諾曹</人>
          ?</家庭>
          ?? 組合類型示例
          ?<!ELEMENT 家庭 (人+, 家電*)>

          屬性的定義
          ? 語法:
          ?<!ATTLIST 元素名稱
          ???? 屬性名稱??? 類型??? 屬性特點
          ???? ...
          ?>
          ? 類型:
          ?CDATA?? 任何字符串(文本)
          ?ID?? 唯一的
          ?IDREF?? 指向文檔中其它地方聲明的ID類型的值
          ?IDREFS? ? IDREFS同IDREF,可以具有由空格分開的多個引用
          ?NMTOKEN?? 屬性的值必須對應(yīng)一個在DTD文檔內(nèi)聲明的實體.(如:圖形)
          ?NMTOKENS? 與ENITIY類似,可以包含多個由空格分開的實體.
          ?Enumerated? 枚舉類型

          屬性的特點
          ?- #REQUIRED?? ?元素的所有實例都必須有該屬性的值(必填)
          ?- #IMPLIED??? ?元素的實例中可以忽略該屬性(可填)
          ?- FIXED value ?元素實例中該屬性的值必須為指定的固定值(常量)
          ?- Default value?為屬性提供一個默認(rèn)的值
          定義實體
          ?內(nèi)部 - <!ENTITY 實體名 "實體值">
          ?外部 - <!ENTITY 實體名 SYSTEM "URI/URL">
          實體類型:
          ?普通實體、外部實體、參數(shù)實體、外部參數(shù)實體.

          ? 實體類型引用方式 %實體名 (相當(dāng)于用戶控件)
          ?? <!ENTITY %地址 "街道,城市,國家" >
          ?? <!ENTITY 聯(lián)系 (人名,電話,%地址;)>

          命名空間(Namespace)
          ? - 避免命名沖突
          ? - 代碼清晰
          ? 命名空間的語法定義:xmlns:[prefix]="URL"
          ? 默認(rèn)命名空間 xmlns=“URL”

          posted on 2006-03-24 16:24 record java and net 閱讀(373) 評論(0)  編輯  收藏 所屬分類: xml and html

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動態(tài)語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 昌邑市| 元谋县| 大同市| 怀化市| 瑞昌市| 奉节县| 鄂尔多斯市| 塔城市| 涞水县| 芷江| 务川| 乌什县| 三亚市| 桃江县| 临泉县| 昌黎县| 大名县| 钟山县| 亳州市| 白朗县| 扶余县| 双柏县| 桃园县| 宜城市| 柯坪县| 家居| 通山县| 嘉禾县| 晴隆县| 宝清县| 上蔡县| 观塘区| 印江| 紫云| 蒲江县| 阿城市| 讷河市| 贡山| 沐川县| 治县。| 安新县|