XML STUDY_NOTE

来源:互联网 发布:关于网络的论文 编辑:程序博客网 时间:2024/06/05 20:53
XML 学习记录
1、xml 首行
<?xml version="1.0" ?>


参数
version="1.0" XML 规范 版本号
encoding="UTF-8"编码 (XML默认编码 UTF-8)
standalone="yes" 是否不依赖于其他XML文件(默认是 YES ,不依赖 于 其他XML)

2、xml 引入 样式.css 文件  
<?xml-stylesheet type="text/css" href="demo_01_style01.css" ?>



3、定义 命名空间
<?xml version="1.0"?><!-- <?xml-stylesheet type="text/css" href="demo_01_style01.css" ?> --><!-- namespace 定义 Boom --><xgzh><!-- xmlns:命名空间   意思是 相关联的 虚URIPS: 命名空间 必须要有 虚URI--><Boom:infos xmlns:Boom="http://Xgzh.Boom"><Boom:name Boom:location="CN.">邢功卓</Boom:name></Boom:infos> </xgzh>



4、预定义XML实体
&lt; ---------  小于号 <
&gt; ---------  大于号 >
&amp;---------  符号 与 &
&apos;--------  符号 单引号 '
&quot;--------  符号 双引号 "

5、包含特殊的处理指令
<?cmd.exe?>
<?iexplore.exe?>

6、包含非标准文本 的 CDATA 段
<![CDATA[text文本]]>
<?xml version="1.0" ?><xgzh><!-- CDATA[文本] 中的 文本 不会被 XML分析器所检查,会被忽略掉  应用处理器会用 一种 有意义 的方式使用该文本--><![CDATA[<SCRIPT LANGUAGE="JavaScript">Function isUpToDate(){var connectionUp=pingDatabase();lastUpdate=queryDatabase();If( downloadDate< lastUpdated && connectionUp){display("Hello world !");}}function hello(){alert("hello");}]]><hello  onclick="hello()"></hello></xgzh>




7、声明内部DTD
DTD(英文:Document Type Definition,中文:文档类型定义)
是一套关于标记符的语法规则,是标准通用标记语言和扩展标记语言1.0版规格的一部分,是文档的验证机制,也是一个美国信息交换标准代码文本文件。


(1)XML 元素描述列表 

元素 描述
(#PCDATA) 字符数据
(#PCDATA)* 0个或更多字符数据
(anElement) 一个anElement的实例
(anElement+) 一个或更多anElement的实例
(anElement?) 0 个或更多anElement的实例
(anElement,anotherElement)各 anElement 和 anotherElement 的一个实例
(anElement|anotherElement)各 anElement 或 anotherElement 的一个实例
(#PCDATA|anElement)*一个anElement 的实例 或多个 字符数据  #PCDATA为优先项
(EMPTY) 没有内容
(ANY) 任意内容 (因为 ANY禁用 类型检查 , 所以如果使用 ANY ,只能在文档 转换时 使用 ,而不用于生产时)



(2)DEMO :
<?xml version="1.0" ?><!--创建DTD 的语法 是 rootElement 是该 DTD 所在的XML 文件中的 根元素。dtdResult 是在 rootElement 中为个别 元素定义DTD 规则的一条或多条 XML语句<!DOCTYPE rootElement[dtdResult]>--><!DOCTYPE GREETING[<!ELEMENT GREETING (#PCDATA)><!ELEMENT ZZ (anElement)>]><GREETING>HELLO WORLD</GREETING>


8、声明 并保存 外部 DTD 文件
如果 希望 DTD 被其他XML 引用 ,可以吧 DTD 文件 保存为 一个独立的外部文件
创建 外部 DTD 文件的语法是 

rootElement为根元素
所有DTD文件后缀都为.dtd 

<!DOCTYPE rootElement SYSTEM "DTDFILE" >

XML 属性类型 可声明 ↓↓↓↓↓

属性类型 声明类型描述
CDATA 字符数据(字符串)
ID 唯一标示符
IDREF/IDREFS 其值必须匹配一个预定义 ID 或者 多个 用 空格 分开的 ID
ENTITY/ENTITIES一个预定义实体 或多个用空格 分开的实体 见 <!ENTITY>
NMTOKEN/NMTOKENS一个(中间无空格) 或多个用空格 分开的 CDATA 限制格式
a|b|c 一个用竖线分割的预定义属性列表

9、声明容器元素


创建容器元素的语法:
<!--
containerELEMENT 是准备定义 容器 元素 的XML元素名
containerELEMENT_1 ,containerELEMENT_2。。。,containerELEMENT_N 是准备定义 在 containerELEMENT 容器 元素 的XML元素名
-->
<!ELEMENT containerELEMENT
(containerELEMENT_1,
containerELEMENT_2。。。,

containerELEMENT_N)

10、声明要求元素

创建容器元素的语法:

<!--containerELEMENT 是准备定义 容器 元素 的XML元素名containerELEMENT_1 ,containerELEMENT_2。。。,containerELEMENT_N 是准备定义 在 containerELEMENT 容器 元素 的XML元素名--><!ELEMENT containerELEMENT(containerELEMENT_1,containerELEMENT_2。。。,containerELEMENT_N)>补充:被包含的 元素 可取如下三种格式 之一element 要求 该元素 有一个 且仅有一个值----- DEMO:<!ELEMENT containerELEMENT(containerELEMENT_1)>element+ 要求 该元素 有一个 且或更多个值----- DEMO:<!ELEMENT containerELEMENT(containerELEMENT_1+)>element* 要求 该元素 有 0 个 且或更多个值----- DEMO:<!ELEMENT containerELEMENT(containerELEMENT_1*)>

11、声明可选元素
element* 要求 该元素 有 0 个 且或更多个值
----- DEMO:
<!ELEMENT containerELEMENT(containerELEMENT_1?)>
12、声明空元素
不包含任何数据的 元素 ,一些元素在概念上是 聚合数据 ,而并不是本身定义具体的值 在这种情况下 可以将元素 声明为 空元素。
----- DEMO:
<!ELEMENT containerELEMENTEMPTY><!ATTLIST containerELEMENTtest_01 CDATA #REQUIREDtest_02 CDATA #IMPLIED>
创建 文档类型声明之二 声明DTD 属性

属性定义 
<!ATTLIST 元素名称 属性名称 类型 属性特点>
13、声明包含字符的属性
语法
<!ATTLIST ELEMENT_NAMEattributeName CDATA #REQUIRED>

<!ATTLIST 是定义属性列表的 其实标记
ELEMENT_NAME 是 元素名称 
attributeName 是 属性名称
#REQUIRED 代表 这个是 必填项
#IMPLIED 代表 这个是 非必填项

14、定义 引用 实体 的 属性

<!ENTITY p1 SYSTEM "temp.gif" NDATA GIF>   语法<!ATTLIST ELEMENT_NAMEattributeName ENTITY #REQUIRED>标签 元素 引用方式<ELEMENT_NAME attributeName="p1">ENTITY 关键字 是 表示 开发者定义 外部数据源 的XML 关键字 

15、声明单字 属性
NMTOKEN 是 单字 标记 的 XML关键字 (所谓 单字 的意思 就是 中间没有空格 例如 : asfbasdjlb  错误示范: asfb asdjlb   )

<!ATTLIST ELEMENT_NAMEattributeName NMTOKEN #REQUIRED>
16、限定属性  值 于 选项列表
示例
<!ATTLIST ELEMENT_NAMEattributeName (USD,CD) #REQUIRED><!-- (USD,CD) 为 attributeName 属性 的 值 选项列表  -->
17、声明 唯一标示符 属性
ID 关键 字是定义 这个属性 是 唯一标示 的关键字
语法
<!ATTLIST ELEMENT_NAMEattributeName ID #REQUIRED> 


18、引用现有 标识符
ID 关键 字是定义 这个属性 是 标示 的关键字
语法
<!ATTLIST ELEMENT_NAMEattributeName IDREF #REQUIRED>



19、在DTD内 定义 和 重用 文本 
<!-- 百分号  % 代表 这个实体 是一个 参数实体 --> 
内部 参数实体 语法: 
<!ENTITY % name "content">


外部 参数实体 语法:
<!ENTITY % name "URL">


注: %name;
内部 一般实体 语法:
<!ENTITY name "content">



注: &name;


注:
不同情况下,使用不同类型 的 XML 实体
> 内部一般实体 
> 外部一般实体
> 内部参数实体
> 外部参数实体

使用 <!ENTITY>标记 定义 这四种类型实体, 这 4种 实体的不同之处在于 ;
一般实体 在 XML文件内部引用 , 它使用 一个&符号  和;符号  (&entityName;)。
参数实体 在 DTD文件中引用 , 它使用 一个%符号  和;符号  (&entityName;)。
内部实体 在引用这些实体 的 相同物理文档 内部定义 代替文本(内部文本替换)。
外部实体 使用 SYSTEM 关键字 引用存在 于 外部文档中的 替代文本。
20、在 XML 应用程序 中使用 非 XML 数据
<!NOTATION name SYSTEM "dataType">例:<!NOTATION GIF SYSTEM "image/gif">




21、在 XML 应用 程序 中嵌入 其他数据
  声明 一个 外部一般实体 来包括 外部数据源 ,如 PDF\JPG 文件 。外部数据 类型可以是 是任何 非 XML数据类型 例如 图片 或者 字处理格式
  为 声明 一个 包含 外部数据源 的 外部一般实体
 
语法: <!ENTITY entityNAME SYSTEM "fileName" NDATA notationName>  例: <!ENTITY p1 SYSTEM "gaoxiao.gif" NDATA GIF>


22、描述名称空间 的 验证规则

<!ATTLISTBoom:xgzhxmlns:Boom CDATA #FIXED "http://baidu.com0">



#FIXED value
  元素实例中该属性的值必须为指定的固定值。
#FIXED 例:
<!ATTLIST 元素名 属性名 属性类型 #FIXED "value">


--------------------->>>>>>>>> 使用 层叠式 样式 表单 在 浏览器 中 显示数据<<<<<<<--------------




23、创建 一个 简单的 层叠 样式表单
<!-- elementName 元素名称 -->
elementName{
...
}
引用  层叠 样式表单
<?xml-stylesheet type="text/css" href="STYLE_DEMO_01.css"?>



原创粉丝点击