<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>ksu99的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=ksu99</link>
<description>ksu99的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[孔子、秦始皇、汉武帝的历史地位]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=1411</link>
<author>ksu99</author>
<pubDate>2004/12/29 23:52:35</pubDate>
<description><![CDATA[<P>“中国之教，得孔子而后立，<BR>&nbsp;&nbsp; 中国之政，得秦皇而后行，<BR>&nbsp;&nbsp; 中国之境，得汉武而后定，<BR>&nbsp;&nbsp; 三者皆中国之所以为中国也。”</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; —— 《夏曾佑. 中国古代史》</P>]]></description>
</item><item>
<title><![CDATA[编译原理 —— 编译器各阶段工作]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=1409</link>
<author>ksu99</author>
<pubDate>2004/12/29 23:48:28</pubDate>
<description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">1. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">词法分析</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">词法分析器根据词法规则识别出源程序中的各个记号（</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">token</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），每个记号代表一类单词（</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">lexeme</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）。源程序中常见的记号可以归为几大类：关键字、标识符、字面量和特殊符号。词法分析器的输入是源程序，输出是识别的记号流。词法分析器的任务是把源文件的字符流转换成记号流。本质上它查看连续的字符然后把它们识别为“单词”。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">2. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语法分析</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语法分析器根据语法规则识别出记号流中的结构（短语、句子），并构造一棵能够正确反映该结构的语法树。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">3. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语义分析</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语义分析器根据语义规则对语法树中的语法单元进行静态语义检查，如果类型检查和转换等，其目的在于保证语法正确的结构在语义上也是合法的。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">4. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中间代码生成</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中间代码生成器根据语义分析器的输出生成中间代码。中间代码可以有若干种形式，它们的共同特征是与具体机器无关。最常用的一种中间代码是三地址码，它的一种实现方式是四元式。三地址码的优点是便于阅读、便于优化。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">5. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中间代码优化</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">优化是编译器的一个重要组成部分，由于编译器将源程序翻译成中间代码的工作是机械的、按固定模式进行的，因此，生成的中间代码往往在时间和空间上有很大浪费。当需要生成高效目标代码时，就必须进行优化。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">6. </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目标代码生成</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目标代码生成是编译器的最后一个阶段。在生成目标代码时要考虑以下几个问题：计算机的系统结构、指令系统、寄存器的分配以及内存的组织等。编译器生成的目标程序代码可以有多种形式：汇编语言、可重定位二进制代码、内存形式。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">7 </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号表管理</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">符号表的作用是记录源程序中符号的必要信息，并加以合理组织，从而在编译器的各个阶段能对它们进行快速、准确的查找和操作。符号表中的某些内容甚至要保留到程序的运行阶段。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-outline-level: 1"><SPAN lang=EN-US><FONT face="Times New Roman">8 </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出错处理</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户编写的源程序中往往会有一些错误，可分为静态错误和动态错误两类。所谓动态错误，是指源程序中的逻辑错误，它们发生在程序运行的时候，也被称作动态语义错误，如变量取值为零时作为除数，数组元素引用时下标出界等。静态错误又可分为语法错误和静态语义错误。语法错误是指有关语言结构上的错误，如单词拼写错、表达式中缺少操作数、</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">begin</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">end</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不匹配等。静态语义错误是指分析源程序时可以发现的语言意义上的错误，如加法的两个操作数中一个是整型变量名，而另一个是数组名等。</SPAN></P>]]></description>
</item><item>
<title><![CDATA[全文检索（Full-Text Search）与XML]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=1300</link>
<author>ksu99</author>
<pubDate>2004/12/26 10:26:48</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=13020&amp;replyID=32479&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=ksu99" target=_blank>ksu99</A><BR>以下为原文：<BR><BR><B>全文检索（Full-Text Search）与XML</B><BR><BR><BR>&nbsp;&nbsp;&nbsp; （<A href="mailto:ksu99@163.com">ksu99@163.com</A> 摘译自XQuery 1.0 and XPath 2.0 Full-Text W3C Working Draft 09 July 2004<BR>&nbsp;&nbsp;&nbsp; <A href="http://www.w3.org/TR/2004/WD-xquery-full-text-20040709/">http://www.w3.org/TR/2004/WD-xquery-full-text-20040709/</A>）<BR>&nbsp;&nbsp;&nbsp; XML文档可能包含高度结构化的数据（数字、日期）、非结构化数据（无标签的自由流文本）和半结构化数据（使用内含标签的文本）。当一个文档包含非结构化或者半结构化数据时，能够使用像全文检索这样情报检索（Information Retrieval）技术检索那样的数据是很重要的。 全文检索与子串检索在很多方面不同：<BR>&nbsp;&nbsp;&nbsp; 1. 全文检索（full-text search）搜寻短语（一个单词的序列）而不是子串。使用子串检索（substring search）包含字符串“lease”的新闻条目，将会返回一个包含“Foobar Corporation releases the 20.9 version ...”的新闻条目，而对短语“lease”的全文检索不会这样。<BR>&nbsp;&nbsp;&nbsp; 2. 期待中的全文检索将支持基于语言和基于标志的检索，而子串检索不能。基于语言检索的一个例子为“给我查找所有包含与‘mouse’有相同词干的词（查找‘mouse’和‘mice’）的新闻条目”一个基于标记的检索的例子为“给我查找所有在3个词（标记）的‘查询’内包含词‘XML’的新闻项”。An example of a token-based search is "find me all the news items that contain the word "XML" within 3 words (tokens) of "Query".<BR>&nbsp;&nbsp;&nbsp; 3. 全文检索Full-text search is subject to the vageries and nuances of language. 返回的结果常常具有不同的有效性。当你在一个网站上检索所有价格少于100美元的照相机时，这是一个精确的查找。有一组照相机符合这个检索，也有一组不符合。同样地，当你对新闻条目用“mouse”做一个字符串检索时，只有一个预期结构集。当你做全文检索，假定检索所有包含单词“mouse”的新闻条目，你可能希望找到有单词“mice”，可能还有“rodents（啮齿动物）”（或许是“computers”！）。但是不是所有的结果都合适：一些结果比别的更“mousey（像老鼠）”。因为全文检索可以是不精确的，我们有计分或者相关性的概念：我们通常期待看到最有关的结果在结果列表的顶端。当然相关性在旁观者（beholder）的眼中。注意：随着XQuery/XPath的发展，会把计分概念应用到查询结构化检索中。比如，在制订旅行计划或者选购照相机时，有时获得一个接近结果的有序表更有用。如果XQuery/XPath 定义一个统一的不精确的匹配，我们假定能够利用由full-text语言提供的计分构架。<BR>&nbsp;&nbsp;&nbsp; 4. 随着XML成为主流，用户期待能以XML格式存储并检索他们的文档。这需要一个标准的方式来对XML文档做全文检索，以及结构化检索。一个相似的对全文检索的需求引导ISO定义SQL/MM-FT标准。SQL/MM-FT定义扩展了SQL，提供了类似的功能，使其能够表达全文查询，正如这里提到的full-text语言对XQuery 1.0/XPath 2.0所做的扩展一样。<BR>&nbsp;&nbsp;&nbsp; 5. 全文查询执行在标记化的文本上，也就是分成单词序列、标点符号单元和空格。<BR>&nbsp;&nbsp;&nbsp; 6. 一个单词定义为由标记器返回的任意字符、元语法、或者字符序列，作为被查询的基本单元。一个单词的每个实例由一到多个连续的字符组成。除此之外，单词由实现定义。注意连续字不需要由标点或者空格分开，且单词可能交迭。短语是有序字的一个序列，可以包含任意数量的单词。<BR>&nbsp;&nbsp;&nbsp; 7. 标记化使得可以用函数和操作符表示单词的相对位置（举例来说，近似操作符）。它也唯一识别包含单词的句子和段落。标记化也使函数和操作符可以操作与单词的一部分或者词根（举例来说，通配符、词干）。<BR>&nbsp;&nbsp;&nbsp; 8. 我们使用命名空间“ft”（代表full-text）与URL <A class=contentlink href="http://www.w3.org/2004/07/xquery-full-text" target=_blank>http://www.w3.org/2004/07/xquery-full-text</A> 相应并用来定义全文检索的命名空间。我们也使用“fts”来在语义章节里做定义。<BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=13020&amp;replyID=32479&amp;skin=1" target=_blank>参与讨论本主题</A><BR>]]></description>
</item><item>
<title><![CDATA[本源XML数据库Xindice 介绍 （1.0版）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=1297</link>
<author>ksu99</author>
<pubDate>2004/12/26 8:48:40</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=12956&amp;replyID=32287&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=ksu99" target=_blank>ksu99</A><BR>以下为原文：<BR><BR><B>本源XML数据库Xindice 介绍 （1.0版）</B><BR><BR><BR>&nbsp;&nbsp;&nbsp; （Xindice当前的版本是1.1b4，已经做了较大改动，本文是1.0版的说明文档译文，仅供参考。部分改动在文中略做说明。<BR>————译者：ksu99）
<P></P>
<P>什么是Xindice </P>
<P>&nbsp;&nbsp;&nbsp; Xindice核心服务器完全是一个设计来存储XML数据的数据库服务器。用术语来说，Xindice服务器正是所谓的Native XML Database（NXD）。也可以说成是无缝XML数据库，这样的描述可能会容易理解一些。<BR>&nbsp;&nbsp;&nbsp; 这意味着使用这个服务器，你可以最大可能的使用XML工具和技术。进出服务器的所有数据都是XML。使用的查询语言是XPath，编程API支持DOM和SAX。所有这些对于一个曾经在他们的应用中使用过XML的开发者来说，应该非常熟悉。当与XML数据和Xindice打交道时，没有不同数据模式之间的映射。你只需要简单的以XML设计数据，以XML存储。<BR>&nbsp;&nbsp;&nbsp; 所有赋予你的可以总结为一个词：灵活性。XML提供一种极端的灵活机制，来对应用数据建模，并在很多情况下允许你建造那些在多数传统系统中难以建造甚至不可能建造的模型构造。这就是半结构化模型，在某些应用程序中是基本构件。通过使用一个像Xindice这样的本源XML数据库（NXD）存储半结构化数据，你可以专注于构建应用而不需要担心复杂的XML结构如何映射到底层数据存储，或者试图用一套严格的模式强制约束灵活的数据模型。<BR>&nbsp;&nbsp;&nbsp; 终究，Xindice是一个工具。它对某些工作来说，是合适的而对其它的就完全错误。它最擅长的只是存储XML数据。实际上，这就是全部。如果你有大量的XML数据，那么Xindice也许刚好是你需要的工具。然而，如果你的数据不是XML或者你需要精确控制数据的结构，那你最好还是去使用其他的数据库解决方案。<BR>&nbsp;&nbsp;&nbsp; （译者注：1.1版中，服务器端的安装现在是在Java servlet引擎（Tomcat）内部署一个WAR档案。而数据库部署在一个servlet引擎内，并允许网络访问。这和1.0版不同，因为1.0版有自己的服务器框架。这样做是因为原来的服务器框架重复了servlet引擎的很多功能，而分开后使部署选项更加灵活。） </P>
<P>当前状态 </P>
<P>&nbsp;&nbsp;&nbsp; Native XML数据库技术是一个非常新的领域，而Xindice更多的是一个仍在开发中的项目。服务器当前支持对格式良好的（well formed）XML文档的存储。这意味着对可以放进文档集合的文档没有任何模式来约束。这使Xindice成为一个半结构化数据库，并在如何存储数据方面提供极大的灵活性，但是也意味着放弃一些通用数据库功能，比如数据类型。[1] 在当前状态下，Xindice已经是一个管理XML数据的强大工具。但是需要做的还很多。<BR>&nbsp;&nbsp;&nbsp; 本文试图描述这些当前起作用并可以被使用的特性。请检查README文档，它包含许多关于工程当前状态的信息。<BR>&nbsp;&nbsp;&nbsp; 注意：Xindice服务器和这个文档都在改进中。欢迎和鼓励任何意见。 </P>
<P>特性摘要 </P>
<P>&nbsp;&nbsp;&nbsp; 文档集合（Document Collections）：文档被存储在可以被作为整体来查询的集合中。你可以创建只包含相同类型文档的集合，也可以创建一个集合来存储所有的文档。数据库不介意。<BR>&nbsp;&nbsp;&nbsp; XPath查询引擎：要查询文档集合，你可以使用W3C定义的XPath。这提供了相当的灵活性机制，通过定位和限制返回结果树来查询文档。<BR>XML索引：为了提高大量文档上查询的性能，可以定义关于元素和属性值的索引。这可以极大的加速查询响应时间。<BR>&nbsp;&nbsp;&nbsp; XML:DB XUpdate实现：当存储XML到数据库时，或许需要能够在不检索整个文档的情况下改变数据。XUpdate是当你需要做服务器端的数据更新时使用的机制。这是一种基于XML的语言，确定XML修改并允许这些修改像应用到单个文档一样应用于整个文档集合。<BR>&nbsp;&nbsp;&nbsp; Java XML:DB API实现：对于Java程序员Xindice提供了一个XML:DB API实现。这个API将给XML数据库应用带来可移植性，就像JDBC相对于关系数据库一样。大部分为Xindice开发的应用将使用XML:DB API。（译者注：在1.1版中，有一个嵌入式版本的XML:DB API，可以在不使用网络的情况下访问数据库构件Xindice应用程序。这个与启用网络的XML:DB API实现完全兼容。）<BR>&nbsp;&nbsp;&nbsp; XMLObjects：XMLObject提供一个服务器扩展机制，来为服务器增加额外的功能。它们可以用来在数据库引擎内执行复杂的操作，以减少网络带宽，或者增加当前服务器上没有的功能。（译者注：1.1版中XMLObjects已经被删除。）<BR>命令行管理工具：为了帮助系统管理员，Xindice提供了一全套命令行驱动的管理工具。所有可以通过XML:DB API做的事情，也可以从命令行搞定。（译者注：xindiceadmin工具已经被删除。以前只可以通过xindiceadmin访问的命令现在都通过xindice命令完成。这使服务器操作更简单一些。命令行工具加入一个选项，允许XPath查询使用命名空间（namespaces）规范。）<BR>&nbsp;&nbsp;&nbsp; CORBA Network API：对于那些乐于使用Java语言的开发者，Xindice提供了一个CORBA API，可以用来构建应用程序。所有通过XML:DB API可用的功能，都可以通过CORBA API实现。事实上，XML:DB API是建造在CORBA API之上的。尽管多数Java开发者将永远不需要知道CORBA API的存在。（译者注：1.1版中，网络访问API是基于XML-RPC而不是CORBA。所有与CORBA相关的代码已经从系统中删除。系统现在完全支持UTF-8编码。）<BR>&nbsp;&nbsp;&nbsp; 模块体系结构：Xindice服务器以非常模块化的方式构成。这使其易于增减构件以裁剪服务器，使其成为一个特殊工作平台，或者将它嵌入到另一个应用程序中去。 </P>
<P>数据库结构 </P>
<P>&nbsp;&nbsp;&nbsp; Xindice服务器是设计来存储XML文档集合的。集合可以按照层次结构来安排，与典型的UNIX或Windows文件系统相似。<BR>&nbsp;&nbsp;&nbsp; 在Xindice中，数据存储基于一个亦可当文档集合使用的数据库实例。此数据库实例可以包含任意数目的子集合。在Xindice的缺省安装情况下，此数据库实例称为“db”，而所有的集合路径以 /db 开始。如果想要重命名这个数据库实例也是可以的，虽然没有必要这样做。<BR>&nbsp;&nbsp;&nbsp; 引用集合（Collections）的方式与层次式文件系统的引用相同。</P>
<P>1.1. 集合路径实例 <BR>&nbsp;&nbsp;&nbsp; 如果你在“db”下创建了一个名为my-collection的集合，其下还有一个名为my-child-collection的集合，则访问my-child-collection集合的路径将会是：<BR>/db/my-collection/my-child-collection<BR>&nbsp;&nbsp;&nbsp; 在集合之内可以存储若干类型的对象。你可以存储XML文档、XMLObject和其他集合。这些对象也分别可以通过路径引用。</P>
<P>1.2. 集合路径指定一个文档 <BR>&nbsp;&nbsp;&nbsp; 扩展前面的例子，在my-child-collection中增加一个名为my-document的文档，这个文档可以通过下面路径引用：<BR>/db/my-collection/my-child-collection/my-document<BR>&nbsp;&nbsp;&nbsp; 然而这个路径只可以得到一个。因为你有可能在一个集合中有多于一个的同名对象[2] ,当计算一个路径时就有个优先级次序问题。优先性依次是集合、XMLObject、文档。这就是说，如果有一个文档和一个集合同名，你将没法检索到文档。[3] <BR>&nbsp;&nbsp;&nbsp; 你还可以通过指定主机和服务器端口号，来在远程计算机上访问集合。 </P>
<P>1.3. 集合路径指定一个远程文档 <BR>&nbsp;&nbsp;&nbsp; 如果前面的例子在一个远程计算机上，则路径会是这样子：<BR>myhost.domain.com:4080/db/my-collection/my-child-collection/my-document<BR>&nbsp;&nbsp;&nbsp; 这也可以用以下的Xindice URI形式： <BR>xindice://myhost.domain.com:4080/db/my-collection/my-child-collection/my-document</P>
<P>[1] XML模式支持将在Xindice稍后的版本中加入。模式总是可选的，但是它可以用来强制一个集合存储特定的文档类型，并允许数据类型支持<BR>[2] 举例来说，一个子集合和一个文档<BR>[3] 这个约束将在Xindice后面的版本得到调整</P>
<P><BR><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=12956&amp;replyID=32287&amp;skin=1" target=_blank>参与讨论本主题</A><BR></P>]]></description>
</item><item>
<title><![CDATA[XQuery及XSLT处理器Saxon简介]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=1063</link>
<author>ksu99</author>
<pubDate>2004/12/17 16:58:21</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=12856&amp;replyID=32033&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=ksu99" target=_blank>ksu99</A><BR>以下为原文：<BR><BR><FONT size=3><B>XQuery及XSLT处理器Saxon简介</B><BR><BR></FONT><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp; Saxon 是由英国的Michael Kay开发的XSLT与XQuery处理器，自从1999年以开源产品发布，引导着XSLT处理器技术，并赢得较高声誉。迄今依然是仅有的XSLT2.0规范草案的实现，在很大程度上推动了XSLT语言的普及。<BR>&nbsp;&nbsp;&nbsp; 从2003年中发布的7.6版开始，Saxon增加了对XQuery的支持。两种语言的运行期代码是相同的，这说明，事实上它们有非常相似的语义。Saxon中的XQuery支持本质上由一个XQuery解析器（也是XPath解析器的扩展）组成；解析器与XSLT处理器一样，生成相同的内部可解释的代码。<BR>&nbsp;&nbsp;&nbsp; XQuery处理器没有提供图形用户界面，可以从操作系统的命令行调用，也可以通过Java应用程序的API调用。 <BR>&nbsp;&nbsp;&nbsp; Saxon是一个内存处理器。无论使用XSLT还是XQuery，Saxon被设计来处理在内存中装配好的源。<BR>&nbsp;&nbsp;&nbsp; Saxon也是仅有的在一个集成包中提供XSLT和XQuery的产品，可以使用每种语言以获得最好的效果。两个接口是互补的：你可以在XQuery中写一个函数库，并在XSLT样式表中调用此函数。<BR></FONT><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp;Saxon介绍<BR>&nbsp;&nbsp;&nbsp; 版本8.1.1是最新的Saxonica的对XPath2.0、XSLT2.0和XQuery1.0的实现。这个版本实现了这些语言的模式敏感（schema-aware）的特性，也包含一个自立的符合XML Schema1.0的模式处理器。<BR>&nbsp;&nbsp;&nbsp; Saxon 8.1 是在与Stylus Studio合作下开发的。Stylus Studio版本6利用了8.1版Saxon引入的新特性，而支持样式表和查询调试。Saxonica乐于推荐Stylus Studio作为一个领先的XML、XSLT和XQuery开发环境。<BR>&nbsp;&nbsp;&nbsp; Saxon 8.1 提供新的功能，改良的性能，和更好的程序诊断。Saxon-SA 的特许样式也更加灵活，在不同的价格层次提供不同的特性组合。<BR>&nbsp;&nbsp;&nbsp; 产品已经按照2004年7月发布的工作草案调整，虽然少数特性尚未实现，自从草案发布，改变已经列入实现结果。 <BR>&nbsp;&nbsp;&nbsp; Saxon 8.1现有两个版本。Saxon-B 8.1是一个无模式的处理器，并且作为开源产品免费在SourceForge（</FONT><A class=contentlink href="http://saxon.sf.net/" target=_blank><FONT face=宋体 size=3>http://saxon.sf.net/</FONT></A><FONT face=宋体 size=3>）上提供。它遵照XSLT2.0的基本一致性，也遵循XQuery1.0。Saxon-SA 8.1 是程序包的模式敏感（schema-aware）版本，在Saxonica有限公司（</FONT><A class=contentlink href="http://www.saxonica.com/" target=_blank><FONT face=宋体 size=3>http://www.saxonica.com/</FONT></A><FONT face=宋体 size=3>）以商业配套产品提供。许可证选项有XSLT、XQuery、模式验证，全部证书就可获得全部功能。 <BR>&nbsp;&nbsp;&nbsp; Saxon 8.1.1是一个维护版本，更正了8.1中的几个错误。<BR>&nbsp;&nbsp;&nbsp; 请注意：帮助文档在Saxonica站点和下载文件中都有。有时在线版本会更新一些。下载文件也包括全部的API文档，在doc/api目录中。 <BR>&nbsp;&nbsp;&nbsp; 当前版本的Java文档API详细说明在</FONT><A class=contentlink href="http://www.saxonica.com/documentation/javadoc/index.html" target=_blank><FONT face=宋体 size=3>http://www.saxonica.com/documentation/javadoc/index.html</FONT></A><FONT face=宋体><FONT size=3>提供<BR>&nbsp;&nbsp;&nbsp; 全部变更记录在changes.html中提供。<BR>&nbsp;&nbsp;&nbsp; Saxon 8.0 已经被许多用户用来开发应用程序。代码提供稳定可靠。但是你要清楚，规范还在改动，新的Saxon版本将跟踪规范改动，不保证向后兼容。 <BR>&nbsp;&nbsp;&nbsp; 如果你期待完全的稳定性，优先选用版本是Saxon 6.5.3，它实现了XSLT1.0和XPath1.0。 <BR>&nbsp;&nbsp;&nbsp; Saxon 8.1 要求Java JDK 1.4。尽管由于在DOM接口不兼容而不能在JDK1.5下编译源码，确信在JDK1.5下也没有问题。 <BR>&nbsp;&nbsp;&nbsp; </FONT><FONT size=3><FONT face=黑体>什么是Saxon?<BR></FONT>&nbsp;&nbsp;&nbsp; Saxon程序包是一个处理XML文档的工具集。主要组成有：&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．XSLT 2.0处理器，可以从命令行使用，或者使用标准JAXP应用程序接口从Java应用程序调用。Saxon可以用JAXP应用程序接口与Java应用程序结合，这意味着一个Java应用程序可以在不改变应用程序代码的情况下，在不同的XSLT处理器之间切换。Saxon既精密的符合XSLT 2.0规范，还提供了大量强大的扩展。&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．XPath 2.0处理器，Java应用程序可以通过一个应用程序接口访问。<BR>&nbsp;&nbsp;&nbsp; ．XQuery 1.0处理器，可以从命令行使用，或者使用一个API从Java应用程序调用。&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．XML Schema 1.0处理器，可以单独使用来验证一个模式的正确性，或者对比一个模式中的定义来验证一个源文档。也用来支持XSLT和XQuery处理器的模式敏感（schema-aware）功能。<BR>&nbsp;&nbsp;&nbsp; 你可以通过写XSLT样式表、写XQuery查询、写Java应用程序、或者组合这些方法来使用Saxon处理XML。 <BR>&nbsp;&nbsp;&nbsp; Saxon完全实现了XSLT 1.0 推荐标准，包括XPath 1.0， Saxon 8.0 也实现了在XSLT 2.0、XPath 2.0和Query 1.0工作草案中定义的几乎所有的特性。超出XSLT 1.0以外的新特性包括：&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．使用xsl:result-document对多个输出文件的支持&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．临时树(以前通常所说的结果树片段)的完全处理能力&nbsp;<BR>&nbsp;&nbsp;&nbsp; ．支持节点序列和简单值<BR>&nbsp;&nbsp;&nbsp; ．功能组合<BR>&nbsp;&nbsp;&nbsp; ．正则表达式处理<BR>&nbsp;&nbsp;&nbsp; ．支持新的XPath结构比如if、 for、 some 和 every<BR>&nbsp;&nbsp;&nbsp; ．支持指定的排序序列<BR>&nbsp;&nbsp;&nbsp; ．许多新函数和运算符<BR>&nbsp;&nbsp;&nbsp; ．支持新的数据类型，如日期（dates）、时间（timews）和持续时间（durations）<BR>&nbsp;&nbsp;&nbsp; 另外，Saxon提供了一个广泛的扩展元素和扩展函数库，所有的实现与XSLT推荐标准保持一致，以确保能够写出可移植的样式表。这些包括EXSLT扩展库common、 sets、 math、和 dates-and-times 。很多这类扩展都是Saxon首先采用的。<BR>这些扩展功能通常在XQuery中也可以使用，除了那些依赖样式表信息的。 <BR>&nbsp;&nbsp;&nbsp; Saxon还提供了一个API允许Java应用程序执行XPath 表达式并处理结果。XQuery使用一个单独的API，不同表现在设置的上下文的方式。<BR>&nbsp;&nbsp;&nbsp; <FONT face=黑体>可扩展性及功能扩展</FONT><BR>&nbsp;&nbsp;&nbsp; Saxon提供了功能扩展机制，可以通过增加扩展函数和其他挂钩（hook）对Saxon XSLT样式表和XQuery查询的性能进行扩展 <BR>&nbsp;&nbsp;&nbsp; Saxon XQuery 实现允许调用Java方法作为外部函数，函数不需要声明。使用命名空间声明如下： declare namespace math=java:java.lang.Math，就可以调用此方法，如： math:sqrt(2)。<BR>&nbsp;&nbsp;&nbsp; Saxon 包括一套扩展组件，提供了对SQL数据库的访问。这些不打算作为产品的必要属性（在设计中有许多局限性），更多的用以说明扩展组件如何增强处理器的性能。 <BR>&nbsp;&nbsp;&nbsp; 在一个样式表中使用SQL扩展，需要在元素xsl:stylesheet的扩展元素前缀属性中定义一个命名空间前缀（如“sql”），并把这个前缀映射到以“/net.sf.saxon.sql.SQLElementFactory”为结果的命名空间URI上。 <BR>这个扩展定义了5个新的样式表元素： sql:connect、 sql:query、 sql:insert、 sql:column和 sql:close。</FONT></FONT><BR><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=14&amp;ID=12856&amp;replyID=32033&amp;skin=1" target=_blank>参与讨论本主题</A><BR>]]></description>
</item><item>
<title><![CDATA[阴险的影音传送带和无能的趋势个人防火墙]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=779</link>
<author>ksu99</author>
<pubDate>2004/12/6 16:30:19</pubDate>
<description><![CDATA[<FONT face=宋体 size=4>&nbsp;&nbsp;&nbsp; 我一直使用天网防火墙个人版2.6.1与金山毒霸6安全组合搭档（不装其网镖组件）来保证网络安全,经常下载毒霸升级包，加之自己较为谨慎，很少出现中毒情况。上次不慎打开“美女图片”，中了QQ尾巴的毒，无奈重装了系统。<BR>&nbsp;&nbsp;&nbsp; 前段时间获赠正版“网络安全个人版”（就是原来用过的PC-cillin），有病毒查杀和防火墙的功能，既然是功能合一，按理应该比两个软件占用更少的内存和CPU，还可以在线升级。就在重装系统时用了网络安全个人版。<BR>&nbsp;&nbsp;&nbsp; 不久就遇到好几个问题：<BR>&nbsp;&nbsp;&nbsp; 1、频繁出现CPU100％占用的情况，系统经常停顿；<BR>&nbsp;&nbsp;&nbsp; 2、无法用POPO等传送文件；<BR>&nbsp;&nbsp;&nbsp; 3、最糟糕的是，竟然发现有个未经允许的不知名程序在系统登陆时自行连接网络。<BR>&nbsp;&nbsp;&nbsp; 仔细查看了注册表中的“run”项，找到了自动启动的原来是一个未曾听说过的游戏客户端，并没有安装卸载程序，于是在系统盘和注册表中查找关键字“17lele”、“VisionNet”等关键字并予以清除。安装了天网防火墙，取消了趋势科技网络安全个人版的防火墙选项。<BR>&nbsp;&nbsp;&nbsp; 用升级后的毒霸查杀，发现了Win32.Troj.Agent.5000在windows\windcheck2.exe中；Win32.Troj.Pasorotk.40960在windows\system32\ws2_64.dll。<BR>&nbsp;&nbsp;&nbsp; windcheck2.exe是安装“影音传送带 Net Transport 1.93.276 简体版”时隐藏安装的广告程序之一，主程序应该就是前面说的那个游戏客户端；ws2_64.dll是病毒产生的文件，可以查杀，但是之后就不能上网了，重新运行了一下网络向导，一切又恢复正常了。<BR>&nbsp;&nbsp;&nbsp; 结论：<BR>&nbsp;&nbsp;&nbsp; 1、趋势科技网络安全个人版查毒能力有限，其的个人防火墙更是严重占用系统资源并且不安全，推荐使用天网；<BR>&nbsp;&nbsp;&nbsp; 2、影音传送带 Net Transport 1.93.276 简体版含有隐藏的广告程序，或者甚是是木马程序，是安全隐患，如果要用，务必查找删除其广告插件，或者安装国际版，或者安装以前的版本.</FONT><A><FONT face=宋体 size=4>　</FONT></A>]]></description>
</item><item>
<title><![CDATA[Blog系统问题反馈]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=565</link>
<author>ksu99</author>
<pubDate>2004/11/28 15:11:50</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=20&amp;ID=11429&amp;replyID=30547&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=ksu99" target=_blank>ksu99</A><BR>以下为原文：<BR><BR>为什么在“修改我的资料”里面有乱码，并且没有提交的按钮？<BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=20&amp;ID=11429&amp;replyID=30547&amp;skin=1" target=_blank>参与讨论本主题</A><BR>]]></description>
</item><item>
<title><![CDATA[XPath 1.0 与 XPath 2.0 简介]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=564</link>
<author>ksu99</author>
<pubDate>2004/11/28 14:52:19</pubDate>
<description><![CDATA[<P><FONT face=宋体 size=3>以下摘译自W3C推荐标准<A href="http://www.w3.org/TR/1999/REC-xpath-19991116">XML路径语言(XPath)1.0版 1999-11-16 </A></FONT></P>
<P><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp; XPath是一种在一个XML文档中寻址的语言，为XSLT和XPointer而设计。<BR>&nbsp;&nbsp;&nbsp; XPath是在XSL变换（XSLT）和XPointer之间提供一种公用语法和语义功能性的努力的结果。XPath的主要目的是在一个XML文档中寻址。支持这个主要目的，它还提供基本功能来操纵字符串、数字和布尔值。XPath使用一个简洁的非XML语法以便于在URI中及XML属性值中使用。XPath对XML文档的抽象逻辑结构而不是表面语法起作用。XPath的名称来源于其使用如URL中的路径表示法在XML文档的层次结构中定位。</FONT></P>
<P><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp; 除了用于寻址以外，XPath设计有一个可以用于匹配（测试一个节点是否与一个模式匹配）的自然的子集；XPath的这个用法在XSLT中说明。</FONT></P>
<P><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp; XPath将XML文档当成一个节点树模型。节点类型有元素、属性、文本等不同类型。XPath定义一个方式以计算每种类型节点的串值。某些类型的节点也有其名称。XPath完全支持XML命名空间。这样，一个节点的名字模型为一对由本地部分和可能的空命名空间URI组成，称为扩展名。</FONT></P>
<P><BR><FONT face=宋体 size=3>以下摘译自W3C工作草案<A href="http://www.w3.org/TR/2004/WD-xpath20-20041029">XML路径语言(XPath)2.0 2004-10-29</A> </FONT></P>
<P><FONT face=宋体 size=3>&nbsp;&nbsp;&nbsp; Xpath 2.0是一种表达式语言，用来对符合在《XQuery 1.0 and XPath 2.0 Data Model》中定义的数据模型的值的处理。 此数据模型提供XML文档和原子值（如整型、字符串和布尔）以及序列（可以包含对XML文档节点和原子值的引用）的树形表示。一个XPath表达式的结果可以是从输入文档中选定的节点，或者一个原子值，更一般的可能是数据模型允许的任何序列。这种语言的名称来自于其最与众不同的特征，路径表达式，它提供一种在一棵XML树的节点中分层寻址的方法。XPath 2.0是 XPath 1.0 的超集，增加了对更丰富的数据类型的支持，并在文档使用XML Schema验证后变得可用时，利用其类型信息。向后兼容方式保证了几乎所有的XPath 1.0 表达式用XPath 2.0会提供相同的结果；例外情况在《<A href="http://www.w3.org/TR/2004/WD-xpath20-20041029/#id-backwards-compatibility">Backwards Compatibility with XPath 1.0</A>》中注明.</FONT><A><FONT face=宋体 size=3>　</FONT></A></P>]]></description>
</item><item>
<title><![CDATA[XQuery草案已经更新了]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=436</link>
<author>ksu99</author>
<pubDate>2004/11/19 16:10:41</pubDate>
<description><![CDATA[<A></A>
<P><FONT face=宋体 size=4>&nbsp;&nbsp;&nbsp; 因为撰写论文的需要，再次登陆W3C官方网站查看XQuery草案，却发现已经更新了，在w3china.org翻译计划里，翻译的草案就成了过期文档了，作为我自己，还是要尽快把自己负责的这几部分贴上去才好。</FONT></P>]]></description>
</item><item>
<title><![CDATA[Gmail的优势何在？]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ksu99&amp;id=87</link>
<author>ksu99</author>
<pubDate>2004/11/2 21:48:02</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=55&amp;ID=10847&amp;replyID=28022&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=ksu99" target=_blank>ksu99</A><BR>以下为原文：<BR><BR><B></B><BR><BR><FONT size=4>我也是听说有其他的功能，好像是说邮件的存储方式是集成在搜索引擎中，可以随时用关键词来搜索邮件。还听说有人对其隐私方面的问题提出置疑。唉。不大清楚哦。现在网易又成了2G邮件、30兆附件了。yahoo早就是1G了。只有英文界面的Gmail还有竞争力吗？不知道。毕竟google的技术一直在突飞猛进，好像对微软都造成威胁了呢。比如最近推出的桌面搜索引擎，就让微软有些被动呢。呵呵～～</FONT> 
<P></P>
<P><BR>
<DIV align=right><FONT color=#000066>[此贴子已经被作者于2004-11-2 21:35:52编辑过]</FONT></DIV><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=55&amp;ID=10847&amp;replyID=28022&amp;skin=1" target=_blank>参与讨论本主题</A><BR>]]></description>
</item>
</channel>
</rss>