您的位置:首页 > 编程语言 > Java开发

【JAVA WEB】学习笔记——XML介绍

2016-08-12 17:39 477 查看

概念基础

XML-可扩展标记语言

XML语言-描述数据(事物)本身

XSL-可扩展样式表语言,指定数据(事物)的展现形式

DTD&Schema-定义XML语言的语法

XML在软件开发中的应用:

软件配置文件(tomcat,SSH)

网络系统部署(Deploy文件)

编程表现:(结合XSL,不常用)

<?xml version="1.0" encoding="utf-8"?>
<学生们>
<学生>
<学号>01112159</学号>
<姓名>刘达</姓名>
</学生>
<学号>01112160</学号>
<姓名>李林</姓名>
<学生>
<学号>01112161</学号>
<姓名>梁伟</姓名>
</学生>
</学生们>


验证一个XML文档是否正确

编程验证

XML Parser(例:IE,FIREFOX)

XML Editor(例:eclipse)

<?xml version="1.0" encoding="UTF-8"?>
<!--
XML声明(该文档为XML文档)
*<?,?>:处理命令的开始和结束
*version:版本号,取值:1.0
*standalone:是否是单独的文档(与外部文档配套使用)取值:yes,no
*encoding:编码,取值:utf-8,GB2312……
-->

<!-- 根元素,有且仅有一个 -->
<根元素名>
<标签名>
<子标签></子标签>
<子标签></子标签>
</标签名>
</根元素名>

<!--
XML命名规则
*名称可以包含字母、数字以及其他字符,但是避免使用“.”,“:”字符
*名称不能以数字或者标点符号开始
*名称不能以字符“xml”开始
*名称不能包含空格
-->


注:

xml必须有根元素

xml对大小写敏感

xml元素必须正确的嵌套

xml属性值必须加引号

实体引用:

拥有正确语法的XML被称为“形势良好”的XML。

通过DTD验证的XML是“合法”的XML。

DTD

DTD:文档类型定义

作用:用来定义(约束)XML文档的合法构建模块,它用一系列的合法元素来定义文档结构。

<!ELEMENT student (student+)>
<!ELEMENT student (name,age,sex)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT age(#PCDATA)>
<!ELEMENT sex(#PCDATA)>


DTD语法:

+ :至少有一个

, :必须按照定义的顺序来写

* :零个或多个

? :最多一个(零个或一个)

() :作为一个组合

| :在列出的集合元素中,只要选择一个就可以

在XML中引入DTDWENJ :

<!DOCTYPE students SYSTEM "student.dtd">


DTD文档声明和引用

1、内部DTD文档:

<!DOCTYPE students[
<!ELEMENT students(students+)>
<!ELEMENT student(name,age,sex)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT age(#PCDATA)>
<!ELEMENT sex(#PCDATA)>
]>


2、外部DTD文档:

<!DOCTYPE students SYSTEM "students.dtd">


3、内外部DYD文档混合引用

<!DOCTYPE students SYSTEM "students.dtd"[
<!ELEMENT……>
]>


SYSTEM 表示本地DTD文档

PUBLIC 表示公共的DTD文档,跟URL地址

DTD ELEMENT 语法(元素语法):

EMPTY: 空元素,不能包含子元素,但可以有属性

ANY: 可以包含任何字符数据,如果有子元素,只能用DTD里定义的元素

#PCDATA: 可以包含任何字符数据,但是不包含任何子元素

其他类型: 比如集合,例如

<!ATTLIST element name
attr_name type_name attr_desc
attr_name type_name attr_desc
>
<!--例如 -->


Attrbute Type:

CDATA:字符数据,放置文本

ID: 表示属性的值不能重复,不能以数字开头

IDREF/IDREFS(ID references):表示该属性的值需要去参照另外一个类型为ID的属性值(相当于db里的外键关联),关联一个用IDREF,多个用IDREFS,多个属性值用空格隔开

<student id="stu003" team="stu001 stu002">


Attrbute Decription:

#REQUIRED:必须有

#IMPLIED:可以有

#FIXED value:如果有,值必须是value

default value:如果不指定值,默认value

ENTITY/ENTITYS 实体:

引用实体

主要用在XML文档中(例如:大于号:>)

语法格式

<!ENTITY copyright "Copyright (c) Lala">


列表内容

©right;


参数实体

主要被DTD文件自己使用

语法格式

<!ENTITY    %entity_name  "content">


引用方式

%entity_name;


例子:

<!ENTITY %TAG_NAMES "姓名|EMAIL|电话|地址">

<!ELEMENT 个人信息 (%TAG_NAMES;|生日)>
<!ELEMENT 客户信息 (%TAG_NAMES;|公司名)>


Schema

XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。

XML Schema 是基于 XML 的 DTD 替代者。

XML Schema 可描述 XML 文档的结构。

XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: