论文部分内容阅读
XML技术已经成为因特网(Internet)上数据交换标准,随着XML应用越来越广泛,XML技术的迅速发展面临许多挑战:目前大多数规范还是工作草稿,规范之间的一致性问题和语言的标准化问题将是主要的挑战。这些问题主要是由于语言间的相互依赖性导致的:XML相关规范都建立在XML SCHEMA类型系统上、操作的逻辑结构是XML的文档对象模型、采用统一的表达式语言XPATH。 程序语言的形式化语义提供简洁而精确的语言定义,不仅帮助人们很好的理解语言,而且有助于语言的标准化。形式化规范语言Z和Object-Z已经用于描述程序语言语义。Object-Z对Z语言进行了面向对象扩展,包括类和继承机制,描述的语义不仅具有简洁和精确性,而且具有可组合性和可重用性。当语言加强时,其形式化语义可以很容易的进行扩展。 本文从程序语言语义的面向对象角度研究XML家族语言的形式化语义。根据XML家族语言之间互相依赖的特点,在对XML核心规范分析的基础上,首先建模XML家族语言通用语义构件库,包括XML SCHEMA类型系统、XML文档数据模型和XPATH表达式;然后重用这些语义构件描述具体XML家族语言XSLT和XQUERY的语义。形式化描述采用Z和Object-Z的符号系统。这种面向对象的语义模型建模每个语言构件的抽象语法、静态和动态语义为单个Object-Z类构件,具有简洁性、可组合性和可重用性,适应了XML家族语言不断变化发展的特点。当新的规范出现时,通过对旧的语义进行扩展,可以很容易的描述新规范的语义。 随着XML被国际上许多组织采纳作为标准数据交换格式,XML文档处理技术日益受到关注。本文通过对现有XML文档处理技术DOM和XSLT的比较,开发了一种新的XML编程语言XWALK,其命名源于应用程序遍历(Walks)XML文档树,同时修改结点的结构和内容,其处理模式类似于文档对象模型DOM。XWALK属于XML家族语言,因此其语义描述重用了XML家族通用语义构件。XWALK语言采用XML语法,具有精确的形式化语义。XWALK程序通过转换到JAVA下运行。XWALK兼具了DOM强大的编程功能和XSLT的方便编程的特点。