上节课总结
要求:
1、 会根据提示信息编写xml文档;
2、 会阅读xml文档;
xml:将复杂的数据按照层次关系描述
一对多
结果保存成一个普通的文档,占用空间很小;
增加或者删除节点---缺陷;
应用:
1、 保存简单数据信息;
2、 当作配置文件
练习:找软件环境中*.xml文件,尝试阅读;
xml文档构成:
ü 声明
ü (DTD)规则
ü 正文:
根元素(有且只有一个)
l 元素:自定义标签
l 属性:元素的额外信息
l 实体:普通文本
l PCDATA:被解析的字符数据
l CDATA:不被解析的字符数据
l 注释:<!--……….-->不能嵌套,也不能在内部出现“--”
XML包括:编写或阅读、修饰或转化、使用(应用程序获取xml保存的数据)。
在xml空白被照原样显示:
下列写法意义不同
<root>abc</root>
<root>
Abc
</root>
<root/>:空标记排版
本节内容:
实体规则(继续)
一般实体:在DTD声明,在正文引用
<!ENTITY abc “ABCabcABC”>
…
<root>&abc;</root>
可以嵌套
参数实体:在DTD声明,在DTD里使用
1) 声明参数实体语法
<!ENTITY % 参数实体名 “值”>
引用参数实体
%参数实体名;
只能在外部DTD里
<!ELEMENT root ANY>
<!ENTITY % p "root">---声明
<!ENTITY price "%p;">---引用
命名空间
目的:防止同名标记含义的冲突
…
<book>
<name>xml实用教程</name>
</book>
<book1>
<name>10.00</name>
</bookl>
….
语法格式:
xmlns:名称空间前缀(自定义)=名称空间名(URL)
xmlns=名称空间名(URL)
作用域
每个名称空间都有自己的作用域,从它声明的元素开始,对该元素的所有
子元素都有效,直到包含该元素的闭合元素为止;
第二部分:
1、 CSS
内部CSS
语法:
n 声明样式表:
u 标记名{属性1:值1;属性2:值2…….}
n 插入内部CSS:
发出指令
<?xml-stylesheet type="text/css"?>
u <HTML:STYLE xmlns:HTML=名称空间名>
u 。。。。样式表
u </HTML:STYLE>
或者
u <根元素 xmlns:HTML=名称空间>
l <HTML:STYLE>
。。。。样式表
l </HTML:STYLE>
l <元素>
l 。。。。
l </元素>
l </根元素>
外部CSS:
<?xml-stylesheet type=”text/css” href=”mycss.css”?>
2、 XML数据源
ü 熟悉HTML文档中嵌入XML数据;
ü 了解HTML与XML结合的办法;
步骤:
1) 建立html、xml文档;
2) 在html文档<body>中加入<XML ID=”xmldata” SRC=”order.xml”></XML>标记;
3) 建立表格(自己指定合适的字段名);
4) 在<table>里定义数据源,使用属性DATASRC=“#XML标记的ID值” ,使用该数据源名称时需加“#”;
5) 在<td>中确定绑定的字段,使用属性DATAFLD=“XML文档中对应的元素名”;
6) 保存html,浏览;
3、 XSL转换
文件:*.xsl;
运行:和htm、xml一样,对浏览器无太多要求;
内容:html标记、模板;
功能:把xml文档通过模板转换成html文档;
步骤:
1) 首先转换文档的结构-----XSLT
2) 格式化输出-----------------XSL-FO
与CSS比较:
ü CSS不能重新排序文档中的元素;
ü CSS不能判断和控制每个元素是否被显示;
ü CSS不能统计元素中的数据;
使用
定义:将XML文档作为原料输入到XSL模板里,转换成HTML文档
例如: