Size: 9024
Comment: 删除对PageComment2组件的引用
|
← Revision 12 as of 2009-12-25 07:16:34 ⇥
Size: 9024
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
[[TableOfContents]] | <<TableOfContents>> |
Line 7: | Line 7: |
1. `Para 1`:下面两章是关于 Python 中 XML 处理的。如果你已经'''知道一个 XML 文档的样子''',……[[BR]] | 1. `Para 1`:下面两章是关于 Python 中 XML 处理的。如果你已经'''知道一个 XML 文档的样子''',……<<BR>> |
Line 9: | Line 9: |
1. `Para 3`:Being a philosophy major is not required, although if you have ever had the misfortune of being subjected to the writings of Immanuel Kant, you will appreciate the example program a lot more than if you majored in something useful, like computer science. (!) 又一次没有翻译[[BR]] | 1. `Para 3`:Being a philosophy major is not required, although if you have ever had the misfortune of being subjected to the writings of Immanuel Kant, you will appreciate the example program a lot more than if you majored in something useful, like computer science. (!) 又一次没有翻译<<BR>> |
Line 14: | Line 14: |
关于这个程序的有趣之处在于没有一点内容是属于康德的。[[BR]] | 关于这个程序的有趣之处在于没有一点内容是属于康德的。<<BR>> |
Line 18: | Line 18: |
1. `例9.5, (1)`:这个语法你之前没有见过。它看上去很像我们'''所知并且喜欢'''的 from module import,但是……[[BR]] | 1. `例9.5, (1)`:这个语法你之前没有见过。它看上去很像我们'''所知并且喜欢'''的 from module import,但是……<<BR>> |
Line 20: | Line 20: |
1. `例9.6下`Python 认为它的意思是:“在 xml 目录中查找 dom 目录,然后在''其''中查找 minidom 模块,……”[[BR]] (!) 原文即为斜体[[BR]] |
1. `例9.6下`Python 认为它的意思是:“在 xml 目录中查找 dom 目录,然后在''其''中查找 minidom 模块,……”<<BR>> (!) 原文即为斜体<<BR>> |
Line 23: | Line 23: |
1. `例9.7, (1)`:……'''为了能够'''引用 minidom 模块中的类(比如 Element),你必须在它们的类名前面加上模块名。[[BR]] | 1. `例9.7, (1)`:……'''为了能够'''引用 minidom 模块中的类(比如 Element),你必须在它们的类名前面加上模块名。<<BR>> |
Line 25: | Line 25: |
1. `例9.7, (3)`:''Here you are importing the dom package (a nested package of xml) as a module '''in and of''' itself.''[[BR]] 这里你正在导入 dom 包(xml 的一个嵌套包),并将其作为'''自己或者内部的''' {X} 一个模块。[[BR]] (!) ''in and of'' 只是对''itself'' 的强调[[BR]] |
1. `例9.7, (3)`:''Here you are importing the dom package (a nested package of xml) as a module '''in and of''' itself.''<<BR>> 这里你正在导入 dom 包(xml 的一个嵌套包),并将其作为'''自己或者内部的''' {X} 一个模块。<<BR>> (!) ''in and of'' 只是对''itself'' 的强调<<BR>> |
Line 33: | Line 33: |
1. `例9.12, (2)`:''The ref element has its own set of child nodes, one for the carriage return, a separate one for the spaces, one '''for''' the p element, and so forth.''[[BR]] ref元素有它自己的子节点集合,一个表示硬回车,一个'''独立'''表示空格的,一个'''用于'''p元素的,诸如此类。[[BR]] |
1. `例9.12, (2)`:''The ref element has its own set of child nodes, one for the carriage return, a separate one for the spaces, one '''for''' the p element, and so forth.''<<BR>> ref元素有它自己的子节点集合,一个表示硬回车,一个'''独立'''表示空格的,一个'''用于'''p元素的,诸如此类。<<BR>> |
Line 37: | Line 37: |
1. `例9.12, (3)`:p 元素只有一个子节点(在这个例子中,你无法知道这一点,……)[[BR]] | 1. `例9.12, (3)`:p 元素只有一个子节点(在这个例子中,你无法知道这一点,……)<<BR>> |
Line 41: | Line 41: |
1. `历史注解, Para 1`:……在系统之间进行文档交流是困难的,因为对于一台计算机来说,没有方法可以识别出文档的作者使用了哪种编码模式;计算机看到的只是数字,并且这些数字可以表示不同的东西。接着考虑到试图将这些 {i} ^(采用不同编码的)^文档存放到同一个地方(比如在同一个数据库表中);……比较有代表性的是使用转义符来进行模式切换;'''扑''' <!> ,我们处于俄语 koi8-r 模式,所以字符 241 表示这个;'''扑''',现在我们处于 Mac 希腊语模式,…… (./) '''噗'''[[BR]] | 1. `历史注解, Para 1`:……在系统之间进行文档交流是困难的,因为对于一台计算机来说,没有方法可以识别出文档的作者使用了哪种编码模式;计算机看到的只是数字,并且这些数字可以表示不同的东西。接着考虑到试图将这些 {i} ^(采用不同编码的)^文档存放到同一个地方(比如在同一个数据库表中);……比较有代表性的是使用转义符来进行模式切换;'''扑''' <!> ,我们处于俄语 koi8-r 模式,所以字符 241 表示这个;'''扑''',现在我们处于 Mac 希腊语模式,…… (./) '''噗'''<<BR>> |
Line 43: | Line 43: |
1. `历史注解, Para 3, Line -1`:Unicode'''使用同7位 ASCII 码一样的字符表示0到127''','''同ISO-8859-1一样的字符表示128到255''',接着使用剩余的数字,256到65535,扩展到表示其它语言的字符。[[BR]] | 1. `历史注解, Para 3, Line -1`:Unicode'''使用同7位 ASCII 码一样的字符表示0到127''','''同ISO-8859-1一样的字符表示128到255''',接着使用剩余的数字,256到65535,扩展到表示其它语言的字符。<<BR>> |
Line 45: | Line 45: |
1. `历史注解, Para 4`:……或将数据打印输出到一个'''非unicode识别'''终端或打印机。[[BR]] | 1. `历史注解, Para 4`:……或将数据打印输出到一个'''非unicode识别'''终端或打印机。<<BR>> |
Line 47: | Line 47: |
1. `例9.13上, Para -1`:从2.0'''版本'''开始,Python '''在整个语言的基础上'''已经支持unicode。[[BR]] | 1. `例9.13上, Para -1`:从2.0'''版本'''开始,Python '''在整个语言的基础上'''已经支持unicode。<<BR>> |
Line 49: | Line 49: |
1. `例9.14, (2)`:还记得我说过 print 函数会尝试将unicode字符串转换为 ASCII''',这样就可以'''打印它了吗?[[BR]] | 1. `例9.14, (2)`:还记得我说过 print 函数会尝试将unicode字符串转换为 ASCII''',这样就可以'''打印它了吗?<<BR>> |
Line 51: | Line 51: |
1. `例9.14, (3)`:……我们使用 latin-1('''也就是大家知道的''' iso-8859-1)[[BR]] | 1. `例9.14, (3)`:……我们使用 latin-1('''也就是大家知道的''' iso-8859-1)<<BR>> |
Line 53: | Line 53: |
1. `例9.15, (2)`:Python 会在任何需要'''自动将unicode字符串强制转换'''为正规字符串的地方,使用这个编码模式。[[BR]] | 1. `例9.15, (2)`:Python 会在任何需要'''自动将unicode字符串强制转换'''为正规字符串的地方,使用这个编码模式。<<BR>> |
Line 55: | Line 55: |
1. `例9.15, (1)`:''The default encoding can only be changed during Python startup; you can't change it later. ('''Due to some wacky programming tricks that I won't get into right now''', you can't even call sys.setdefaultencoding after Python has started up.''[[BR]] 默认的编码只会在 Python 启动的时候改变;之后就不能改变了。('''由于一些古怪的编程技巧,我没有马上深入''',你甚至不能在 Python 启动之后调用sys.setdefaultencoding函数。……)[[BR]] |
1. `例9.15, (1)`:''The default encoding can only be changed during Python startup; you can't change it later. ('''Due to some wacky programming tricks that I won't get into right now''', you can't even call sys.setdefaultencoding after Python has started up.''<<BR>> 默认的编码只会在 Python 启动的时候改变;之后就不能改变了。('''由于一些古怪的编程技巧,我没有马上深入''',你甚至不能在 Python 启动之后调用sys.setdefaultencoding函数。……)<<BR>> |
Line 59: | Line 59: |
1. `例9.19, (3)`:打印title是不可能的,因为这个unicode字符串'''包哈'''了非 ASCII 字符,……[[BR]] | 1. `例9.19, (3)`:打印title是不可能的,因为这个unicode字符串'''包哈'''了非 ASCII 字符,……<<BR>> |
Line 61: | Line 61: |
1. `例9.19, (4)`:'''你能够,但是,'''显式'''的'''将它转换为koi8-r,……[[BR]] | 1. `例9.19, (4)`:'''你能够,但是,'''显式'''的'''将它转换为koi8-r,……<<BR>> |
Line 66: | Line 66: |
1. `Para 1`:在这部分,将使用 binary.xml 语法文件,'''它看上去是这样的''':[[BR]] | 1. `Para 1`:在这部分,将使用 binary.xml 语法文件,'''它看上去是这样的''':<<BR>> |
Line 69: | Line 69: |
1. `例9.22, (3)`:在本例中,你有两个,每“位”'''使用'''一个。[[BR]] (./) 在本例中,你有两个'''元素''',每“位”'''各占'''一个。[[BR]] |
1. `例9.22, (3)`:在本例中,你有两个,每“位”'''使用'''一个。<<BR>> (./) 在本例中,你有两个'''元素''',每“位”'''各占'''一个。<<BR>> |
Line 74: | Line 74: |
1. `Para 3`:这部分由于某个'''涵义''' <!> 重叠的术语可能让人有点糊涂。 (./) '''含义''' (!) 这不是错别字,但属于非推荐词形[[FootNote(见《现代汉语词典》。)]]。 | 1. `Para 3`:这部分由于某个'''涵义''' <!> 重叠的术语可能让人有点糊涂。 (./) '''含义''' (!) 这不是错别字,但属于非推荐词形<<FootNote(见《现代汉语词典》。)>>。 |
Line 76: | Line 76: |
1. `例9.24, (5)`:……那些非常认真的读者将已经知道 NamedNodeMap 类是如何实现这一技巧的:通过定义一个 `__getitem__` '''特殊方法'''[[BR]] | 1. `例9.24, (5)`:……那些非常认真的读者将已经知道 NamedNodeMap 类是如何实现这一技巧的:通过定义一个 `__getitem__` '''特殊方法'''<<BR>> |
Line 82: | Line 82: |
1. `标题`:有必要解释一下标题的含义。加入了脚注:[[BR]] | 1. `标题`:有必要解释一下标题的含义。加入了脚注:<<BR>> |
Line 84: | Line 84: |
1. `Para 1`:'''OK,that's it for the hard-core XML stuff.''' (!) 又一次……[[BR]] | 1. `Para 1`:'''OK,that's it for the hard-core XML stuff.''' (!) 又一次……<<BR>> |
7-25<X9>kpg.xml XML 处理
Contents
为了术语的一致,把file-like object 统一译为“类文件对象”。
9.1 概览
Para 1:下面两章是关于 Python 中 XML 处理的。如果你已经知道一个 XML 文档的样子,……
如果你已经对 XML 文档有了一个大概的了解
Para 3:Being a philosophy major is not required, although if you have ever had the misfortune of being subjected to the writings of Immanuel Kant, you will appreciate the example program a lot more than if you majored in something useful, like computer science.
又一次没有翻译
如果你在大学里主修哲学(而不是像计算机科学这样的实用专业),并且曾不幸地被伊曼努尔·康德的著作折磨地够呛,那么你会非常欣赏本章的样例程序。(这当然不意味着你必须修过哲学。)
例9.3, 标题:Sample output of kgp.py
kgp.py 的样例输出
例9.3下, Para 1, Line -1:但所有内容都是
符合康德的风格。
例9.4上:The interesting thing about this program is that there is nothing Kant-specific about it. 关于这个程序的有趣之处在于没有一点内容是属于康德的。
有趣之处在于,这个程序中没有一点内容是属于康德的。
9.2 包
例9.5, (1):这个语法你之前没有见过。它看上去很像我们所知并且喜欢的 from module import,但是……
这个语法你之前没有见过。它看上去很像我们熟知的 from module import,但是……
例9.6下Python 认为它的意思是:“在 xml 目录中查找 dom 目录,然后在其中查找 minidom 模块,……”
原文即为斜体
在 xml 目录中查找 dom 目录,然后在 这个目录 中查找 minidom 模块
例9.7, (1):……为了能够引用 minidom 模块中的类(比如 Element),你必须在它们的类名前面加上模块名。
要引用 minidom 模块中的类(比如 Element),你必须在它们的类名前面加上模块名。
例9.7, (3):Here you are importing the dom package (a nested package of xml) as a module in and of itself.
这里你正在导入 dom 包(xml 的一个嵌套包),并将其作为自己或者内部的一个模块。
in and of 只是对itself 的强调
9.3 XML 解析
例9.8, (1):正如在上一章
节看到的,……
例9.8, (2):它只是我本地磁盘上一个 XML 文档的文件名。(为了继续执行,
你需要将路径改为指向下载的例子所在的目录。)
例9.12, 标题:Drilling down all the way to text
把文本挖出来
例9.12, (2):The ref element has its own set of child nodes, one for the carriage return, a separate one for the spaces, one for the p element, and so forth.
ref元素有它自己的子节点集合,一个表示硬回车,一个独立表示空格的,一个用于p元素的,诸如此类。
ref 元素有它自己的子节点集合,一个表示硬回车,另一个表示空格,一个表示 p 元素,诸如此类。
例9.12, (3):你甚至可以在这里使用 toxml 方法,
尽管它深深嵌套在文档中。
例9.12, (3):p 元素只有一个子节点(在这个例子中,你无法知道这一点,……)
p 元素只有一个子节点(在这个例子中无法看出……)
9.4 Unicode
历史注解, Para 1:……在系统之间进行文档交流是困难的,因为对于一台计算机来说,没有方法可以识别出文档的作者使用了哪种编码模式;计算机看到的只是数字,并且这些数字可以表示不同的东西。接着考虑到试图将这些
(采用不同编码的)文档存放到同一个地方(比如在同一个数据库表中);……比较有代表性的是使用转义符来进行模式切换;扑
,我们处于俄语 koi8-r 模式,所以字符 241 表示这个;扑,现在我们处于 Mac 希腊语模式,……
噗
原文太长,不能全部列出。
历史注解, Para 3, Line -1:Unicode使用同7位 ASCII 码一样的字符表示0到127,同ISO-8859-1一样的字符表示128到255,接着使用剩余的数字,256到65535,扩展到表示其它语言的字符。
Unicode 在 0 到 127 上使用了同 7 位 ASCII 码一样的字符表,在 128 到 255上同 ISO-8859-1 一样,接着使用剩余的数字,256 到 65535,扩展到表示其它语言的字符。
历史注解, Para 4:……或将数据打印输出到一个非unicode识别终端或打印机。
或将数据打印输出到一个不识别 unicode 的终端或打印机。
例9.13上, Para -1:从2.0版本开始,Python 在整个语言的基础上已经支持unicode。
从 2.0 版开始,Python 整个语言都已经支持 unicode。
例9.14, (2):还记得我说过 print 函数会尝试将unicode字符串转换为 ASCII,这样就可以打印它了吗?
还记得我说过 print 函数会尝试将 unicode 字符串转换为 ASCII 从而打印它吗?
例9.14, (3):……我们使用 latin-1(也就是大家知道的 iso-8859-1)
我们使用 latin-1(也叫 iso-8859-1)
例9.15, (2):Python 会在任何需要自动将unicode字符串强制转换为正规字符串的地方,使用这个编码模式。
Python 会在任何需要将 unicode 字符串自动转换为正规字符串的地方,使用这个编码模式。
例9.15, (1):The default encoding can only be changed during Python startup; you can't change it later. (Due to some wacky programming tricks that I won't get into right now, you can't even call sys.setdefaultencoding after Python has started up.
默认的编码只会在 Python 启动的时候改变;之后就不能改变了。(由于一些古怪的编程技巧,我没有马上深入,你甚至不能在 Python 启动之后调用sys.setdefaultencoding函数。……)
由于一些我们现在不会仔细研究的古怪的编程技巧,你甚至不能在 Python 启动之后调用 sys.setdefaultencoding 函数。
例9.18上:现在,想想 XML 中的编码应该是怎样的呢?不错的是
,每一个 XML 文档都有指定的编码。
例9.19, (3):打印title是不可能的,因为这个unicode字符串包哈了非 ASCII 字符,……
直接打印 title 是不可能的,因为这个 unicode 字符串包含了非 ASCII 字符,……
例9.19, (4):你能够,但是,显式的将它转换为koi8-r,……
但是,你能够显式地将它转换为 koi8-r,……
进一步阅读:PEP 263 涉及了何时、如何在你的 .py 文件中定义字符
编码的更多细节。
9.5 搜索元素
Para 1:在这部分,将使用 binary.xml 语法文件,它看上去是这样的:
在这部分,将使用 binary.xml 语法文件,它的内容如下:
例9.20上:它有两个 ref,'bit'
(位)和 'byte'
(字节)。
例9.22, (3):在本例中,你有两个,每“位”使用一个。
在本例中,你有两个元素,每“位”各占一个。
还请参见原文
9.6 访问元素属性
Para 3:这部分由于某个涵义
重叠的术语可能让人有点糊涂。
含义
这不是错别字,但属于非推荐词形1。
例9.24, (1):每个 Element 对象都有一个称为 attributes 的
属性
例9.24, (5):……那些非常认真的读者将已经知道 NamedNodeMap 类是如何实现这一技巧的:通过定义一个 __getitem__ 特殊方法
为和前面的术语一致,改为
专用方法。
同上:
其它的读者可能乐意接受这一事实:……
例9.25, (1):与你在 bitref.attributes NamedNodeMap 的
伪目录中寻找的对象同名
9.7 Segue
标题:有必要解释一下标题的含义。加入了脚注:
“Segue”是音乐术语,意为“继续演奏”。Para 1:OK,that's it for the hard-core XML stuff.
又一次……
以上就是 XML 的核心内容。
9.-1 反馈
见《现代汉语词典》。 (1)