• 1. XML与web技术武汉科技大学 计算机学院 刘小明
  • 2. 目录第一章 XML概述与HTML简介 第二章 Javascript简介 第三章 XML数据库的底层结构——DTD和XML Schema 第四章 XML的样式单XSLT 第五章 XML编程原理
  • 3. 目录第六章 基于.NET的XML编程技术 第七章 XML与数据库 第八章 Web服务 第九章 简单对象访问协议 SOAP 第十章 语义Web (略)
  • 4. 第一章 XML概述与HTML简介1.1 从SGML到XML的产生 1.2 HTML简介 1.3 XML文件内容简介
  • 5. 1.2 从SGML到XML的产生HTML源于标准通用标记语言(SGML), SGML是一种元语言,即描述标记语言的语言。HTML是其中的一种,被称为一种“SGML的应用”。
  • 6. 1.2 从SGML到XML的产生XML的全称是Extensible Markup Language,意思是可扩展的标记语言,它是标准通用标记语言(Standard Generalized Markup Language,SGML)的一个子集。 在80年代早期,IBM提出在各文档之间共享一些相似的属性,例如字体大小和版面。IBM设计了一种文档系统,通过在文档中添加标记,来标识文档中的各种元素,IBM把这种标记语言称作通用标记语言(Generalized Markup Language),即GML。经过若干年的发展,1984年国际标准化组织(ISO)开始对此提案进行讨论,并与1986年正式发布了为生成标准化文档而定义的标记语言标准(ISO 9979),称为新的语言SGML,即标准通用标记语言。 SGML功能非常强大,是可以定义标记语言的元语言。
  • 7. 1.2 从SGML到XML的产生1998年2月,W3C发表了XML1.0标准,其目的是为了在web上能以现有的超文本标记语言HTML的使用方式提供接收和处理通用的SGML,XML是SGML的一个简化子集,它是以一种开放的、自我描述的方式定义了数据结构。在描述数据内容的同时能突出对结构的描述,从而体现出数据与数据之间的关系。 W3C组织在2004年2月4日,发布了XML1.1的推荐标准,这是最新的XML版本,不过目前大多数的应用还是基于XML1.0的推荐标准。若想了解XML1.1规范,见 http://www.w3.org/TR/2004/REC-xml11-20040204/
  • 8. W3C简介W3C是万维网联盟(World Wide Web Consortium)的缩写,成立于1994年10月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),开发网络的全部潜能。W3C从1994年成立以来,已发布了90多份技术规范,领导着Web技术向前发展。 W3C认为自身不是官方组织,因此将它正式发布的规范称为推荐标准,意思是进一步标准化的建议,但是由于该组织自身的权威性往往成为事实上的标准。
  • 9. W3C介绍一项技术要成为W3C的推荐标准,需要经过7个步骤: (1)W3C收到提交(receives a submission) (2)W3C发布注释(publish a note) (3)W3C成立工作组(creates a working group) (4)W3C发布工作草案(publishes a working draft) (5)W3C发布候选推荐标准(publishes a candidate recommendation) (6)W3C发布提议的推荐标准(publishes a proposed recommendation) (7)W3C发布推荐标准(publishes a recommendation)
  • 10. 1.2 HTML语言简介1.2.1 HTML概述 1.2.2 HTML标签
  • 11. 1.2.1 HTML概述HTML:Hyper Text Markup Language 超文本链接标记语言. HTML语言使用标签来指明文档的不同内容. 用HTML语言写的页面是普通的文本文档,不含任何与平台和程序相关的信息,它们可以被任何文本编辑器读取。
  • 12. HTML基本结构 标题 …网页正文(各种标签)
  • 13. HTML示例 一个简单的HTML示例 欢迎光临我的主页
  • 14. 1.2.2 HTML标签文本格式标签 图片标签 超链接标签 表格标签 form标签 √
  • 15. 文本格式标题标签:h1为最大字,h6为最小字

     一级标题

     二级标题
     六级标题 标题对齐方式:

  • 16. 字体标签:... 字体大小:... 指定字型:... 文字颜色:... 如:red,green,blue等 或具体颜色值,如#FF0000或rgb()函数 欢迎光临我的主页 rgb(255,0,0)
  • 17. 字体样式标签: 粗体:          斜体:          下划线: 删除线:... 下标:... 上标:... 欢迎光临 X2注意:没有
  • 18. 段落标签: 换行:
    分段:

    段落对齐方式:

    特殊符号: 空格     <     < >     > &    & "     " 分割线:
    注释:
  • 19. 示例Java 程序员工资调查 被调查人数:5085 月收入 人数 <1000元 224 1000-3000元 1815 3001-5000元 1129 5001-10000元 652 10000元以上 83
  • 20. 参考答案【Return】

    Java 程序员工资调查


    被调查人数:5085
    月收入        人数
    <1000元        224
    1000-3000元   1815
    3001-5000元   1129
    5001-10000元   652
    10000元以上     83
  • 21. 图片标签 插入图片: 设定图形大小(自定义) : 例如: 本地资源 URL格式
  • 22. 图片标签设定图框: 图形位置调节 (左上角留空): 图形附注: 说明文字【Return】
  • 23. 超链接标签基本格式: 链接文字 通过点击“链接文字”可以到达指定的资源地址。例如: 武汉科技大学 青花瓷 flash
  • 24. 补充一点IE中的背景音乐: 页面自动载入: 【Return】
  • 25. 表格基本结构        
    ...
    定义行定义表格具体数据定义标题边框厚度表格宽度/高度定义表头定义行
  • 26.  
    学生名单
    学号 姓名 院系
    2004001 张无忌 计算机学院
    2004002 令狐冲 计算机学院
  • 27. 一些属性 bordercolor :边框颜色 bgcolor:背景色 例如: 整个表格背景色
  • 28.
  • 29. 相关属性align:水平对齐-left / center / right valign:垂直对齐-top / middle / bottom例如:
  • 30. 练习
  • 31. 参考答案

    Java 程序员工资调查

  • 2004001 张无忌 计算机学院
    2004001 张无忌 计算机学院
    被调查人数:5085
    月收入 人数
    <1000元 224
    1000-3000元 1815
    3001-5000元 1129
    5001-10000元 652
    10000元以上 83
  • 32. form标签form 元素为用户输入创建表单. 表单可包含文本框、复选框、单选/多选按钮、命令按钮等. 表单通常用于向指定的 URL 提交用户数据。
  • 33. 基本结构
    form元素标签
    跳转的页面常用name属性
  • 34. form元素文本框:
    用户名:
  • 35. form元素密码框:
    密码:
  • 36. form元素单选按钮: 同一组的多个单选框要求name必须相同
    性别:
  • 37. form元素复选按钮:
    爱好: 足球 篮球
    同一组的多个复选框的name可以相同
  • 38. form元素列表框: 可增加 selected=“selected” 指定选中项一般不取相同值size=1 为下拉列表框(默认) size>1 为列表框
  • 39.
    专业:
    下拉列表框
  • 40.
    专业:
    列表框列表框可多选
  • 41. form元素文本区域:
    简历:
    文本框、密码框、文本区域均可 添加属性 readonly="readonly"
  • 42. form元素提交和重置按钮: 跳转到action属性指定的URL
  • 43. form元素命令按钮 JavaScript脚本语言编写
  • 44. JavaScript示例
  • 45. JavaScript示例 HTML示例
    输入水果名称
  • 46. form重要属性属性名称取值说明name表单名称定义表单的唯一名称actionURL当提交按钮被按下时,接受和处理表单数据的网页URLmethodget/post用于向 action URL 传送数据的 HTTP 方法 get方法(默认) -数据量少,会在地址栏显示数据 post方法-数据量多target_blank _self _parent _top在一个新的未命名的窗口载入文档 在相同的框架或窗口中载入目标文档 把文档载入父窗口或包含了超链接引用的框架的框架集 把文档载入包含该超链接的窗口,取代任何当前正在窗口中显示的框架
  • 47. 示例
    用户名:
    密 码:
    提交后注意 地址栏显示处理数据的网页比较post方法【完】
  • 48. 关于XML的2个问题(1)XML是HTML的扩展吗? HTML的全称是Hypertext Markup Language(超文本标记语言),而XML是(Extensible Markup Language)可扩展标记语言,这容易让人联想到XML是通过增加新标记来扩展HTML的一种标记语言;实际上HTML和XML在标记语言中处于不同的层次: 这是一个例子 你好!欢迎! <欢迎词> <标题>这是一个例子 <内容>你好!欢迎!
  • 49. 关于XML的2个问题(2)SGML、HTML和XML之间是什么关系? SGML是一种在web发明前就存在的使用标记来描述文档资料的通用语言,它是一种定义标记语言的元语言。HTML和XML都是从SGML发展而来的标记语言,因,它们有一些共同点,如相似的语法和标记的使用。不过HTML是在SGML定义下的一个描述性语言,只是SGML的一个应用,其DTD作为标准被固定下来,而XML是SGML的一个简化版本,是SGML的一个子集,严格意义上来说,XML仍然是SGML。 HTML不能用来定义新的应用,而XML可以,例如RDF和CDF都是使用XML定义的应用。事实上,XML和SGML是兼容的,但又没有SGML那么复杂,它是设计用于有限带宽的网络,如Internet。XML规范的制定者之一Tim Bray说,XML的设计出发点是取SGML的优点,去除复杂的部分,使其保持轻巧,可以在web上工作。 HTML、SGML和XML将继续用于其适合的地方,它们中的任何一个都不会使其它一个废弃。对于像新闻、网络日记、论坛留言等大部分短期的数据,HTML仍是在web上快速出版数据的最简单的方法。如果要长期使用,并且需要更多的结构,则更推荐使用XML。不同意HTML和XML,SGML可能永远不在被internet上被广泛使用,因为它不是为某个网络协议而设计,也没有被优化过。对于高端的、复杂结构的出版应用,SGML将继续应用。
  • 50. XML与HTML的比较(1)XML将数据与显示分开 静夜思

    静夜思

    作者:李白

    床前明月光,疑是地上霜.
    举头望明月,低头思故乡.

  • 51. XML与HTML的比较(1) 静夜思 李白 床前明月光 疑是地上霜 举头望明月 低头思故乡
  • 52. XML与HTML的比较(2)XML对文档的格式要求更加严格 由于HTML文档格式非常松散,导致了HTML文档解析的复杂性,也造成了浏览器兼容的问题,所以XML从一开始,就对文档的格式制度了非常严格的标准,凡是符合这一标准的XML文档就是格式良好的XML文档(well formed xml documents)
  • 53. XML与HTML的比较(2)开始标签必须要有一个结束标签 在HTML文档中,可以直接使用

    ,,等标签,而不用加结束标签,在XML中,开始标签和结束标签必须配套,也就是必须写成

    ,…,…。 空元素标签必须被关闭。
    ,
    所有标签区分大小写 所有标签必须合理嵌套 所有标签的属性值必须用双引号或单引号括起来 Xml有且仅能有一个根元素
  • 54. HTML的局限(1)HTML缺乏语法检查。 (2)HTML缺乏结构。 (3)HTML对内容不敏感。 (4)HTML不是面向对象的。 (5)HTML取法健壮的链接机制。 (6)HTML是不可重用的。 (7)HTML是不可扩展的。
  • 55. 1.3 XML文档内容XML保留了SGML的一些特点,并克服了HTML的局限性。主要特点是: XML可用于现有的Web协议(如HTTP和MIME)和机制(如 URL)。 XML支持WEB的各种不同的应用,并使用了一种类属的方法使其具有可扩展性。HTML则不支持,它需要借助使用用于链接HTML和应用的脚本语言。 XML与SGML兼容,所以大多数SGML应用可以向XML转化。 同HTML文档一样,XML文档易于创建。 XML文档内容和结构清晰易懂,所以即使对非专业人员来说也易于阅读和使用。 XML的设计严谨而仔细,所以XML中标记的信息可以很容易地被计算机程序所处理。 XML标准定义精悍,这就保证了其下载和处理的速度。
  • 56. XML文档每一个XML文档都有一个逻辑和一个物理结构 物理上而言,文档由称为实体(entities)的存储单元组成,实体都具有内容并且都通过实体的名字进行标识(文档实体和外部DTD子集除外)。实体可以是一段文字、一个文件、一个数据库记录或其他包含数据的项目。一个实体可以引用其它的实体,从而将它们包含在文档中,文档开始于根(root)或文档实体(document entity) 格式良好的XML文档形成了一种层次树结构,而这个树的根就是文档实体,与其它实体不同,文档实体没有名字,只是用于表示文档树的根.XML文档的根元素被称为文档元素,它和在其外部出现的处理指令、注释等作为文档实体的子节点,而根元素本身和其内部的子元素也是一棵树。注:文档元素作为文档实体的子元素存在
  • 57. XML文档实体可以包含已分析的(parsed)或未分析的(unparsed)数据。已分析的数据由字符组成,其中一些字符组成字符数据,另一些字符组成标记。已分析的实体(parsed entity)内容被称为它的替换文本,这个文本被看作文档整体的一部分。在XML处理器分析XML文档时,凡是文档中出现引用已分析实体的地方,都将被实体的内容所替换。 未分析的实体(unparsed entity)是一种资源,它的内容可以是也可以不是文本,并且如果是文本的话,可以不是XML文本。每一个未分析的实体有一个相关联的用名字标识的记号(notation)。除了要求XML处理器能向应用程序提供可用的实体和记号的标识符外,XML对未分析的实体内容不作任何限制。 已分析的实体以实体引用的方式通过名字来调用;未分析的实体通过ENTITY或ENTITIES属性中给出的名字来调用。
  • 58. XML文档逻辑上而言,文档由声明、元素、注释、字符引用和处理指令组成,在文档中,所有这些都是通过显示的标记(markup)来指明的。 XML标记(markup)包括开始标签(tag)、结束标签、空元素标签、实体引用、字符引用、注释、CDATA段定界符、文档类型声明、处理指令、XML声明、文本声明以及任何在文档实体顶层的空白(即在文档元素外,且不在任何其它的标记内部)。其它所有非标记的文本组成文档的字符数据。
  • 59. XML文档XML文档在逻辑上主要由以下5个部分组成 XML声明 文档类型声明 元素 注释 处理指令
  • 60. XML声明XML文档总是以一个XML声明开始,其中指明所用的XML版本、文档的编码、文档的独立性信息。其格式如下: []中的部分表示可选信息。 版本声明 文档编码声明 在xml声明中还可以加上文档编码信息,默认是UTF-8,如果要用中文,可以在声明上加上encoding=“gb2312”,如下所示: 独立文档声明 如果我们的文档不依赖外部文档,在XML声明中,可以通过standalone=“yes”来声明这个文档是独立的文档。如果文档依赖于外部文档,可以通过standalone=“no”来声明。完整的XML声明如下: XML声明必须位于文档的第一行,前面不能有任何字符。
  • 61. 文档类型声明DTD(Document Type Definition),文档类型定义,另一种是schema文件 XML从SGML继承了用于定义语法规则的DTD机制,但DTD本身并不要求遵循XML规则,许多XML应用都是使用DTD来定义的,HTML就有一个标准的DTD文件,所以其组织结构和所有标签都是固定的。DTD文件也是一个文本文件,常用”.dtd”做扩展名。 通过文档类型声明,指出XML文档所用的DTD,文档类型声明有两种形式:一种是声明在一个外部文件中,如下: 另一种是直接在XML文件中给出DTD,如下: ]>
  • 62. 元素在XML中,元素由开始标签、元素内容和结束标签构成,对于空元素,由空元素标签构成。 每个元素有一个名字标识的类型,同时可以有一个属性说明集,每个属性说明有一个名字和一个值。 在给元素命名的时候要注意,以”xml”或其它任意匹配((‘X’|’x’)(‘M’|’m’)(‘L’|’l’))的字符串开头的名字,被保留用于XML规范的当前版本或后续版本的标准化。此外,元素名还需遵守下列规则: 名字只能以字母、下划线(_)或者冒号(:)开头; 名字中可以包含字母、数字、下划线以及其它在XML标准中允许的字符; 名称中不能包含空格; 名称中尽量不要使用冒号(:),因为冒号在名称空间中被用于分割名称空间前缀和本地部分。
  • 63. 元素-元素的四种形式空元素 带有属性的空元素 带有内容的元素 学生信息 张三 18 带有内容和属性的元素 18
  • 64. 元素-元素内容的构成元素的内容可以包含子元素、字符数据、字符引用和实体引用、CDATA段。
  • 65. 元素-子元素子元素本身也是元素,被嵌套在上层元素之内。子元素是相当父元素来说的,如果子元素还嵌套了其它元素,那么它同时也是父元素。 张三 18
  • 66. 元素-字符数据在一个元素的内容中,字符数据可以是不包括任何标记的起始定界符和CDATA段的结束定界符的任意字符串,也就是说在元素的内容中,字符数据不含有和号(&)和小于号(<),也不能有字符串”]]>” 在CDATA段中,字符数据可以是不包括CDATA段的结束定界符的任意字符串。 例子java.xml与java2.xml
  • 67. 元素-字符数据判断下列元素的内容是否合法 & (x) / (√) /> (√) < (x) ]]> (x)
  • 68. 元素-字符引用和实体引用在字符数据中,不能有和号(&)和小于号(<),因为未经处理的小于号(<)与和号(&)在XML文本中往往被解释为标记的起始定界符(例外的情况见下面的CDATA段) 在XML中,提供了5个预定义的实体引用,分别引用XML文档的5个特殊字符;小于号(<)、大于号(>)、双引号(“)、单引号(‘)、和号(&)。这5个特殊字符也可以用字符引用的方式去引用。 字符引用和预定义实体引用都以一个和号(&)开始并以一个分号(;)结束。如果用的是字符引用,需要在和号(&)之后加上一个井号(#),之后是所需字符的十进制代码或16进制代码(ISO/IEC 10646字符集中字符的编码)。如果用的是预定义实体引用,在和号(&)之后写上字符的助记符。
  • 69. 元素-字符引用和实体引用字符字符引用(10进制)字符引用 (16进制)预定义实体引用<<<<>>&@x3e;>“"""‘'''&&&&
  • 70. 元素-CDATA段CDATA段中包含的都是纯字符数据,在字符数据可以出现的任何地方都可以使用CDATA段。 CDATA段主要用于需要将整个文本解释为字符数据而不是标记的情况下。CDATA段中的内容不被XML处理器分析,所以可以包含任意的字符。例如,在XML文档中,需要包含java代码,而Java代码中可能存在<、>、”、‘、&这些特殊符号,这时候CDATA段就派上用场了。 CDATA段以字符串””结束.
  • 71. 注释在XML文档中,注释可以出现在文档中其它标记之外的任何位置,另外,它们还可以在文档类型声明中语法(grammar)允许的地方出现。 XML的注释和HTML的注释类似,都是以结束。位于之间的数据将被XML处理器忽略。如
  • 72. 注释注释用于对文档中的内容起一个说明作用。使用注释时,要注意下面几点: 注释不能出现在XML声明之前,XML声明必须是文档最前面的部分。下面的情况不允许: 2. 注释不能出现在标记中,下面的例子非法: >Hello
  • 73. 注释3.注释可以包围和隐藏标记,但在注释掉标记后,要保证剩余的文本仍然是一个结构完整的XML文档。例如: Hello, world 当我们将注释部分去掉后,文档结构依然是完整的。 Hello, world
  • 74. 注释4.字符串”--”(双连字符)不能在注释中出现。下面例子非法: 5. XML中,不允许注释以--->结尾,下面的例子非法:
  • 75. 处理指令处理指令(Processing Instructions,简称PIs)允许文档中包含由应用程序来处理的指令。在XML文档中,可能包含一些非XML格式的数据,这些数据XML处理器无法处理,我们可通过处理指令来通知其它应用程序来处理这些数据。 处理指令(PI)的语法与XML声明类似,以结束。一个常见的使用样式表单的处理指令如下: 在开始标记
  • 76. 处理指令处理指令的目标可以是要使用的程序的名字,或者是一个类似于xml-stylesheet这样的很多程序可以识别的通用标识符。不同的应用程序支持不同的处理指令,对于不认识的处理指令,大多数应用程序采取忽略的方式进行处理。 xml-stylesheet处理指令总是放在XML声明之后,第一个元素之前。其它的处理指令可以放在除标记的内部和XML声明之前的任何位置。 注意,虽然XML声明和处理指令的语法形式相似,但XML声明并不是处理指令,XML处理程序对XML声明和处理指令采用的是不同的处理方式。
  • 77. 空白处理XML规范中,空白包括空格、字表符、和空行。 XML处理器总是将文档中不是标记的所有字符都传递给应用程序,一个进行有效性验证的XML处理器会通知应用程序这些字符中的哪些组成了出现在元素内容中的空白。 在XML文档中,可以在元素中使用一个特殊的属性xml:space来通知应用程序保留此元素中的空白。 在有效的文档中,这个属性和其它属性一样,在使用时必须声明。xml:space属性必须被声明称enumerated(枚举)类型,它的值必须是”default”和”preserve”两者之一,也可以两个都取。例如: ‘default’表示对此元素使用应用程序的缺省空白处理模式,’preserve’指示应用程序保留所有的空白。 如果一个元素使用了xml:space属性,将适用于该元素内容中的所有元素,除非被另一个xml:space属性的实例所覆盖。
  • 78. 行尾处理 (End-of-Line handling)XML数据经常以文本的方式保存在计算机文件中,以行来分隔。然而,不同的计算机系统采用的行分隔符是不同的。在XML空白字符中,有两个是标准的ASCII码行尾控制字符:回车(CR,#xA)和换行(LF,#xD)。在Windows平台下,采用#xd#xA的组合作为行分隔符,而Linux、Unix系统采用#xA作为行分隔符,在MacOS下,采用#xD作为行分隔符。 为了简化应用程序的工作,XML处理器在解析前,要将所有的两字符序列#xD#xA,以及单独的#xD字符转换成单个的#xA字符。
  • 79. 语言标识文档处理中,标识出其内容所使用的自然或人工语言常常是很有用的。 可以在文档中插入一个特殊的属性xml:lang,来指出XML文档中任何元素的内容和属性的值所使用的语言。在有效的文档中,这个属性在使用是也必须声明。 xml:lang属性的值是在IETF RFC 3066 (Tags for the identification of languagesJ)或者它的后继版本中定义的语言标识符,另外,也可以指定为空字符串。例如: English 这是中文
  • 80. 格式良好的XML如果一个XML文档有且只有一个根元素,符合XML元素的嵌套规则,满足XML规范中定义的所有格式正确性的约束,并且在文档中直接或间接引用的每一个已分析实体都是格式正确的,我们称这个文档是一个格式良好 (well-formed)的XML文档。 格式良好的重要性: 可以创建没有DTD(或Schema)的XML文档,便于利用XML文档做数据交换 XML的处理器可以做的很小很快,从而应用于手持设备,如PDA、手机等存储容量较小的设备中。
  • 81. 一个简单的XML 案例 David Calder
    56 McMahons Rd Frankston Vic 3199
    9903 4567 9903 4444 040 8887 7777 david.calder@nowhere.com.au
  • 82. 工具的使用 XML应用广泛,在它诞生之后,即有许多公司开发出了不少XML工具。如Adobe公司的FrameMaker可以用来书写XML文档;Microsoft公司的IE4.0已经可以显示、处理和编辑XML文档;Netscape、Sun公司也纷纷在它们的Web工具中加入对XML的支持。 由于XML文件,如同HTML文件一样,仅仅是一个普通的文本文件,所以任何一个文本编辑器都可以用来编写XML文件。为了使XML的编写更为简单方便,常用的工具有XML writer、XmlSpy等。