Edw*_*uay 111 xslt indexing xpath
我和一些同事正在比较我们编写的过去的语言,并且正在讨论我们使用VBScript的经验,其奇怪的功能,如基于1的索引而不是基于0的索引,就像几乎所有其他语言一样,原因是它是一个用户语言(例如Excel VBA)而不是开发人员的语言.
然后有人说," XPath也有基于1的索引 ",直到我发现这篇文章中有许多理由支持基于0的方法,其中包括Michael Kay本人的一些,我无法相信:
但随后Michael Kay被引用作为结论:
......基于1的逻辑是XPath和XSLT的正确选择...因为该语言是为用户而不是为程序员设计的,而且用户仍然有这种老式的习惯,即将书中的第一章称为章节一...
有人可以向我解释一下吗? (1)XPath如何为用户设计?我无法想象任何不是开发人员与XPath的语法刚性或XSLT的声明/功能编程方面争论的人.和(2)为什么确实的XPath的创造者违背现代编程语言的规范,通过选择基于1指数?
要回答这个问题,我们必须研究一些技术的历史.
RSS XML XSLT和XPath历史
RSS版本0.9最初是由Netscape的Netscape的my.netscape.com门户网站上的几个人在1999年发布的RDF Site Summary.那年晚些时候,它被重命名为RSS(Rich Site Summary),其中包含v0.91更新.该项目的开发多次易手,但RSS版本1.0于2000年12月发布.随着v1.0的更新,RSS包括对XML的支持.
2002年,v2.0作为RSS(Really Simple Syndication)于9月发布,并开始发展成为一项主要的互联网技术.在它的早期历史中,RSS源(以及它们包含的XML数据)是由原始格式的人读取的.博客和其他新闻来源使用RSS提要和XML来输出不断更新的信息.由于XML仅由凡人(非程序员)阅读,因此XPath和XSLT也需要易于理解,以便这些凡人在与它交互时不会被复杂性所淹没.这就是为什么XPath模仿URI的风格,这是最终用户已经熟悉的东西.为了用户可读性而做出的让步之一是使用老式的编号技术,即基于1的索引而不是基于0的索引.
尽管RSS提要和XML对大多数人来说都是可读的,但RSS阅读器的开发是为了让人们阅读RSS提要的界面更加愉快.现在,原始RSS和XML数据几乎只能通过某种读取器或图形界面读取.XML仍然在网络上频繁使用(可能是永久性的),但它被精美的图形用户界面所掩盖,为最终用户提供更好的体验.
*" 凡人 "一词指的是不是程序员的人