blogjava's web log

          blogjava's web log
          ...

          xml筆記

          ?

          ? XML 筆記

          標記語言種類:
          ? 1.格式化標記? <b>加粗</b>,<i></i>
          ? 2.結構化標記? <div></div>,<table></table>
          ? 3.語義標記??? <pre></pre> <strong></strong>

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

          XML結構:
          ?XML聲明-> <?xml version="1.0" encoding="UTF-8"?>
          ??? ↓ ↓?????????? ↓? ?????????? ↓
          ??指定 目標??????? 版本?? 編碼

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

          ?注釋 ->? <!-- 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的優越性:
          ? 1.信息共享
          ? 2.數據傳遞
          ? 3.數據重用
          ? 4.分離數據和顯示
          ? 5.文檔包含語義
          ? 6.可擴展性

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

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

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

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

          XML的應用范圍:? 系統配置 應用程序集 數據加載 Web服務 內容管理

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

          DTD文檔與XML文檔實例的關系
          ?類與對象
          ? ?數據庫表結構與數據記錄

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

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

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

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

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

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

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

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

          導航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動態語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 林口县| 安新县| 宝清县| 建宁县| 泸州市| 新乐市| 曲阳县| 涿州市| 杂多县| 离岛区| 英超| 云安县| 十堰市| 乌拉特后旗| 马山县| 康平县| 苏尼特左旗| 海淀区| 砚山县| 伊春市| 兴安县| 东乡族自治县| 峨眉山市| 瓦房店市| 西林县| 曲松县| 和顺县| 永康市| 新兴县| 隆子县| 罗平县| 廊坊市| 开鲁县| 达拉特旗| 开封市| 舒兰市| 天气| 治多县| 甘肃省| 宣恩县| 临桂县|