RSS(Really Simple Syndication) 是标准的 XML 文档,wiki上可以找到它完整的文档,这里不再赘述。RSS大概是 1999 年 3 月被正式提出的,但很少有人关注。 3年后 IE6 发布,并迅速占领了市场,不知何原因,IE6 并不原生支持 RSS(估计是自大成性的MS从未关注过RSS),这也导致 RSS 一直被雪藏,直至 Firefox 的崛起,2005年开始 RSS 才流行开来。面对国内大量的 IE6,如何正常显示 RSS,而不是直接呈现 XML 代码呢?

最有效的方法是使用 XSL 模板。IE5.5+ 后就支持使用 XSL 渲染 XML 数据了(顺便赞一下微软中国团队开发的MSXML组件)。 RSS 本身就是一个标准的 XML 文件,我们只要做一个 XSL 文件,并通过 XML 处理指令链接 XSL 文件,IE6 就会根据 XSL 来呈现 XML 数据。

只需在 RSS 的版本定义 <?xml version="1.0" encoding="utf-8"?> 后增加一行:

查看详细»
14Aug

用 Schema 约束 XML 数据

评论:1 分类:XML技术 点击:166
XML 是严格又自由的标记语言。我们都习惯于它的自由特性,自己想怎么定义都行,设计上非常自由,从不会因为它的标记特性约束到设计灵感的发挥。对于其严格特性,很多人的认识只停留在“标签的开始与结束必须一致,且不能错位嵌套”。本文主要想举例子来体现XML的严格特性。

举个例子,总公司需要收集所有子公司每个月份的销售数据(XML格式),这些子公司有些是收购来的,有些子公司产品具有地域特性与产品特性,这些子公司的销售数据不太一致。总公司为了收集这些数据,制定了一套约束数据的规则(Schema),子公司的数据只要通过有效性约束,就可以存入总公司的数据库。下面穿插一段从百度百科来的关于 Schema 的简介:
Schema是用于描述和规范XML文档的逻辑结构的一种语言,它最大的作用就是验证XML文件逻辑结构的正确性。可以理解成与DTD(文档类型定义)功能差不多,但是Schema在当前的WEB开发环境下优越很多。因为它本身就是一个有效的XML文档,因而可以更直观地了解XML的结构。除此之外,Schema支持命名空间,内置多种简单和复杂的数据类型,并支持自定义数据类型。由于存在这么多的优点,所以Schema渐渐成为XML应用的统一规范。

通过上述文字,可以看到 Schema 就是为了约束 XML 而设计的,它本身也是使用 XML 实现的(这是它比DTD更优秀的一个重要原因)。总公司通过设计一套严格的数据约束规范,就可以保证最终进入数据库的数据格式完整统一,可以生成有效的财务报表。

查看详细»
12Aug

使用 XMLSPY 设计项目的 Schema 原型

评论:0 分类:XML技术 点击:169
XMLSPYAltova 公司的 XMLSPY 是个不可多得的好东西,它几乎可以开发所有的 XML 产品。最近用它来做 Schema 的设计,感觉真的爽极了,它既直观地描述了还在大脑中的原型,又为日后的开发提供严格的约束,比其他的 XMind、Visio 等灵感图都实用。下面举一个例子,这是一般企业内部使用的邮件模型(仅单条邮件记录的原型):

查看详细»
25Jul

删除多余的属性 xmlns=""

评论:1 分类:XML技术 点击:341

很早前就遇到这个空值的属性,它既出现在 html 文档中,也出现在 xml 中,一直都回避,放之任之,反正也不影响文档的正确性。隐隐约约过了大半年,终于有一天下定决心,一定要把这个问题彻彻底底搞个透,认真一分析,却发现这是一个 xml 命名空间基础知识,不是一个需要捋起两管衣袖再加深呼吸两口才能解决的问题。

首先来重现此属性,现有的XML数据(people.xml):


张三

(注意上面的xmlns后面带有一个反斜杠,是为了防止语法高亮组件SyntaxHighlighter异常而加的,请透明视之,以下同)程序给root增加一个age节点用于描述“张三”的年龄(VBScript):
Dim dom
Set dom = CreateObject("MSXML2.DOMDocument")
dom.async = False
dom.load "people.xml"

Dim age
Set age = dom.createElement("age")
age.text = 25
dom.documentElement.appendChild age
dom.save "people.xml"
查看详细»

在开发和调试基于XML的应用的时候,程序员往往为找不到合适的快速桌面XPATH测试软件发愁。诚然,市面上有成套的XML编辑软件,但是它们往往要么太过于庞大,安装维护不是很方便,要么就是不免费,自己写一个吧,又觉得处理UI很烦。特别是在利用MSXML开发软件的程序员,很想使用MSXML直接测试自己写的XPATH对不对。笔者这里提供各位程序员一个基于HTML和MSXML6的超轻量级XPATH测试程序参考和使用。

查看详细»
18May

用 XSLT 把 XML 数据生成柱状图

评论:0 分类:XML技术 点击:400
这是一个非常简单的解决方案,柱状图中每一条柱都是一个 div,数据的大小呈现在 div 的宽或高上。 查看演示 例子下载
实现的原理也很简单,在所有数据中获取最大的一个(getMax),把它当做满分,即 div 的宽或高度最大,其他数据都参考该最大值相应缩小 div 的宽高。查看详细»
页码: 1