本网页回答各类 XML 的常见问题,范围包括所有 XML 的相关技术,如 XPath,RDF,XSLT, XML 命名空间,等等。如有问题,请电邮到 FAQ [faq@opendl.com]。对於典型的问题, 我们将列在这里。
本网页常常更新,欢迎访问。
首先,定义两个变量:
<xsl:variable name="ucase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:variable name="lcase" select="'abcdefghijklmnopqrstuvwxyz'" />
然后,调用 translate 函数将所有小写转换成大写:
<xsl:variable name="content" select="." /> <xsl:value-of select="translate($content, $lcase, $ucase)"/>
如果要见大写转换成小写,则将 translate 函数的第二和第三个参数对换即可。
Q: 使用 DOM 或 SAX?在处理 XML 文档的时候,通常有两种方法:使用 DOM (Document Object Model) 或者SAX (Simple API for XML)。
DOM 是基於树结构的 (Tree-based) APIs,它在处理XML 文档时,将XML 文档在内存中表达成为一棵树。而 SAX 是基於事件驱使的(Event-driven) APIs, 在处理XML 文档时,SAX 并不在内存中保留 XML 文档,而是以数据流的方式读入 XML 文档并只对指定的事件,如:一个起始或结束标记,进行处理和控制。那么,该如何确定使用 DOM 还是SAX 呢?
刚开始接触 XML 的时候,许多人常常对“变量”一词感到困惑,有的人甚至认为根本就应该叫做“常量”。引起困惑的原因是一旦一个变量被赋值,其值则不能修改;不象在编程语言中,变量可以多次被重新赋值。
事实上,以传统的数学来说,一个量是否为变量应该看该值是否可以有不同的值,例如,在数学公式:圆周长 = 2 x 圆周率 X 半径 中, 2 和 圆周率 为常量,而 半径 为变量,其真正含义是指每一次使用该公式时, 半径 可以赋不同的值。在 XML 中正是使用了这种含义,而不是后来出现在编程语言中的变量的概念。