`
pqcc
  • 浏览: 131645 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML DTD & Schema 笔记整理

阅读更多

 

个人笔记整理的,详细请参看 http://www.w3school.com.cn/dtd/index.asp

 

 

 

 

1. 内部
<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>

2. 外部:
 <!DOCTYPE note SYSTEM "note.dtd">
3. XML:
 element
 attribute
 entity
 PCDATA
 CDATA

4. 声明一个元素:
 <!ELEMENT 元素名称 (元素内容)>
 <!ELEMENT 元素名称 类别>
 <!ELEMENT 元素名称 EMPTY>
 <!ELEMENT note ANY>  // 带有任何内容的元素


5. 带有子元素(序列)的元素:
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT note (message*)>
 <!ELEMENT note (message)>
 <!ELEMENT note (message+)>
 <!ELEMENT note (to,from,header,(message|body))>

6. 声明属性:
 <!ATTLIST 元素名称 属性名称 属性类型 默认值>

 <!ATTLIST payment type CDATA "check">
 <payment type="check" /> // xml 实例
 
 // 属性类型:
 CDATA: 值为字符数据
 (en1|en2...) 枚举列表中的一个值
 ID 值为唯一的 id
 ENTITY: 值为一个实体

 // 值
 #REQUIRED
 #IMPLIED 不是必须的
 #FIXED value 固定的

 <!ATTLIST contact fax CDATA #IMPLIED>
 <contact fax="555-667788" /> // 合法
 <contact />  // 合法


 <!ATTLIST sender company CDATA #FIXED "Microsoft">
 <sender company="Microsoft" /> //  合法
 <sender company="W3School" /> // 非法


 <!ATTLIST payment type (check|cash) "cash">
 <payment type="check" />
 <payment type="cash" />
7.  实体声明:
 <!ENTITY 实体名称 "实体的值">
   

 <!ENTITY writer "Bill Gates">
 <!ENTITY copyright "Copyright W3School.com.cn">

 <author>&writer;&copyright;</author> // xml

8.   XML Schema:
 
 定义可出现在文档中的元素
 定义可出现在文档中的属性
 定义哪个元素是子元素
 定义子元素的次序
 定义子元素的数目
 定义元素是否为空,或者是否可包含文本
 定义元素和属性的数据类型
 定义元素和属性的默认值以及固定值

9.   XML Schema 最重要的能力之一就是对数据类型的支持:
10.  最常用的类型是:
 xs:string
 xs:decimal
 xs:integer
 xs:boolean
 xs:date
 xs:time

11.  值:
 <xs:element name="color" type="xs:string" default="red"/> // 默认值
 <xs:element name="color" type="xs:string" fixed="red"/>  // 固定值

12.  属性:
 <xs:attribute name="xxx" type="yyy"/>

 <lastname lang="EN">Smith</lastname>  对应 ---> <xs:attribute name="lang" type="xs:string"/>

 <xs:attribute name="lang" type="xs:string" use="required"/> // 必须的属性

13. 对一组值的限定
 <xs:element name="car">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Audi"/>
      <xs:enumeration value="Golf"/>
      <xs:enumeration value="BMW"/>
    </xs:restriction>
  </xs:simpleType>
 </xs:element>
 或者
 <xs:element name="car" type="carType"/>

 <xs:simpleType name="carType">
   <xs:restriction base="xs:string">
     <xs:enumeration value="Audi"/>
     <xs:enumeration value="Golf"/>
     <xs:enumeration value="BMW"/>
   </xs:restriction>
 </xs:simpleType>

14.  对一系列值的限定
 <xs:element name="initials">

 <xs:simpleType>
   <xs:restriction base="xs:string">
     <xs:pattern value="[A-Z][A-Z][A-Z]"/>
   </xs:restriction>
 </xs:simpleType>

 </xs:element>

15.  对长度的限定:
 <xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="8"/>
    </xs:restriction>
  </xs:simpleType>
 </xs:element>
16.  <xs:all> 可以按任意顺序出

2
0
分享到:
评论

相关推荐

    XML Schema 教程(word版本)

    XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML ...

    java视频教程.XML.课堂笔记

    - XML Schema是更现代、更强大的DTD替代品,支持数据类型的定义和复杂结构。 8. **XPath** - XPath是用于在XML文档中查找信息的语言,可以根据路径表达式选取节点。 - 常用的路径操作包括节点选择、轴选择、...

    XML笔记与实例讲解

    4. **XML笔记**:学习XML时,笔记可以帮助整理概念和技巧。可能包括如何创建有效的XML文档、命名规则、命名空间、DOM(Document Object Model)解析、SAX(Simple API for XML)事件驱动解析、XML Schema(替代DTD的...

    XML学习大全(适合开发人员)

    5. **DTD(Document Type Definition)与XML Schema**:介绍用于验证XML文档结构的两种方式,DTD是早期的定义方式,XML Schema则是更现代且功能更强大的定义工具。 6. **XPath**:一种在XML文档中查找信息的语言,...

    sm3_ISA.rar_NIIT_SM3_isa

    描述中的“这是我我自己做的NIIT SM3的ISA关于XML的”表明,这个压缩文件内的内容是作者个人整理的关于XML的ISA资料,可能是课程笔记、课件或者是练习材料,专门针对NIIT SM3课程的学习者。ISA通常是指处理器的指令...

    Java学习笔记-个人整理的

    {14.3}DTD/Schema}{205}{section.14.3} {14.3.1}SAX应用}{206}{subsection.14.3.1} {14.4}dom4j}{207}{section.14.4} {14.5}XPath}{210}{section.14.5} {14.6}apache.commons}{211}{section.14.6} {15}sqlite3...

Global site tag (gtag.js) - Google Analytics