XML(eXtensible Markup Language )
可扩展标记语言 标记语言的语言
HTML与XML的比较

XML文档的基本结构
<?xml version="1.0" encoding="UTF-8"?> <!--XML声明-->
<?xml-stylesheet type="text/xsl" href="show_book.xsl"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd"> <!--文档类型定义-->
<!- - catalog last updated 2000-11-01 - ->
<catalog xmlns="http://www.example.com/catalog/"> <!--catalog根元素, id属性-->
<book id="bk101">
<author>Abercrombie, Kim</author> <!--author、title元素-->
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date> <!--<![CDATA[内容]]>-->
<description><![CDATA[An in-depth look at creating applications with XML, using <, >, ]]> and &.</description>
</book>
<book id="bk109">
<author>Kress, Peter</author>
<title>Paradox Lost</title>
<genre>Science Fiction</genre>
<price>6.95</price>
<publish_date>2000-11-02</publish_date>
<description></description>
</book>
</catalog>
DTD文档类型定义--Document Type Definition
内部DTD文档 <!DOCTYPE 根元素 [定义内容]>
外部DTD文档 <!DOCTYPE 根元素 SYSTEM "DTD文件路径">
内外部DTD文档结合 <!DOCTYPE 根元素 SYSTEM "DTD文件路径" [ 定义内容 ]>
元素的定义:<!ELEMENT NAME CONTENT> (关键字 元素名称 元素类型)
元素类型:
ANY-该元素可以包含任何在DTD中定义的元素
EMPTY-该元素不能包含子元素和文本,但可以有属性-(空元素)
#PCDATA-可以包含任何字符数据,但是不能在其中包含任何子元素
纯元素类型--只包含子元素,并且这些子元素外没有文本
混合类型--包含子元素和文本数据的混合体
修饰符号:() , | * + ?
属性的定义:<!ATTLIST 元素名称
属性名称 类型 属性特点
…...
>
类型:CDATA :属性值可以是任何字符(包括数字和中文)
ID : 该属性的取值必须是唯一的。
IDREF / IDREFS :IDREF属性的值指向文档中其它地方声明的ID类型的值。 IDREFS同IDREF,但是可以具有由空格分开的多个引用。
NMTOKEN/NMTOKENS :NMTOKEN是CDATA 的一个子集,由标准的,允许用于命名的字符组成(首字母可以是数字)。
NMTOKENS与NMTOKEN类似,包含多个由空格分隔的字符。(不允许特殊字符,eg:,等)
Enumerated :
枚举: 事先定义好一些值,属性的值必须在所列出的值的范围内。eg:<!ATTLIST persion 性别 (男|女) #REQUIRED>
特点:
#REQUIRED:元素的所有实例都必须有该属性的值(NOT NULL)
#IMPLIED:元素的实例中可以忽略该属性(NULL)。
#FIXED :元素实例中该属性的值必须为指定的固定值。eg:<!ATTLIST sender company CDATA #FIXED "Microsoft">
valueDefault value(默认值):<!ATTLIST payment type CDATA "check"> XML示例: <payment type="check" />
实体:
作用:避免重复输入 -- (宏、常量)
XML中五个预定义实体:&gt; &lt; &amp;(&符号) &nbop;(逗号) &quot;(双引号)
自定义实体语法: <!DOCTYPE 根元素 [ <!ENTITY 实体名 "实体内容"> ]>
引用已定义的实体: &实体名;
内部实体:
语法: <!ENTITY 实体名 "实体值">
DTD 示例: <!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
XML 示例: <author>&writer;©right;</author>
外部实体:
语法: <!ENTITY 实体名 SYSTEM "URI/URL">
DTD 示例: <!ENTITY writer SYSTEM "http://www.w3schools.com/entities/entities.xml">
<!ENTITY copyright SYSTEM "http://www.w3schools.com/entities/entities.dtd">
XML 示例: <author>&writer;©right;</author>
(在PPT中具体查看实体的用法)
浙公网安备 33010602011771号