URL和URI的详细区分(带实例)

1说明:

这段时间写android的时候用到了URLURI,有点分不清楚,于是做了一个系统性的学习。在这里将自己的学习笔记粘贴出来,希望对大家有帮助。

1)Java类库里有两个对应的类java.net.URL和java.net.URI,官方的定义分别如下:

(URL)A Uniform Resource Locator thatidentifies the location of an Internet resource as specified by RFC 1738.(统一资源定位符用于标示网络资源的位置)

(URI,统一资源标识符)A Uniform Resource Identifier that identifies an abstract or physical resource, as specified by RFC 2396.(统一资源标识符用于标示一个抽象或者物理资源)

2)也就是说URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。

3)URL,URI具体定义方式(来自android官方文档)


URL的格式一般由下列三部分组成:

第一部分是协议(或称为服务方式);

第二部分是存有该资源的主机IP地址(有时也包括端口号);

第三部分是主机资源的具体地址。

URI一般由三部分组成:

访问资源的命名机制。

存放资源的主机名。

资源自身的名称,由路径表示。

4)在Java的URI中,一个URI实例可以代表绝对的,也可以是相对的,只要它符合URI的语法规则。而URL类则不仅符合语义,还包含了定位该资源的信息,因此它不能是相对的,schema(protocol)必须被指定。

2举例:

1) 大家平常用图片的时候。到底是imgUrl好呢,还是imgUri好?显然,如果说imgUrl是肯定没问题的,因为即使它实际上是url,那它也是uri的一种。那么用imgUri

有没有问题呢?此时则要看它的可能取值,如果是绝对路径,能够定位的,那么用imgUri是没问题的,而如果是相对路径,那还是不要用ImgUri的好。总之,用imgUrl是肯定没问题的,而用imgUri则要视实际情况而定。

2)StringHttpServletRequest.getRequestURI();和StringBufferHttpServletRequest.getRequestURL();返回的内容有何不同?为什么会如此?

从HttpServletRequest的javadoc中可以看出,getRequestURI返回一个String,“the part of this request’s URL from theprotocol name up to the query string in the first line of the HTTP request”,比如“POST/some/path.html?a=b HTTP/1.1”,则返回的值为”/some/path.html”。现在可以明白为什么是getRequestURI而不是getRequestURL了,因为此处返回的是相对的路径。而getRequestURL返回一个StringBuffer,“The returned URL contains a protocol, server name, port number, andserver path, but it does not include query string parameters.”,完整的请求资源路径,不包括querystring。

3) URL示例

文件的URL:用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。

例(3.1):file://ftp.linkwan.com/pub/files/foobar.txt

 

代表存放主机ftp.linkwan.com上的pub/files/目录下的一个文件,文件名是foobar.txt。

 

例(3.2):file://ftp.linkwan.com/pub

 

代表主机ftp.linkwan.com上的目录/pub。

 

例(3.3):file://ftp.linkwan.com/

 

代表主机ftp.linkwan.com上的根目录。

 

例(3.4):http://homepage.yesky.com/175/2603675.shtml

HTTP的URL:使用超级文本传输协议HTTP,提供超级文本信息服务的资源。

其计算机域名为homepage.yesky.com。超级文本文件(文件类型为.shtml)是在目录/175下的2603675.shtml。这是天极网的一台计算机。

4) 统一资源定位器(URL)指的是Internet文件在网上的地址。好比一个街道在城市地理上地址。URL使用数字和字母按一定顺序排列以确定一个地址。比如,要是有一个人的地址是:

510665 广州市天河科韵路18号 梁大头

你会想到,梁大头是一个人名,他住在广州市天河科韵路18号,邮政编码是510665。


3:总结

参考了的网站:

http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html

http://blog.csdn.net/niuox/article/details/7312843

http://cs.szpt.edu.cn/android/reference/java/net/URI.html (官方)

http://cs.szpt.edu.cn/android/reference/java/net/URL.html (官方)

http://www.cnblogs.com/devinzhang/archive/2012/01/08/2316443.html

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
yog-log 是 Node Log 统计方案,是yog框架的log统计模块,支持中间件或者单独使用等方式,兼容ODP日志格式与配置。关于ODP的日志方案调研可查看此文档. 统计日志类型包括: server日志 access_log: web访问日志,按小时分日志 error_log: web错误日志,按小时分日志 访问日志统计方式为请求返还才触发。 应用日志 每个app有各自独立的日志,日志名为app的名称,例如demo.log和demo.log.wf。 可配置每个app是否使用独立的子目录存放自身日志,例如demo/demo.log。 可配置每个app是否按小时切分日志。 可配置每个app的日志级别。 对于不属于任何app的node.js程序,日志名为unknown.log。 快速开始 1 在yog的config.json中添加此配置   "yogLogger": {             "enabled": true,             "priority": 50,             "module": {                 "name": "yog-log",                 "arguments": [                     {                         "level" : 16, //线上一般填4,参见配置项说明                         "app": "app_name", //app名称,产品线或项目名称等                         "log_path": "path:./data/log"//日志存放地址                     }              ]       }  } 填写此配置之后yog-log就开始统计访问日志。 2 调用接口统计应用日志 router层统计日志 router层推荐使用emit方式触发log事件,避免在每个文件中都require yog-log try{     //do something }catch(e){     res.emit('log',{'stack':e,'errno':120,'msg' :'error happened!'}, 'warning'); //推荐方式     //or res.emit('log',{'stack':e});//日志等级不写默认为notice     //or res.emit('log','error!');//只写字符串不会解析错误堆栈 } model等没有res的地方 使用getLogger方法获取到日志模块实例,然后调用接口统计日志。 var YLogger = require('yog-log'); var logger = YLogger.getLogger();  //默认通过domain获取,单独使用请传递 configlogger.log('warning','msg'); //or logger.warning('msg'); 日志初始化配置项 配置项均有默认值,理论上不需要配置也能工作。推荐设置配置有:level、app、log_path 三项。 配置项 默认值 说明 app unknown app名称,推荐填写 format 见下 默认应用日志格式 format_wf 见下 默认的应用日志warning及fatal日志格式 level 16 log日志级别,高于此级别的日志不会输出 auto_rotate 1 是否自动切分 use_sub_dir 1 日志是否在二级目录打印,目录名为 APP_NAME log_path 插件安装地址/log 日志存放目录,注意需要设置 data_path 插件安装地址/data 格式数据存放的目录,可不用设置 is_omp 0 是否开启omp日志,如果不接入omp,建议置为2 debug 0 是否开启omp日志,如果不接入omp,建议置为2 默认`format`: %L: %t [%f:%N] errno[%E] logId[%l] uri[%U] user[%u] refer[%{referer}i] cookie[%{cookie}i] %S %M 默认的`format_wf `: %L: %{%m-%d %H:%M:%S}t %{app}x * %{pid}x [logid=%l filename=%f lineno=%N errno=%{err_no}x %{encoded_str_array}x errmsg=%{u_err_msg}x] 应用日志等级 日志等级 数据编号 统计说明 FATAL 1 打印FATAL WARNING 2 打印FATAL和WARNING NOTICE 4 打印FATAL、WARNING、NOTICE(线上程序正常运行时的配置) TRACE 8 打印FATAL、WARNING、NOTICE、TRACE(线上程序异常时使用该配置) DEBUG 16 打印FATAL、WARNING、NOTICE、TRACE、DEBUG(测试环境配 response.emit(name,obj,level) 在router层使用emit方式可以避免每个文件都引入logger和获取实例。参数说明: name :日志事件名称,固定为'log' obj: string或者object格式。如果是string,认为是错误消息。如果是object,请认为是详细信息。正确格式为{'stack':e,'msg':'msg','errno':'010'},分别代表错误堆栈、错误消息、错误码。错误消息如果不填将使用错误堆栈的消息。 level : 日志等级字符串,见上。不区分大小写,不写默认为notice 如下所示: res.emit('log',{'stack':e,'errno':120,'msg' :'error happened!'},'warning'); getLogger(config) 当框架接收请求时,yog-log会新建一个实例,并保存到domain中,确保单次请求流程中调用的getLogger获取到的是同一个实例。 如果单独使用log不经过请求, getLogger会新建一个实例,此时应当传递config配置参数。 log(level,obj) 提供统一的log方法打印日志。参数说明同response.emit。另外针对各个应用日志等级提供了相对应的方法。 请确保使用快捷方法时名称准确,否则程序将报错。 fatal   :  logger.fata(obj) warning : logger.warning(obj) notice : logger.notice(obj) trace : logger.trace(obj) debug : logger.debug(obj) 注意 : logger为通过getLogger获取到的日志模块实例 。 自定义错误消息 如果想在日志中填写自定义的日志字段用于追查错误,请在obj中加入custom对象,然后按照键值对应放在custom中。如下所示:  //router层  res.emit('log',{    'stack':e, //错误堆栈    'errno':120,  //错误码    'msg' :'error happened!',  //错误消息    'custom':{'key1' :'value1','key2':'value2'} //自定义消息  });   //其他地方  logger.log('warning', {    'stack':e, //错误堆栈    'errno':120,  //错误码    'msg' :'error happened!',  //错误消息    'custom':{'key1' :'value1','key2':'value2'} //自定义消息  }); 注意custom字段默认只会在warning和fatal日志中展现 生成的错误日志将会类似于下面的格式。其中可以看到custom字段已自动添加到日志中: WARNING: 07-03 16:44:55 yd * - [logid=868855481 filename=D:\fis\test\models\doc.js lineno=25 errno=120 key1=value1 key2=value2 errmsg=error happened!] Debug支持 处于debug模式下Log将在控制台输出错误日志,并根据错误日志类型显示不同的颜色,方便开发人员调试(debug模式下依旧会写日志到文件)。有两种方法开启debug模式: 开发时 :yog的config.json的yogLogger arguments添加参数debug : 1 即开启debug模式 线上 : 无论在线上还是线下都可以在url中添加query参数_node_debug=1 开启debug模式 日志格式配置 yog-log兼容ODP支持灵活的日志格式配置,以满足不同系统对日志的格式要求。如接入OMP时warning日志格式配置: %L: %{%m-%d %H:%M:%S}t %{app}x * %{pid}x [logid=%l filename=%f lineno=%N errno=%{err_no}x %{encoded_str_array}x errmsg=%{u_err_msg}x] 除非特殊情况,不建议随意修改日志格式配置。 格式配置方法如下: 字段 描述 %% 百分比字符串 %h name or address of remote-host %t 时间戳,支持自定义格式如%{%d/%b/%Y:%H:%M:%S %Z}t %i HTTP-header字段 %a 客户端IP %A server address %C 单个或全部cookie %D 请求消耗时间/ms %f 物理文件名称 %H 请求协议 %m 请求方法 %p 服务端端口 %q 请求query %U 请求URL %v HOSTNAME %V HTTP_HOST %L 当前日志等级 %N 错误发生行数 %E 错误码 %l LogID %M 错误消息 %x 内置的自定义数据,有pid、cookie、encoded_str_array等 测试说明 单元测试说明详见此文档 标签:yoglog
目录: 目录 第1篇 html基础入门篇 第1章 建立首要的、基础的正确认知 1.1 internet和万维网 1.1.1 什么是www(万维网) 1.1.2 w3c是什么 1.2 网页、浏览器、网站和网络服务器 1.2.1 网页和浏览器 1.2.2 不可不知的浏览器发展史 1.2.3 浏览网页 1.2.4 网站和网络服务器 1.3 了解html语言 1.3.1 关于html和html编辑器 1.3.2 创建第一个网页 1.3.3 查看网页的源文件 1.4 html 4.0的特点 1.4.1 国际化 1.4.2 可访问性 1.4.3 表格 1.4.4 混合文档 1.4.5 样式表 . 1.4.6 脚本 1.4.7 打印 1.5 巩固与自测 第2章 html文档的基本结构 2.1 使用dreamweaver创建第一个网页 2.1.1 dreamweaver安装和配置向导 2.1.2 使用dreamweaver创建网页的基本步骤 2.1.3 使用dreamweaver的基本知识 2.2 html文档的基本结构 2.2.1 了解sgml和html的关系 2.2.2 html简要的历史和为何要使用html 2.2.3 html 4.01的版本和文档类型声明 2.2.4 [html][/html]标签对和属性 2.2.5 [head][/head]标签对 2.2.6 [body][/body]标签对 2.3 巩固与自测 第3章 html文档的编写规范 3.1 使用标签、元素和属性 3.1.1 标签 3.1.2 元素 3.1.3 属性的定义 3.1.4 属性值的定义 3.1.5 元素和属性的大小写规范 3.2 字符引用 3.2.1 字符数字引用 3.2.2 字符实体引用 3.3 使用注释 3.4 关于空白和空白字符 3.4.1 关于断行符 3.4.2 空白字符 3.5 基本html数据型式 3.5.1 cdata数据类型 3.5.2 id和name使用的数据类型 3.5.3 idref和idrefs使用的数据类型 3.5.4 number数据类型 3.5.5 文本字符串 3.5.6 使用uri 3.5.7 使用颜色 3.5.8 使用长度 3.5.9 内容类型(mime类型) 3.5.10 语言代码 3.5.11 字符编码 3.5.12 单字符 3.5.13 日期和时间 3.5.14 链接类型 3.5.15 介质描述符 3.5.16 脚本数据 3.5.17 样式表数据 3.5.18 框架目标名 3.6 巩固与自测 第2篇 html详细学习篇 第4章 html文档的头部定义 4.1 定义标题(title元素) 4.2 怎样定义元数据 4.2.1 定义元数据关键字 4.2.2 元数据的语言信息 4.2.3 元数据的其他定义方法 4.3 用于搜索引擎的元数据 4.3.1 定义编辑工具 4.3.2 定义版权信息 4.3.3 定义关键字 4.3.4 定义概要描述 4.3.5 定义设计者 4.3.6 定义创作日期 4.3.7 定义搜索引擎搜索方式 4.4 用于http消息报头的元数据(属性http-equiv) 4.4.1 设置网页内容类型和字符集 4.4.2 设置网页所使用的语言 4.4.3 设置网页定时跳转 4.4.4 设置网页禁用缓存 4.4.5 设置网页到期 4.4.6 设置网页cookie存活时间 4.4.7 设置网页框架目标 4.4.8 设置网页转场效果 4.4.9 设置网页分级 4.5 元数据纲要和元数据架构 4.5.1 使用元数据纲要(profile属性) 4.5.2 使用元数据架构(scheme属性) 4.6 巩固与自测 第5章 文字与段落 5.1 结构化的文本 5.1.1 用于强调的短语元素(em元素、strong元素、cite元素) 5.1.2 用于缩写的短语元素(abbr元素、acronym元素) 5.1.3 其他的短语元素(dfn、code、samp、kbd、var) 5.1.4 引用(blockquote元素、q元素) 5.1.5 下标和上标(sub元素、sup元素) 5.2 行和段落 5.2.1 段落(p元素) 5.2.2 控制换行(br元素) 5.2.3 连字符 5.2.4 预格式化文本(pre元素) 5.2.5 段落的视觉呈现 5.3 标题字体(h#元素) 5.4 标记文档改变:ins和del元素 5.5 基本文字格式(tt、i、b、big、small、strike、s、u) 5.6 字体修改(font、basefont元素) 5.6.1 改变字体大小(size属性) 5.6.2 改变文本颜色(color属性) 5.6.3 改变字体(face属性) 5.7 加入水平分割线(hr元素) 5.7.1 分隔线宽度和高度
三个资料: xml实用大全 无废话xml xml轻松学习手册 XML轻松学习手册: · 第一章:XML快速入门 · 一. 什么是XML? · 二. XML是新概念吗? · 三. 使用XML有什么好处? · 四. XML很难学吗? · 五. XML和HTML的区别 · 六. XML的严格格式 · 七. 关于XML的更多 · 第二章:XML概念 · 一. 扩展性 · 二. 标识 · 三. 语言 · 四. 结构化 · 五. Meta数据 · 六. 显示 · 七. DOM · 第三章:XML的术语 · 导言 · 一.XML文档的有关术语 · 二.DTD的有关术语 · 第四章:XML的语法 · 一.XML语法规则 · 二.元素的语法 · 三.注释的语法 · 四.CDATA的语法 · 五.Namespaces的语法 · 六.entity的语法 · 七.DTD的语法 · 第五章:XML实例解释 · 一.定义新标识 · 二.建立XML文档 · 三.建立相应的HTML文件 · 第六章:XML相关资源 《XML实用大全》 先睹为快 第一部分 XML简介 9 第1章 XML概览 9 1.1 什么是XML 10 1.1.1 XML是元标记语言 10 1.1.2 XML描述的是结构和语义,而不是格式化 10 1.2 为什么开发人员对XML感到激动 13 1.2.1 设计与特定领域有关的标记语言 13 1.2.2 自描述数据 13 1.2.3 应用间交换数据 14 1.2.4 结构化和集成的数据 14 1.3 XML文档的“生命” 15 1.3.1 编辑器 15 1.3.2 语法分析程序和处理程序 15 1.3.3 浏览器和其他工具 15 1.3.4 处理过程总结 15 .4 相关技术 17 1.4.1 超文本标记语言(Hypertext Markup Language) 17 1.4.2 级联样式单(Cascading Style Sheets) 17 1.4.3 可扩展的样式语言(Extensible Style Language) 17 1.4.4 URLURI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集 19 1.4.7 如何将这些技术融合在一起 19 1.5 本章小结 20 第2章 XML应用简介 21 2.1 什么是XML应用程序 21 2.1.1 化学标记语言(Chemical Markup Language) 21 2.1.2 数学标记语言(Mathematical Markup Language) 22 2.1.3 频道定义格式 25 2.1.4 经典文学 26 2.2 用于XML的XML 28 2.2.1 XSL 28 2.2.2 XLL 28 2.2.3 DCD 29 2.3 XML的后台应用 30 2.4 本章小结 33 第3章 第一个XML文档 34 3.1 Hello XML 34 3.1.1 创建一个简单的XML文档 34 3.1.2 保存XML文件 35 3.1.3 将XML文件装入Web浏览器 35 .2 考察简单的XML文档 37 3.3 赋于XML标记以意义 39 .4 为XML文档编写样式单 40 .5 将样式单附加到XML文档上 41 3.6 本章小结 43 第4章 数据的结构化 44 4.1 检查数据 44 4.1.1 击球手 44 4.1.2 投球手 46 4.1.3 XML数据的组织 46 4.2 数据的XML化 48 4.2.1 开始编写文档:XML声明和根元素 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化 49 4.2.3 球员数据的XML化 52 4.2.4 球员统计数据的XML化 53 4.2.5 将XML组装在一起 56 4.3 XML格式的优点 71 4.4 编制样式单以便显示文档 72 4.4.1 与样式单连接 73 4.4.2 为根元素指定样式规则 74 4.4.3 为标题指定样式规则 75 4.4.4 为球员和统计元素指定样式规则 79 4.4.5 本节小结 80 4.5 本章小结 85 第5章 属性、空标记和XSL 86 5.1 属性 86 5.2 属性与元素的对比 95 5.2.1 结构化的元数据 95 5.2.2 元元数据 99 5.2.3 有关元数据的说明 100 5.2.4 元素更具扩展性 100 5.2.5 使用属性的最佳时机 100 5.3 空标记 102 5.4 XSL 103 5.4.1 XSL样式单模板 103 5.4.2 文档的主体 104 5.4.3 标题 106 5.4.4 联赛、分部和球队 108
比较全面的XML参考电子书!强列推荐。如下是目录: 第一部分 XML简介... 9 第1章 XML概览... 9 1.1 什么是XML. 10 1.1.1 XML是元标记语言... 10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成的数据... 14 1.3 XML文档的“生命”. 15 1.3.1 编辑器... 15 1.3.2 语法分析程序和处理程序... 15 1.3.3 浏览器和其他工具... 15 1.3.4 处理过程总结... 15 .4 相关技术... 17 1.4.1 超文本标记语言(Hypertext Markup Language)... 17 1.4.2 级联样式单(Cascading Style Sheets)... 17 1.4.3 可扩展的样式语言(Extensible Style Language)... 17 1.4.4 URLURI 18 1.4.5 XLink和XPointer 18 1.4.6 Unicode字符集... 19 1.4.7 如何将这些技术融合在一起... 19 1.5 本章小结... 20 第2章 XML应用简介... 21 2.1 什么是XML应用程序... 21 2.1.1 化学标记语言(Chemical Markup Language)... 21 2.1.2 数学标记语言(Mathematical Markup Language)... 22 2.1.3 频道定义格式... 25 2.1.4 经典文学... 26 2.2 用于XML的XML. 28 2.2.1 XSL. 28 2.2.2 XLL. 28 2.2.3 DCD.. 29 2.3 XML的后台应用... 30 2.4 本章小结... 33 第3章 第一个XML文档... 34 3.1 Hello XML. 34 3.1.1 创建一个简单的XML文档... 34 3.1.2 保存XML文件... 35 3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... 44 4.1 检查数据... 44 4.1.1 击球手... 44 4.1.2 投球手... 46 4.1.3 XML数据的组织... 46 4.2 数据的XML化... 48 4.2.1 开始编写文档:XML声明和根元素... 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化... 49 4.2.3 球员数据的XML化... 52 4.2.4 球员统计数据的XML化... 53 4.2.5 将XML组装在一起... 56 4.3 XML格式的优点... 71 4.4 编制样式单以便显示文档... 72 4.4.1 与样式单连接... 73 4.4.2 为根元素指定样式规则... 74 4.4.3 为标题指定样式规则... 75 4.4.4 为球员和统计元素指定样式规则... 79 4.4.5 本节小结... 80 4.5 本章小结... 85 第5章 属性、空标记和XSL. 86 5.1 属性... 86 5.2 属性与元素的对比... 95 5.2.1 结构化的元数据... 95 5.2.2 元元数据... 99 5.2.3 有关元数据的说明... 100 5.2.4 元素更具扩展性... 100 5.2.5 使用属性的最佳时机... 100 5.3 空标记... 102 5.4 XSL. 103 5.4.1 XSL样式单模板... 103 5.4.2 文档的主体... 104 5.4.3 标题... 106 5.4.4 联赛、分部和球队... 108 5.4.5 球员... 114 5.4.6 区分投手与击球手... 117 5.4.7 元素内容与select属性... 125 5.4.8 CSS还是XSL. 129 5.5 本章小结... 130 第6章 结构完整的XML文档... 131 6.1 XML文档的组成... 131 6.2 置标和字符数据... 132 6.2.1 注释... 132 6.2.2 实体引用... 134 6.2.3 CDATA. 135 6.2.4 标记... 136 6.2.5 属性... 138 6.3 独立文档中结构完整的XML. 140 6.4 结构完整的HTML. 145 6.4.1 现实的Web页面存在的问题... 145 6.4.2 HTML整理工具... 153 6.5 本章小结... 156 第7章 外文和非罗马文本... 157 7.1 Web上的非罗马文字... 157 .2 文字、字符集、字体和字形... 161 7.2.1 文字的字符集... 161 7.2.2 字符集的字体... 161 7.2.3 字符集的输入法... 161 7.2.4 操作系统和应用软件... 162 7.3传统字符集... 163 7.3.1 ASCII字符集... 163 7.3.2 ISO字符集... 164 7.3.3 MacRoman字符集... 166 7.3.4 Windows ANSI字符集... 167 7.4 Unicode字符集... 169 7.4.1 UTF-8. 171 7.4.2 通用字符系统... 171 7.5 如何使用Unicode编写XML. 173 7.5.1 利用字符引用在XML文件中插入字符... 173 7.5.2 其他字符集与Unicode字符集之间的转换... 173 7.5.3 如何使用其他字符集编写XML. 174 7.6 本章小结... 176 第二部分 文档类型定义... 177 第8章 文档类型定义和合法性... 177 8.1 文档类型定义... 177 8.2 文档类型声明... 179 8.3 根据DTD的合法性检验... 182 8.4 列出元素... 187 8.5 元素声明... 195 8.5.1 ANY. 195 8.5.2 #PCDATA. 195 8.5.3 子元素列表... 198 8.5.4 序列... 200 8.5.5 一个或多个子元素... 200 8.5.6 零或多个子元素... 201 8.5.7 零或一个子元素... 201 8.5.8 完整的文档和DTD.. 203 8.5.9 选择... 214 8.5.10 括号的子元素... 215 8.5.11 混合内容... 217 8.5.12 空元素... 218 8.6 DTD中的注释... 220 8.7 在文档间共享通用的DTD.. 228 8.7.1 远程URL上的DTD.. 235 8.7.2 公共的DTD.. 236 8.7.3 内部和外部DTD子集... 237 8.8 本章小结... 241 第9章 实体和外部DTD子集... 242 9.1 什么是实体?... 242 .2 内部通用实体... 244 9.2.1 定义内部通用实体引用... 244 9.2.2 在DTD中使用通用实体引用... 246 9.2.3 预定义通用实体引用... 247 9.3 外部通用实体... 248 .4 内部参数实体... 251 9.5 外部参数实体... 253 .6 根据片段创建文档... 260 9.7 结构完整的文档中的实体和DTD.. 274 9.7.1 内部实体... 274 9.7.2 外部实体... 276 9.8 本章小结... 283 第10章 DTDs中的属性声明... 284 10.1 什么是属性?... 284 10.2 在DTD中声明属性... 285 10.3 声明多个属性... 287 10.4 指定属性的缺省值... 288 10.4.1 #REQUIRED.. 288 10.4.2 #IMPLIED.. 288 10.4.3 #FIXED.. 289 10.5 属性类型... 290 10.5.1 CDATA属性类型... 290 10.5.2 Enumerated属性类型... 290 10.5.3 NMTOKEN属性类型... 291 10.5.4 NMTOKENS属性类型... 291 10.5.5 ID属性类型... 292 10.5.6 IDREF属性类型... 292 10.5.7 ENTITY属性类型... 293 10.5.8 ENTITIES 属性类型... 294 10.5.9 NOTATION属性类型... 294 10.6 预定义属性... 296 10.6.1 xml:space. 296 10.6.2 xml:lang. 297 10.7 基于属性的棒球统计数据的DTD.. 300 10.7.1 在DTD中声明SEASON的属性... 302 10.7.2 在DTD中声明DIVISION和LEAGUE属性... 302 10.7.3 在DTD中声明TEAM属性... 302 10.7.4 在DTD中声明PLAYER的属性... 303 10.7.5 棒球比赛统计数据示例的完整DTD.. 306 10.8 本章小结... 309 第11章 嵌入非XML数据... 310 11.1 记号... 310 11.2 不可析外部实体... 314 11.2.1 声明不可析实体... 314 11.2.2 嵌入不可析实体... 314 11.2.3 嵌入多个不可析实体... 317 11.3 处理指令... 319 11.4 DTD的条件部分... 322 11.5 本章小结... 324 第三部分 样式语言... 325 第12章 级联样式单级别1. 325 12.1 什么是CSS?... 325 12.2 样式单与文档的链接... 327 12.3 选择元素... 331 12.3.1 成组选择符... 331 12.3.2 伪元素... 331 12.3.3 伪类(pseudo-classe) 332 12.3.4 由ID来选择... 335 12.3.5 上下文的选择符... 335 12.3.6 STYLE特性... 336 12.4 继承性... 337 12.5 级联过程... 339 12.5.1 @import指令... 339 12.5.2 !important声明... 339 12.5.3 级联顺序... 339 12.6 在CSS样式单中添加注释... 341 12.7 CSS中的单位... 342 12.7.1 长度值... 342 12.7.2 URL值... 344 12.7.3 颜色值... 345 12.7.4 关键字值... 346 12.8 块、内联或列表项元素... 347 12.8.1 列表项... 352 12.8.2 whitespace属性... 354 12.9 字体属性... 357 12.9.1 font-family属性... 357 12.9.2 font-style属性... 358 12.9.3 font-variant属性... 359 12.9.4 font-weight属性... 359 12.9.5 font-size属性... 360 12.9.6 font简略属性... 362 12.10 颜色属性... 364 12.11 背景属性... 365 12.11.1 background-color属性... 365 12.11.2 background-image属性... 365 12.11.3 background-repeat属性... 367 12.11.4 background-attachment属性... 368 12.11.5 background-position属性... 369 12.12 文本属性... 373 12.12.1 word-spacing属性... 373 12.12.2 letter-spacing属性... 374 12.12.3 text-decoration属性... 374 12.12.4 vertical-align属性... 375 12.12.5 text –transform属性... 376 12.12.6 text-align属性... 377 12.12.7 text-indent属性... 378 12.12.8 line-height属性... 378 12.13 框属性... 380 12.13.1 页边距属性... 380 12.13.2 边框线属性... 381 12.13.3 贴边属性... 384 12.13.4 大小属性... 385 12.13.5 定位属性... 386 12.13.6 float属性... 386 12.13.7 clear属性... 387 12.14 本章小结... 389 第13章 级联样式单级别2. 389 13.1 CSS2中有哪些新特点?... 389 13.1.1 新的伪类... 390 13.1.2 新的伪元素... 390 13.1.3 媒体类型... 390 13.1.4 分页媒体... 390 13.1.5 国际化... 390 13.1.6 可视格式化控制... 391 13.1.7 表格... 391 13.1.8 生成的内容... 391 13.1.9 有声样式单... 391 13.1.10 新工具... 391 13.2 选择元素... 393 13.2.1 式样匹配... 393 13.2.2 通配符... 394 13.2.3 后代和子代选择符... 394 13.2.4 直系同属选择符... 396 13.2.5 特性选择符... 396 13.2.6 @规则... 396 13.2.7 伪元素... 400 13.2.8 伪类... 401 13.3 格式化页面... 403 13.3.1 大小属性... 403 13.3.2 页边距属性... 403 13.3.3 标记属性... 403 13.3.4 页面属性... 403 13.3.5 分页符属性... 404 13.4 可视格式化... 405 13.4.1 显示属性... 405 13.4.2 宽度和高度属性... 407 13.4.3 overflow属性... 407 13.4.4 clip属性... 408 13.4.5 visibility属性... 408 13.4.6 cursor属性... 409 13.4.7 相关的颜色属性... 410 13.5 框... 412 13.5.1 轮廓属性... 412 13.5.2 定位属性... 413 13.6 计数器和自动编号... 417 13.7 有声样式单... 419 13.7.1 说话属性... 420 13.7.2 音量属性... 420 13.7.3 暂停属性... 420 13.7.4 提示属性... 421 13.7.5 同期播放属性... 421 13.7.6 空间属性... 421 13.7.7 音质属性... 422 13.7.8 话音属性... 424 13.8 本章小结... 425 第14章 XSL变换... 426 14.1 何为XSL?... 426 14.2 XSL变换概述... 428 14.2.1 树形结构... 428 14.2.2 XSL 样式单文档... 430 14.2.3 在何处进行XML变换... 431 14.2.4 如何使用XT. 432 14.2.5 直接显示有XSL样式单的XML文件... 434 14.3 XSL模板... 436 14.3.1 xsl:apply-templates元素... 436 14.3.2 select特性... 438 14.4 使用xsl:value-of来计算节点值... 440 14.5 使用xsl:for-each处理多个元素... 442 14.6 匹配节点的模式... 444 14.6.1 匹配根节点... 444 14.6.2 匹配元素名... 445 14.6.3 使用/字符匹配子节点... 447 14.6.4 使用//符号匹配子代... 448 14.6.5 通过ID匹配... 449 14.6.6 使用@来匹配特性... 449 14.6.7 使用comments()来匹配注释... 451 14.6.8 使用pi()来匹配处理指令... 452 14.6.9 用text()来匹配文本节点... 452 14.6.10 使用“或”操作符| 453 14.7 选择节点的表达式... 454 14.7.1 节点轴... 454 14.7.2 表达式类型... 462 14.8 缺省的模板规则... 471 14.8.1 元素的缺省规则... 471 14.8.2 文本节点的缺省规则... 471 14.8.3 两个缺省规则的含义... 471 14.9 决定输出要包含的内容... 473 14.9.1 使用特性值模板... 473 14.9.2 使用xsl:element将元素插入到输出文档中... 475 14.9.3 使用xsl:attribute将特性插入到输出文档中... 476 14.9.4 定义特性集合... 477 14.9.5 使用xsl:pi生成处理指令... 478 14.9.6 使用xsl:comment生成注释... 478 14.9.7 使用xsl:text生成文本... 479 14.10 使用xsl:copy复制当前节点... 480 14.11 使用xsl:number为节点计数... 483 14.11.1 缺省数值... 484 14.11.2 数字到字符串的变换... 486 14.12 对输出元素排序... 488 14.13 CDATA和<符... 491 14.14 方式... 493 14.15 使用xsl:variable定义常数... 496 14.16 命名模板... 496 14.16.1 参数... 498 14.17 删除和保留空白... 501 14.18 选择... 503 14.18.1 xsl:if 503 14.18.2 xsl:choose. 503 14.19 合并多个样式单... 505 14.19.1 使用xsl:import进行录入... 505 14.19.2 使用xsl:include进行包括... 505 14.19.3 使用xsl:stylesheet在文档中嵌入样式单... 505 14.20 本章小结... 508 第15章 XSL格式化对象... 508 15.1 XSL格式化语言概述... 509 15.2 格式对象及其属性... 510 15.2.1 fo命名域... 511 15.2.2 格式化属性... 513 15.2.3 转换成格式化对象... 518 15.2.4 使用FOP. 520 15.3 页面布局... 522 15.3.1 主控页面... 522 15.3.2 页序列... 525 15.4 内容... 530 15.4.1 块级格式化对象... 530 15.4.2 内联格式化对象... 531 15.4.3 表格格式化对象... 532 15.4.4 外联格式化对象... 532 15.5 水平线... 533 15.6 图形... 534 15.7 链接... 535 15.8 列表... 536 15.9 表格... 538 15.10 字符... 542 15.11 序列... 543 15.12 脚注... 544 15.13 浮动... 544 15.14 XSL格式化属性... 546 15.14.1 单位和数据类型... 546 15.14.2 消息属性... 548 15.14.3 段落属性... 548 15.14.4 字符属性... 551 15.14.5 句子属性... 552 15.14.6 区域属性... 555 15.14.7 听觉属性... 560 15.15 本章小结... 562 第四部分 补充技术... 563 第16章 XLink. 563 16.1 XLink与HTML链接的对比... 563 16.2 简单链接... 565 16.2.1 本地资源的描述... 566 16.2.2 远程资源的描述... 567 16.2.3 链接行为... 568 16.3 扩展链接... 575 16.4 外联链接... 579 16.5 扩展链接组... 581 16.5.1 一个实例... 581 16.5.2 steps特性... 583 16.6 重命名XLink特性... 585 16.7 本章小结... 586 第18章 命名域... 588 18.1 何为命名域... 588 18.2 命名域句法... 591 18.2.1 命名域的定义... 591 18.2.2 多个命名域... 592 18.2.3 特性... 595 18.2.4 缺省的命名域... 596 18.3 DTD中的命名域... 600 18.4 本章小结... 601

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值