CN1615476A - 定义对象层次的说明机制 - Google Patents

定义对象层次的说明机制 Download PDF

Info

Publication number
CN1615476A
CN1615476A CNA038015897A CN03801589A CN1615476A CN 1615476 A CN1615476 A CN 1615476A CN A038015897 A CNA038015897 A CN A038015897A CN 03801589 A CN03801589 A CN 03801589A CN 1615476 A CN1615476 A CN 1615476A
Authority
CN
China
Prior art keywords
label
character
attribute
name
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA038015897A
Other languages
English (en)
Other versions
CN100338595C (zh
Inventor
R·A·雷里亚
R·格拉姆比勒
J·包格丹
J·金
C·维尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1615476A publication Critical patent/CN1615476A/zh
Application granted granted Critical
Publication of CN100338595C publication Critical patent/CN100338595C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

描述了一种方法和数据结构,该方法和数据结构允许在标识文档内用陈述说明指定一个对象。该标识文档可能基于XML。依照本发明,根据映射来写对象。该映射包括用于定位定义文件的URL属性,该定义文件具有汇编和指定类的名字空间。该类名字作为标签被映射到标识文档。类的性质和事件映射类关联标签的属性。该方法还进一步包括一种方法:分析该标识语言,以创建对象层。利用定义标签来定义不直接映射到类的属性。也使用该定义标签,将程序码加入页面。

Description

定义对象层次的说明机制
发明领域
本发明一般涉及计算机系统,更具体地说,涉及用陈述说明来创建对象层次和对象类型的一种方法和系统。
发明背景
标识语言通常容易创建和理解。“可扩展标识语言”(通常被称作“XML”)是如今所使用的最流行标识语言之一。XML是一种格式,该格式被设计成将结构化信息带到Web。它是用于电子数据交换的基于Web的语言。XML是“万维网协会”(W3C)的公开技术标准,“万维网协会”是负责维护并推进超文本标识语言(HTML)和其他有关Web的标准的标准团体。
XML是“标准通用标识语言”(SGML)的子集,SGML在除去非本质特点时保持上下文分离的重要体系构造。XML文档格式将内容嵌入表达其结构的标签内。XML也提供了表达文档语法规则的能力。这两个特点允许自动分离数据和元数据,并且允许普通工具根据其语法来证实XML文档。
已为系统集成设计了XML。XML提供了数据的结构表示法,它已证明可以广泛地加以实施且容易部署。用标签标明的一段信息被称作“元素”。用配对的开始和结束标签来标出信息。可以通过附上名字值对的所谓“属性”,来进一步描述元素。XML元素可以将其关联的数据陈述为任何所需的数据元素。例如,该元素可以是零售价、书的标题等。目前,XML已被应用于应用数据(例如,商业文档、EDI消息等)的基于语法的表示法、应用程序的用户界面、XHTML和具有固定的一组标签的其他语法。
这些基于语法的表示局限于:它们无法容易地扩展这组固定标签,以创建XML元素的新类型。此外,随着计算机行业稳步向面向对象的编程技术发展,XML不能充分表示可执行部件的对象。这些对象可被其他软件程序再用,并且,可以容易地从现存对象中扩展新的对象。结果,程序设计员经常要用编程语言并按编程方式替代陈述说明来创建对象层次。每次使用时,都必须用该编程语言来创建该对象层次。
使精通该技术领域的人员感到困惑的是一种系统,该系统为程序设计员提供结合程序逻辑,用陈述说明方式来创建对象层次和类型的能力。
发明概述
本发明针对一种用标识语言陈述说明方式来定义对象层次的机制。这些对象包括诸如Microsoft.Net构架的普通语言运行时类型等对象。执行诸如用户界面等项目的传统方法要求:同步地创建该项目。关于非常大的项目,装载该项目的时间会很紧。本发明为用户提供了在层级(即树形结构)中同步或异步地创建对象的能力。
标识语言基于XML。根据映射,将用标识语言写对象。映射包括URL属性,为定义文件定位,定义文件具有汇编和指定对象类的名字空间。标识语签言中的标签名映射成类名称。标签的属性映射成与该标签关联类的性质和事件。没有直接映射到一个类的属性用定义标签来加以定义。该定义标签也被用来将程序码加入页面。
本发明进一步包括一种方法,用于分析标识语言,以创建对象层次。用定义文件为本发明机制的对象类定位,以便搜索标签映射的类。一旦确定类,就在类的性质段和事件段搜索到属性名。创建了该类对象的一个实例。可以使用复合性质来指定属性。
本发明提供了一种能力——使标识语言同步或异步地创建诸如用户界面、矢量图形和文档等项目。这些文档包括固定格式文档和适应流文档。固定格式文档用与设备无关的方式明确定义页数和每页上的对象布局。适应流文档可以自动重编页码,从而当页面大小发生变化时,就可以将每页上的对象重定位。
通过以下参照附图而进行的对说明性实施例的详细描述,本发明的额外的特点和优点将会变得一目了然。
附图简述
所附权利要求书详细陈述了本发明的各个特点,但通过以下结合附图的详细说明,可以最佳程度地理解本发明及其目的和优点。
图1是框图,一般展示了存在本发明的示范计算机系统;
图2是框图,一般展示了本发明可进行操作的示范环境;
图3是框图,一般展示了标识语言与图2中的示范环境之间的映射;以及,
图4是流程图,展示了根据本发明来分析标识文件的各个步骤。
发明的详细说明
本发明提供了一种机制,该机制允许用户用XML标识语言指定对象层次和随后的程序设计逻辑。这为对象模型提供了用XML来描述的能力。一个结果是:可以使用XML来访问这些可扩展类(例如,微软公司生产的“.NET构架”的“共同语言运行(时)(CLR)”中的类)。CLR中的类数目在不断增长,这意味着:对象模型的XML表示法正在动态地发展。如这里所描述的,该机制提供XML标签到CLR对象的直接映射,以及使用该标识来表示相关代码的能力。可以使用该机制来创建固定格式文档、适应流动文档、矢量图形、应用程序用户界面和控制器、XML标签中的类似物和前述内容的任何组合。
参考这些附图(其中,相同的参考数字提及相同的元件),本发明被展示为在合适的计算环境中加以实施。虽然未作要求,但是,将在正由个人计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本发明。通常,程序模块包括完成特殊任务或实施特殊的抽象数据类型的例行程序、程序、对象、部件、数据结构等。而且,精通该技术领域的人将会理解:可以利用其他的计算机系统配置来实践本发明,这些计算机系统配置包括手持设备、多处理器系统、基于微处理器的或可编程的消费电子设备、网络PC、小型计算机、大型计算机和类似设备。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以用本地记忆存储设备和远程记忆存储设备来定位。
图1说明了可实施本发明的合适的计算系统环境的例子100。计算系统环境100只是合适的计算环境的一个例子,它并不意在对本发明的使用或功能性的范围提出任何限制。也不应该将计算环境100解释成对示范操作环境100中所展示的任何一个部件或部件组合的任何从属性或要求。
本发明可用于众多其他的通用或专用计算系统环境或配置。可能适用于本发明的众所周知的计算系统、环境和/或配置的例子包括(但不局限于)个人计算机、服务器计算机、手持设备或便携式设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境,以及类似设备。
本发明计算机可执行指令的一般上下文例如,计算可执行的程序模块来描述。通常,程序模块包括完成特殊任务或实施特殊的抽象数据类型的例行程序、程序、对象、部件、数据结构等。本发明也可以在分布式计算环境中实践,在这些分布式计算环境中,由通过通信网络连接的远程处理设备来完成任务。在分布式计算环境中,程序模块可以用包括内存存储设备在内的本地计算机存储介质和远程计算机存储介质来定位。
参照图1,实施本发明的示范系统包括通用计算设备10。计算机110的部件可以包括,但不局限于处理单元120、系统存储器130和系统总线121,系统总线121将包括系统内存在内各种系统部件耦合到处理单元120。系统总线121可以是任几种类型的总线结构,包括一内存总线或内存储控制器、一外设总线和一使用任种总线体系构造的局部总线。举例来讲且不作限制,这类体系构造包括“工业标准结构”(ISA)总线、“微通道结构”(MCA)总线、“增强ISA(EISA)”总线、“视频电子标准协会”(VESA)局域总线和所谓“夹层(Mezzanine)总线”的“外设部件互连”(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是计算机110可存取的任何可用介质,它包括易失和非易失介质、可移动和不可移动的介质。举例来讲。且不作限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失和非易失的,可移动和不可移动介质,该介质用任何方法或技术实施对信息例如,计算机可读指令、数据结构、程序模块或其他数据的存储。计算机存储介质包括,但不局限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用光盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁性存储设备、或可以被用来存储所需信息并被计算机110存取的任何其他介质。通信介质通常具体表现计算机可读指令、数据结构、程序模块或调制数据信号,例如,载波或其他传送机制中的其他数据,它包括任何信息传递介质。术语“调制数据信号”意味着一种信号有一个或多个特征组中按一种方式改变为该信号的编码信息。举例来讲且不作限制,通信介质包括有线介质例如,有线网络或直接线连接和无线介质例如,声音、RF、红外线和其他无线介质。上述任何组合也应该被包括在计算机可读介质的范围内。
系统内存130包括采取易失和/或非易失存储器例如,只读存储器(ROM)131和随机存取存储器(RAM)132形式的计算机存储介质。基本输入/输出系统133(BIOS)通常被存储在ROM 131中,该基本输入/输出系统包含有助于在计算机110内的各个元件之间传送信息,例如,在启动期间的基本例行程序。RAM 132通常包含可立即由处理单元120进行存取和/或目前正由处理单元120进行操作的数据和/或程序模块。举例来讲但不作限制,图1展示了操作系统134、应用程序135、其他程序模块136和程序数据137。
计算机110也可以包括其他可移动/不可移动,易失/非易失计算机存储介质。仅仅举例来讲,图1展示了对不可移动的,非易失磁性介质读取或写入的硬盘驱动器141、对可移动的,非易失磁盘152读取或写入的磁盘驱动器151,以及对可移动的,非易失光盘156例如,CD ROM或其他光学介质,读取或写入的光盘驱动器155。该示范操作环境中可以使用的其他可移动/不可移动的,易失/非易失计算机存储介质包括,但不局限于卡型盒式磁带机、闪存卡、数字通用光盘、数字录像带、固态RAM、固态ROM和类似的存储介质。硬盘驱动器141通常通过不可移动的存储器接口,例如,接口140连接到系统总线121,而磁盘驱动器151和光盘驱动器155通常用可移动的存储器接口,例如,接口150连接到系统总线121。
以上所讨论的和图1中所展示的这些驱动器及其关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图1中,例如,硬盘驱动器141被展示为存储操作系统144、应用程序145、其他程序模块146和程序数据147。注意,这些部件可以等同于或不同于操作系统134、应用程序135、其他程序模块136和程序数据137。操作系统144、应用程序145、其他程序模块146和程序数据147在这里被提供不同的号码,以展示:它们至少是不同的副本。用户可以通过输入设备,例如,键盘162和定点设备161,通常被称作“鼠标”、“跟踪球”或“触摸垫”)将输入命令和信息计算机110。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、卫星圆盘、扫描仪或类似的输入设备。这些和其他输入设备经常通过被耦合到该系统总线的用户输入接口160连接到处理单元120,但也可以用其他接口和总线结构,例如,并行端口、游戏端口或通用串行总线(USB))连接。监视器191或其他类型的显示设备也经由接口,例如,视频接口190连接到系统总线121。除监视器以外,计算机还可以包括其他外设输出设备例如,扬声器197和打印机196,这些外设输出设备可输出外设接口195连接。
计算机110可以在使用与一台或多台远程计算机,例如,远程计算机180的逻辑连接的联网环境中进行操作。远程计算机180可能是另一台个人计算机、服务器、路由器、网络PC、对等设备或其他公共的网络节点,它通常包括上述与个人计算机110有关的许多或全部部件,尽管图1中只展示了内存储181。图1中所描绘的这些逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其他网络。这类连网环境在办公室、企业范围的计算机网络、内联网和因特网中很普遍。
用于LAN联网环境中,个人计算机110通过网络接口或适配器170连接到LAN 171。用于WAN联网环境中,计算机110通常包括调制解调器172或对在WAN 173例如,因特网建立通信用的其他装置。调制解调器172可能是内置的,也可能是外置的,可经用户输入接口160或其他合适机制连接到系统总线121。在联网环境中,相对于个人计算机110描绘的程序模块或其各个部分存储在远程存储器存储设备中。举例来讲且不作限制,图1将远程应用程序185展示为驻留在内存181上。将会理解:所示的这些网络连接起示范的作用,还可以使用其他装置在这些计算机之间建立通信链路。
在下文中,除非另有指示,将参照由一台或多台计算机完成的动作和操作的符号表示,来描述本发明。照此,将会理解:这类动作和操作有时被称作“是计算机执行的”包括用结构化形式来表示数据的电信号计算机的处理单元所执行的操作。这项操作变换该数据,或将其保存在该计算机的系统内存中位置,这样,按精通该技术领域的人所熟悉的方式来重新配置或改变该计算机操作。保存数据的这些数据结构是具有该数据的格式所定义特性的、内存的物理位置。但是,在前述上下文中本发明描述,这并不意味着起限制的作用,因为精通该技术领域的人将会理解:也可以用硬件实施下文中所描述的各种动作和操作。
如前所述,利用本发明,可以使用XML来访问NET构架的CLR中的可扩展类。虽然未作要求,但是,简单回顾NET构架可能有益于更好理解本发明所提供的各种好处。回到图2,采用最简单表示的.NET构架200包括CLR 202构架类库204、用户界面206以及web服务和应用程序208。该.NET构架驻留在机器的操作系统,例如,操作系统134。
用户界面206以及web服务和应用程序208提供包括文件访问、XML支持和服务的一般输入/输出。它们揭露了从HTTP到HTML的web技术和服务,提供了用于建立Web网页和/或传统的基于“窗口”的用户界面的用户界面元素,并揭露了ASP.NET和许多其他的服务。
CLR 202负责管理内存、启动和停止线程和进程,以及实施安全政策。它提供一种普通类型的系统,该系统提供数据类型与编程语言无关的概念,这样,允许众多的编程语言共享该.NET构架中的数据和代码。CLR 202也具有及时编译器,翻译MSIL(微软中间语言)码,并且为指定机器进行优化,以便自然地在该机器的系统处理器上。
该构架类库包括类。类定义对象可完成的操作(方法、事件或属性),并且定义保持对象状态的值(字段)。虽然类通常包括定义和实施,但是,可以有一个或多个成员无实施。普通类型的系统定义在运行时如何陈述、使用和管理类型。NET构架类型使用暗示层级的点句法命名方案。这项技术将相关类型归类于名字空间,所以,可以更容易地对它们进行搜索和参照。全名的第一部分,直到最右边的点,是名字空间的名字。名字的最后一部分是类型名字。例如,System.Collections.ArrayList表示ArrayList类型,它属于System.Collections名字空间。可以使用System.Collections中的类型处理对象集合。当用这种方法来组织类时,容易理解名字空间服务的目的和它将包含哪类功能。例如,System.Web.Services传达,这些类将提供几种Web功能的服务。同样,容易推断出:System.Windows.Shapes提供形状服务。除容易辨认的统一类中的逻辑分类外,名字空间也具有可扩展性,用户可以从现存的一个名字空间中导出自己的名字空间。例如,System.Web.UI.ACMECorp可以从System.Web.UI中导出,并可提供自定义UI元素。构架名字空间提供制定和执行解决方案所需要的“系统”或基本功能以及服务。
在下文中,将使用xaml命名法来描述本发明,以便将本发明的各个特点与XML区分开来。现在参考图3,本发明提供了CLR概念300到XML 310的直接映射。用所谓“反射”的CLR概念,可经由xmlns陈述312找到名字空间302。类304直接映射到XML标签314。性质306和事件308直接映射到属性316。用映射,用户可以指定XML标识文件中的任何CLR对象的层次树。
Xaml文件是具有.xaml扩展名和/xaml+xml应用介质类型的xml文件。Xaml文件具有一个根标签,指定xmlns属性名字空间。不需要特殊的根标签,从而允许用户用不同的CLR相关标签,作为根。可以用其他类型的标签指定名字空间。
用默认的一组名字空间。在一个实施例中,用五个名字空间。这些名字空间是System.Windows(有元素类)、System.Windows.Controls(有控制元素,例如,按钮、屏面、文本屏面等的类)、System.Windows.Documents(有文档中央文本元素的类)、System.Windows.Shapes(有视窗口矢量图形元素的类)和System.Windows.Controls.Atoms(有构件块元素,例如,滚动观察器的类),并且,用xmlns陈述指定它们。可以使用其他名字空间,而该默认组是应用程序配置的。
如前所述,xaml文件中的标签通常映射到CLR对象。标签可以是元素、复合性质、定义或资源。元素是CLR对象,这些CLR对象通常在运行时间期间被例示,并且构成对象层次。这些元素保留在该层次中。有些元素只有当需要时,才例示。按与NET构架一致的方法来大写元素。在一个实施例中,有五个主元素组。它们是“屏面”、“控制”、“文档”、“形状”和“装饰”。用屏面定义如何在页面上安排这些元素。屏面的例子包括文本屏面(TextPanel)、船坞屏面(DockPanel)、画布(Canvas)、流动屏面(FlowPanel)和表格(Table)。控制提供交互经历。控制器的例子包括按钮(Button)、单选按钮(RadioBatton)和列表框(CistBox)。文档用来提出并格式化流文本。这些元素可以放在能包含其他元素的任何元素内部。“文档”的例子是段落(Sectiow)、章节(Paragrath)、粗体(Ellipse)和斜体(Halic)。形状是矢量图形(VcetorGmphics)元素。形状的例子包括椭圆(Ellipse)、直线路(Cine)和路径(Path)。装饰器类似于屏面元素除了它们只能有一个子元素外。装饰的例子包括边缘和(Border)发光(Glow)。
用复合性质标签设置父标签性质,以下将更加详细地对其加以讨论。在运行时期间,复合性质标签不像元素在层次树中。用定义标签将代码加入页面并定义资源。这些定义标签在xaml页面中或在xaml页面的一个成分中为<def:xyz>,其中,xyz是被定义的项目。例如,使用<def:Code>将代码加入页面,并且,<def:Resources>定义一个或多个可重用资源。出现在<def:Resources>标签内的标签可以映射到任何元素或任何任意的CLR对象。该资源标签提供了一种重用对象树的能力只要该树被指定为资源。定义标签也可以在另一个标签内定义为xmlns属性。
如前所述,属性映射到与类关联的性质和事件。一些属性不与实CLR类关联,所以,也用定义标签来将这些属性与映射到性质或事件的属性区分开来。以下表格列出这些属性。
    属  性        说  明     值类型   可接受的值
def:Language 指定用来编译代码的语言。这是XAML文件的根标签的属性。     字符串   C#VBC++JScriptJ#或其他语言
def:Class 在标识子类定义中指定子类的名称。     字符串   只是一个类名,或一个名字空间和一个类名。
既然已描述了基本名字空间到xmlns属性、类名称到标签名称以及性质与事件到属性的映射和定义的属性,则将描述本发明在分析xaml文件的过程中所采用的各个步骤。本发明的分析程序,此后将称作xaml分析程序,根据CLR汇编的和能搜索到的名字空间根标签确定要找到一个标签。示范的根标签有以下形式:
  <TextPanel xmlns=″http://microsoft.com/xaml/2004/″>
     Hello World
  </TextPanel>
xaml分析程序在xmlns属性所指定的URL目录中寻找一个名字空间定义文件。例如,在以上示范的根标签中,xaml分析程序将在http://microsoft.com/xaml/2004/xmlns.definition处搜索定义文件。
在该名字空间定义不在xmlns位置的情况下,在一个实施例中使用<?Mapping?>标签。作为汇编中的用户组分,标签有以下形式:
  <?Mapping xmlns=″foo″Namespace=″ACME.Widgets″Assembly=″acme″?>
关于xmlns指向由另一个实体(例如,w3c.org)(其中,用户提供执行)控制的站点的名字空间,标签有以下形式:
  <?Mapping xmlns=″http://www.w3c.org/2000/svg″
  xmlnsdefinition=″http://www.acme.com/svg/2000/xmlns.definition?>
也可以使用形式xmlns:foo=http://www.ACME/foo来指定名字空间,定义名字空间“foo”。如前所述,也可以用其他类型的标签指定名字空间。例如,用以下MyCoolButton标签指定名字空间。
  <TextPanel xmlns=″http://microsoft.com/xaml/2005″xmlns:def=″Definition″
  xmlns:Language=″C#″>
         <MyCoolButton xmlns=″http://Acme.Com/MyControls/2005″>
         </MyCoolButton>
  </TextPanel>
名字空间定义文件提供了汇编及其安装路径的名称,以及CLR名字空间清单。示范的定义文件如下:
  <Xmlns Name=″Microsoft Xaml 2005″>
    <Schema Uri=″http://microsoft.com/xaml/2005/xaml2005.xsd″/>
    <Assembly Name=″System.Windows″Version=″1.0.0.0″/>
    <Assembly Name=″System.Windows.Foo″Version=″1.0.0.0″/>
    <ClrNamespace Name=″System.Windows″/>
    <ClrNamespace Name=″System.Windows.Controls″/>
    <ClrNamespace Name=″System.Windows.Documents″/>
    <ClrNamespace Name=″System.Windows.Shapes″/>
  </Xmlns>
当xaml分析程序遇到新的xmlns定义文件时,读取该定义文件,并本地存储。
当分析程序遇到一个标签时,就使用标签的xmlns和它的xmlns定义文件确定标签归哪个CLR类。例如,如果标签是<Text xmlns=”...”>,则分析程序在定义文件提供的名字空间内搜索text。分析程序按在定义文件中指定汇编和名字空间的顺序来进行搜索。当分析程序找到一个匹配时,它例示一个该类的对象。
用两种方法中的一种方法来使用xaml标签中的属性。它要么设置一种性质,要么是挂接一事件处理程序。例如,xaml分析程序将下列标签。
  <Button Text=″OK″Background=″Red″Click=″RunHandler″ID=″b1″>
解释为Button类有文本、背景和点击性质和/或事件。该分析程序在Button类的性质段中搜索文本、背景和点击名称。如果名称不在性质段中,则分析程序到事件段中寻找该名称。
在以上例子中,分析程序确定Text和Background是性质,而Click是事件。文本字符串OK是设置。对于比设置文本字符串更加复杂的性质和事件,用CLR类型的转换器创建进行字符串与性质、事件之间的一个对象转换。例如,性质Background确定是Paint类的CLR类型。用Paint害的CLR类型转换器,将字符串Red转换成Paint类的对象。字符串设置为Button背景颜色的值。同样,该Click事件联上RunHandler方法,以及ID性质设置为b1。
性质可设置为简单属性、而具有串值的复合性质或具有对象的复合性质设置为值。简单属性采用形式<Button Background=”Blue”/>。在这种情况下,“Blue”解释为调用将字符串转换成Paint类对象的类型转换器Background性质的类型)。然后,应该设置Button的Background性质的值。如果属性值以*开始,则该属性不是文字值,而设置这个值等于新近例示的对象或现存对象。
具有字符串值的复合性质有下列形式:
  <Button>
    <Button.Background>Blue</Button.Background>
  </Button>
其中有句点的标签指出该标签是对性质的参照。当分析程序看见一个标签,以父标签的标签名开头其后跟有句点(例如,“Button.Background”标签中的“Button.”)时,则搜索句点后名称(例如,“Button.Background”标签中的“Background”)的性质。在这种情况下,调用“Blue”解释为将字符串转换成Paint类(Background性质类型)对象的类型转换器。然后,应该将它设置为Batton的Background性质的值。
也可以在标签中陈述另一类的性质。例如,
标签<TextBox Button.Background=”Blue”>
指出:属性Button.Background映射到不同于TextBox类的类。分析程序看见句点,搜索该句点前面的名称(例如,“Button”)所指定的那类中、由句点后面的名称(例如,“Button.Background”中的“Background”)指定的性质。
具有作为值的对象的复合性质有以下形式:
  <Button>
    <Button.Background>
           <HorizontalGradient StartColor=”Blue”EndColor=”White”/>
    </Button.Background>
  </Button>
在这种情况下,创建CLR HorizontalGradient对象,然后将其设置为Button的Backruound性质的值。
可以使用复合性质句法不仅仅提供该值的对象。例如,可以实行动画制作或与一些数据的结合(Bind):
  <Button>
  <Background>
     <ColorAnimation FromColor=”Blue”ToColor=”White”Duration=”2”/>
  </Background>
  <Text>
     <Bind DataSource=”*Resources.Customers”Path=”LastName”/>
  </Text>
  </Button>
在这些情况下,用标签使Animation或Bind有能力:建立提供特征的系统。例如,在创建Animation对象之后,xaml分析程序询问该对象,以了解它是否实施过被称作“IApplyValue”的界面。如果执行过,则xaml分析程序调用ColorAnimationObject.ApplyValue(elementReference,BackgroundPropertyID)。然后,ColorAnimationObject将联上动画制作。如果对象不支持该界面,则xaml分析程序将该Button的该Background性质设置为ColorAnimationObject。
如前所述,如果该属性值以*开始,则属性值设置成等同于新近例示的对象或现存对象的值。xaml分析程序寻找*后面的名称,并且寻找*后面名称的一个CLR类型。例如,利用<Button Background=”*HorizontalGradient(Start=Red End=Blue)”>标签,分析程序确定括号前面的那个名称(即HorizontalGradient),并且搜索由前述xmlns设置建立当前名字空间中的CLR类型。分析程序将该括号后面的这些项目视作属性和值(例如,start是属性,red是属性值)。以下是使用“*”扩展符的其他例子。在所有这些情况中,该值将被一次设定。不设置表达式或联编,以维持性质与某个对象之间的关系。允许向前参照。在树形结构创建期间,如果所参照的对象还不存在,则延迟那个性质的设置,直到参照对象存在,或者树完全创建为止。
  <DockPanel ID=”root”Background=”Blue”>
  <def:Resources>
  <HorizontalGradient def:Resource=”hgl”StartColor=”Blue”EndColor=”White”/>
  </def:Resources>
  <!--Reference to an another element-->
  <HyperLink Target=”*frml”>Link</HyperLink>
  <Frame ID=”frml”/>
  <!--Reference to a property on another element-->
  <FlowPanel Background=”*root.Background”/>
  <!--Reference to a page level resource-both are equivalent since root is“this”-->
  <FlowPanel Background=”*Resources.hgl/>
  <FlowPanel Background=”*root.Resources.hgl”/>
  <!--Reference to the Application object-both are equivalent since root is“this”-->
  <FlowPanel Property=”*App”/>
  <FlowPanel Property=”*root.App”/>
  <!--Reference to a property on the application object-->
  <FlowPanel Property=”*App.Foo”/>
  <!--Reference to an application level resource-->
  <FlowPanel Property=”*App.Resources.Foo”/>
  </DockPanel>
编程语言可以与两个地方的.xaml页面关联。这些地方是.xaml文件和相关联的码后(code-behind)文件。码后文件的命名通常与该.xaml文件相同,只是添加编程语言的典型扩展名附于末端。例如,C#使用.xaml.cs,VB使用.xaml.vb,Jscript使用.xaml.js。将xmlns:def=”Definition”的名字空间加入根元素,以便使用将代码加入页面所需要的这些标签。用户通过将def:Language属性加入页面的根元素,选择与xaml页面关联的编程语言。例如,以下标签表现了如何将定义和语言属性加入根元素:<DockPanelxmlns=”http://microsoft.com/xaml/2005”xmlns:def=”Definition”xmlns:Language=”C#”>。
为了将代码加入包含“>”、“<”和/或“&”字符的xaml文件内,<def:Code>段中需要如XML中所定义的CDATA段。这样的例子如下所示(注意:在这个例子中,不需要该CDATA括弧,因为所包含的代码不使用“<”、“>”或“&”字符):
             <TextPanel xmlns=″http://microsoft.com/xaml/2005″xmlns:def=″Definition″
  xmlns:Language=″C#″>
                <Button ID=″buttonl″Click=″clicked″>Press this</Button>
                       <def:Code><![CDATA[
                              void clicked(Element target,ClickEventArgs args)
                              {
                                      buttonl.Text=″Hello World″;
                              }
                       ]]></def:Code>
             </TextPanel>
为了在码边(code-beside)文件中指定代码,要源属性。源属性将URI提供给xaml文件码后。URI可以是相对的,也可以是绝对的。指定URI和简单的码边文件的例子如下所示:
            <TextPanel xmlns=″http://microsoft.com/xaml/2005″xmlns:def=″Definifion″
  xmlns:Language=″C#″>
                <Button ID=″buttonl″Click=″clicked″>Press this</Button>
                       <def:Code Source=″Simple.xaml.cs″/>
                </TextPanel>
  The simple code-beside file is below:
  Simple.xaml.cs
            namespace MyApp{
              using System;
              using System.Windows;
              //more usings here
         partial class Simple:Page{
              void clicked(Object target,ClickEventArgs args)
              {
                      buttonl.Text=″Hello World″;
              }
         }
      }
xaml分析程序也支持所谓IliteralContent特征。对于实施IliteralContent的对象,xaml分析程序将该对象的标签视作字符串,并且不对该标签进行分析。例如,如果Public类FooObject实施IliteralContent,那么,只要xaml分析程序遇到标签<FooObject>”I am a string”</FooObject>,则分析程序就创建FooObject的实例,并将该<FooObject>标签内的数据(例如,”I am a string”)传递给新近创建的FooObject。
总之,当分析由元素/对象直接包含的这一个或多个根标签时,使用以下规则。参考图4,如果标签具有指定模式定位的xmlns属性,则就能找到有与xmlns属性关联的汇编/名字空间的定义文件并存储在本地(步骤400)。通常使用文档的根标签中或映射标签中的模式URL找到汇编/名字空间。如果标签是元素标签,则分析程序根据被元素指定的xml名字空间,查看该类的一组汇编/名字空间并例示该类的一个对象(步骤402)。如果没有找到类名,则xaml分析程序进行检验,以了解包含的父类是否具有该名的性质。如果它是该包含元素的性质,则xaml分析程序用复合性质规则分析该标签的内容。如果该标签是属性标签,则设置与该属性关联的性质或事件(步骤404)。如果该属性值以*开始,则该属性不是指定文字值,而是设置等同于新近例示的对象或现存对象的那个值。标签可以具有被用来在父标签上设置性质的标签。该标签是复合性质。如果该标签是复合性质,则遵循复合规则(步骤406)。这些规则如下。xaml分析程序确定复合性质是否是字符串。如果内容是字符串,则xaml分析程序为正在加以设置的该性质的合适类型调用类型转换器。如果父标签的内容是另一个标签,那么,xaml分析程序将例示该对象为“正常”。在例示该对象之后,xaml分析程序将它设置为该父对象上的性质值。如果标签的xmlns是“def:”,则xaml分析程序使用如下所述的一组内部含义(步骤408)。分析文件中的下一个标签(步骤410),并且,为每个标签重复步骤400~408,直到xaml分析程序检测到xaml文件的末端根标签。
从前文中可见,本发明提供了一种机制,该机制通过使用基于标识标签文件的XML表现对象模型。可以将对象模型表现为标识标签,来创建矢量图形、固定格式文档、适应流文档和应用程序UI。可以异步或同步地创建这些矢量图形、固定格式文档、适应流动文档和应用程序UI。这提供了一个好处,建立这些项目树,可以从标识到对象树。
固定格式文档按预定的、与设备无关的方式明确地定义文档页面的数量和尺寸,以及每页上的对象的布置。这为用户提供了创建和共享采用一种呈现相同页面格式的文档的能力,不管被用来观看该文档的实施系统。在一个实施例中,固定格式文档的这些根标签之一是<FixedPanel>,并且使用<FixedPage>标签来指定页面。在固定的页面内,可以使用几种类型的元素。这些元素包括文本、矢量图形和图像。指定外部资源例如,字体和共享的图像。用于文本的标签为该用户提供对单个的字符雕刻及其布置的精确控制。额外的标签为该用户提供对文本、矢量图形和图像在页面上的组合方式的控制。xaml分析程序为固定格式文档辨认标签。关于任何其他类型的.xaml文件,分析程序确定与这些标签关联的CLR名字空间和类,为xaml文件内的标签调用类型转换器,并且呈现固定格式文档。
适应流文档没有预定的页面大小。适应流文档中的文本、图像、DocumentElements和其他对象的集合可以流动,或者在该页面上重定位置,以便适应变化的页宽。例如,该显示屏幕上的窗口中所呈现的页面在不同的显示屏幕上可能会有不同的宽度,这取决于所使用的计算系统或取决于用户的喜好。打印页面将根据打印纸大小而具有不同的宽度。例如,如果该页面宽度较窄,则文本各行将具有较短的长度,从而使文本流动或按从文本行到文本行的串联顺序、将额外的单词重定位到该页更下面的各行上。使用属性来指定用户对适应流文档的出现方式的喜好。
xaml分析程序将这些属性传递给对象的CLR类型转换器,以创建文档。对象可以创建没页标的或有标页的描述。没页标的描述具有借助于控制器例如,垂直滚动条,在该显示屏幕上观看的单一无底页面。有页标的描述根据页面高度来将该文档内容分割成各段,并且分别显示每页,借助于控制器,例如,上页、下页按钮,在显示屏幕上观看的每个页面。另外的属性确定页面上的宽度和列数,关于所有文本元素的大小、文本行间距、所有图像或图表的尺寸和位置,以及页边空白和装订线的宽度。用户也可以经由属性来指定创建该文档的这些对象是否应该自动调整列、文本大小和行间距、图像尺寸和布置、页边空白和装订线以及其他页面或文本参数,以获得页面大小的最佳可读性。xaml分析程序分析适应流文档标签,确定与该标签关联的CLR名字空间和类,并且为提交适应流文档调用xaml文件所指定对象的类型转换器。
鉴于可以应用本发明原理的,许多可能的实施例,应该认识到:这里根据这些附图而描述的该实施例意在只起说明性作用,而不应该被视作于本发明的范围。例如,精通该技术领域的人将会认识到:说明性实施例用软件所示的的各个元件,亦可以用硬件执行,反之亦然;或者,在不脱离本发明的精神的前提下,可以在排列和细节方面修改这个说明性实施例。所以,如这里所描述的本发明计划可将所有这类实施例纳入以下权利要求书及其等价物的范围以内。

Claims (49)

1.一种方法,根据具有根标签的可扩展语言标识文件确定对象层次,其特征在于包括以下步骤:
根据该根标签和映射标签之一中的xmlns属性来确定名字空间定义文件,该名字空间定义文件具有包括至少一个汇编和至少一个名字空间的清单;
关于该标识语言文件中的每个标签:
将该标签的一个名称映射到至少一个名字空间中的一个类;
如果该标签有一属性,则:
将该属性映射到与该类关联的性质和事件之一以及与另一种类关联的另一个性质和另一个事件之一中的一项。
2.权利要求1的方法,其特征在于:进一步包括例示该类一对象的步骤。
3.权利要求1的方法,其特征在于:其中,将该标签的名称映射到该类的步骤包括这个步骤:至少在一个名字空间中搜索该标签的这个名称。
4.权利要求1的方法,其特征在于:其中,将该标签的名称映射到该类的步骤包括:将该标签的该名称映射到该类和该性质之一。
5.权利要求1的方法,其特征在于:其中,该属性有一属性名称,将该属性映射到与该类关联的性质和事件之一的步骤包括以下步骤:
该类的性质段中搜索该属性名称;以及,
如果该属性名称不在该类的该性质段中,则在该类事件段中的搜索该属性名称。
6.权利要求1的方法,其特征在于进一步还包括以下步骤:
如果该标签的名称具有由句点分开的第一部分和第二部分,则:
将该标签识别为属性,其中,这第一部分是类名称,这第二部分是指出性质和事件之一的属性名称;
至少一个名字空间中搜索该类名称;
至少一个名字空间中搜索该类名称的性质部分和事件部分之一的该第二部分;以及,
调用类型转换器,以便将该标签的字符串转换成对象,并设置该性质和该事件之一的一个值。
7.权利要求1的方法,其特征在于:其中,该性质和该事件之一是该性质,该方法进一步包括以下步骤:
如果该属性是文本串,则为被设置的该性质调用类型转换器;
如果该属性是一个其它标签,则:
根据该另一标签的名称寻找该类;
根据该另一标签的名称例示该类一对象;以及,
将该对象设置为该标签上的该性质的值。
8.权利要求1的方法,其特征在于:进一步包括这个步骤:如果该标签是一定义标签,则为该标签使用预定义含义。
9.权利要求8的方法,其特征在于:其中,为该标签使用预定义含义的步骤包括:如果该标签是一代码标签,则分析程序码。
10.权利要求1的方法,其特征在于进一步包括以下步骤:
如果该属性是具有作为值的文本串的复合性质,则:
调用类型转换器,以便将该文本字符串转换成对象;以及,
将该对象设置为该性质的这个值。
11.权利要求1的方法,其特征在于进一步包括以下步骤:
如果该属性是具有作为值的对象的复合性质,则:
创建该对象的实例;以及
将该对象设置为该性质的这个值。
12.权利要求1的方法,其特征在于进一步包括以下步骤:
例示该类的对象;
询问该对象,以了解该对象是否实施IApplyValue界面;
如果该对象实施IApplyValue界面,则用elementReference和BackgroundPropertyID作为值调用Object.ApplyValue;以及
如果该对象不支持该IApplyValue界面,则将属性的性质设置为该对象。
13.权利要求1的方法,其特征在于进一步包括以下步骤:
例示该类的对象;
如果该对象实施IliteralContent,则将该对象标签中的内容传递给该对象,而不分析该文本。
14.权利要求1的方法,其特征在于:其中,该xmlns属性具有指定资源目录的位置的链路,该方法进一步包括以下步骤:
从该资源目录中取出该名字空间定义文件;以及
将该名字空间定义文件存储在本地。
15.权利要求1的方法,其特征在于:其中,该根标签是一个标签,它指出:该可扩展语言标识文件是指定固定格式文档的文件;该方法进一步包括这个步骤:至少用一个名字空间中的类创建固定格式文档。
16.权利要求15的方法,其特征在于:其中,创建固定格式文档的步骤包括这些步骤:例示至少一个固定页面,至少有一个固定页面具有文本元素、矢量图形元素和图像之一。
17.权利要求1的方法,其特征在于:其中,该根标签是一标签,它指出:该可扩展语言标识文件是指定适应流文档的文件,该方法进一步包括这个步骤:使用被映射到至少一个名字空间中的类的标签,指定适应流动文档。
18.权利要求17的方法,其特征在于:其中,指定适应流文档的步骤包括这些步骤:指定具有,至少与文本大小和定位性质、该列性质的强度、显示性质、强调性质以及源性质之一有关联属性的标签。
19.权利要求1的方法,其特征在于:其中,该根标签是一标签,它指出:该可扩展语言标识文件是指定用户界面的文件;该方法进一步包括这个步骤:至少用一个名字空间中的类创建该用户界面。
20.一种其上存储有标识语言数据结构的计算机可读介质,其特征在于包括:
第一字段,它包含被映射到编程语言类的数据;以及,
第二数据字段,它包含被映射到该类中的性质和事件之一的数据。
21.权利要求20所述的计算机可读介质,其特征在于:进一步包括包含数据的第三字段,该数据指出用于检索定义文件的统一资源定位器,该定义文件具有用于解释这第一字段和第二字段的至少一个汇编和至少一个名字空间。
22.权利要求20的计算机可读介质,其特征在于:其中,如果这第二数据字段具有*字符,则在该数据结构的处理期间,将这第二数据字段设置为等同于新近例示的对象和现存参考对象之一的值。
23.权利要求20的计算机可读介质,其特征在于:其中,这第二数据字段上存储有复合性质;其中,当处理这第二数据字段时,如果这第二字段是文本串,则调用类型转换器。
24.权利要求23的计算机可读介质,其特征在于:其中,当处理这第二数据字段时,如果这第二字段是另一个标签,则找到基于这另一个标签的名称的类例示基于这另一个标签名称的该类的对象,并且将该对象设置为该标签上的一个性质的一个值。
25.一种具有计算机可执行指令的计算机可读介质,用于根据具有一个根标签的可扩展语言标识文件来确定对象层次,其特征在于:这些计算机可执行指令用于执行一些步骤,这些步骤包括:
根据该根标签和映射标签之一的xmlns属性确定名字空间定义文件,该名字空间定义文件具有至少包括一个汇编和一个名字空间的清单;
关于该标识语言文件中的每个标签:
至少一个名字空间中将该标签的名称映射到类;
如果该标签有属性,则:
将该属性映射到与该类关联的性质和事件之一以及与另一种类关联的另一个性质和另一个事件之一。
26.权利要求25的计算机可读介质,其特征在于:具有更多的计算机可执行指令,用于执行包括例示该类对象的步骤。
27.权利要求25的计算机可读介质,其特征在于,将该标签的名称映射到该类的步骤包括这个步骤:至少在一个名字空间中搜索该标签的名称。
28.权利要求25的计算机可读介质,其特征在于:其中,将该标签的名称映射到该类的步骤包括:将该标签的名称映射到该类和该性质之一。
29.权利要求25的计算机可读介质,其特征在于:其中,该属性具有属性名称,将该属性映射到与该类关联的性质和事件之一的步骤包括以下步骤:
在该类的性质部分搜索该属性名称;以及
如果该属性名称不在该类的该性质部分中,则在该类的事件部分中搜索该属性名称。
30.权利要求25的计算机可读介质,其特征在于:进一步具有用于执行一些步骤的计算机可执行指令,这些步骤包括:
如果该标签的名称具有由句点分开的第一部分和第二部分,则:
将该标签识别为属性,其中,这第一部分是类名称,这第二部分是指出性质和事件之一的属性名称;
至少在一个名字空间中搜索该类名称;
至少在一个名字空间中搜索该类名称的性质部分和事件部分之一中的这第二部分;以及
调用类型转换器,以便将该标签的字符串转换成对象,并设置该性质和该事件之一的值。
31.权利要求25的计算机可读介质,其特征在于:其中,该性质和该事件之一是该性质,该计算机可读介质具有用于执行一些步骤的更多的计算机可执行指令,这些步骤包括:
如果该属性是文本串,则设置的该性质调用类型转换器;
如果该属性是另一个标签,则:
根据这另一个标签的名称寻找该类;
根据这另一个标签的名称来例示该类的对象;以及
将该对象设置为该标签上的该性质的一个值。
32.权利要求25的计算机可读介质,其特征在于:它具有用于执行一个步骤的更多的计算机可执行指令,该步骤包括:如果该标签是定义标签,则该标签使用预定义含义。
33.权利要求32的计算机可读介质,其特征在于:其中,该标签使用预定义含义的步骤包括:如果该标签是代码标签,则分析程序码。
34.权利要求25的计算机可读介质,其特征在于:它具有用于执行一个步骤的更多的计算机可执行指令,该步骤包括:
如果该属性是具有作为值的文本串的复合性质,则:
调用类型转换器,以便将该文本串转换成对象;以及,
将该对象设置为该性质的这个值。
35.权利要求25的计算机可读介质,其特征在于:它具有用于执行一个步骤的更多的计算机可执行指令,该步骤包括:
如果该属性是具有作为值的对象的复合性质,则:
创建该对象的实例;以及,
将该对象设置为该性质的这个值。
36.权利要求25的计算机可读介质,其特征在于:它具有用于执行一些步骤的更多的计算机可执行指令,这些步骤包括:
例示该类的对象;
询问该对象,以了解该对象是否实施IApplyValue界面;
如果该对象实施IApplyValue界面,则用elementReference和作为值的BackgroundPropertyID调用Object.ApplyValue;以及,
如果该对象不支持该IApplyValue界面,则将属性的性质设置为该对象。
37.权利要求25的计算机可读介质,其特征在于:它具有用于执行一些步骤的更多的计算机可执行指令,这些步骤包括:
例示该类的对象;
如果该对象实施ILiteralContent,则将该对象的标签内容传递给该对象,而不分析该文本。
38.权利要求25的计算机可读介质,其特征在于:其中,该xmlns属性具有指定资源目录的位置的链路,该方法进一步包括以下步骤:
从该资源目录中取出该名字空间定义文件;以及
将该名字空间定义文件存储在本地。
39.权利要求25的计算机可读介质,其特征在于:其中,该根标签是一标签,它指出:该可扩展语言标识文件是指定固定格式文档的文件;该方法进一步包括这个步骤:使用至少一个名字空间中的类创建固定格式文档。
40.权利要求39的计算机可读介质,其特征在于:其中,创建固定格式文档的步骤包括这些步骤:至少例示一个固定页面,这至少一个固定页面具有文本元素、矢量图形元素和图像之一。
41.权利要求25的计算机可读介质,其特征在于:其中,该根标签是一标签,它指出:该可扩展语言标识文件是指定适应流文档的文件;该方法进一步包括这个步骤:至少使用映射到一个名字空间中的类的标签,指定适应流文档。
42.权利要求41的计算机可读介质,其特征在于:其中,指定适应流文档的步骤包括这些步骤:指定具有属性的标签,该属性与文本大小、文本行间距、图像尺寸、图像布置、页边空白、装订线之一以及列的宽度和数量有关联。
43.一种陈述定义对象的方法,其特征在于包括以下步骤:
将定义文件的位置的统一资源定位器(URL)映射到根标签和映射标签之一中的xmlns属性,该定义文件至少有一个名字空间;
至少在一个名字空间将标签名称设置为类名称;
如果该对象具有性质设置,则将该标签的属性设置为性质名称。
44.权利要求43的方法,其特征在于:进一步包括这个步骤:如果该对象具有被定义的事件,则将该标签的这个属性设置为事件名称。
45.权利要求43的方法,其特征在于:进一步包括这个步骤:对定义标签进行定义,以便将程序码之一加入页面和资源。
46.权利要求43的方法,其特征在于:其中,对定义标签一定义标签以便将该程序码之一加入该页面和这些资源的步骤包括:设置def:Code元素,以便将该程序码加入该页面。
47.权利要求43的方法,其特征在于:进一步包括这个步骤:对定义一标签,以增加与类没有关联的属性。
48.权利要求47的方法,其特征在于:其中,对定义一定义标签以便增加与类没有关联属性的步骤包括:设置def:Language属性,以指定编译代码用的语言。
49.权利要求43的方法,其特征在于:进一步包括这个步骤:将属性描述为由句点分开的第一部分和第二部分;这第一部分设置为对应于该类的类名称,在该类中,定义该性质和事件之一;这第二部分设置为该性质名称和该事件名称之一。
CNB038015897A 2003-05-16 2003-05-16 定义对象层次的说明机制 Expired - Fee Related CN100338595C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/015692 WO2004107195A1 (en) 2003-05-16 2003-05-16 Declarative mechanism for defining a hierarchy of objects

Publications (2)

Publication Number Publication Date
CN1615476A true CN1615476A (zh) 2005-05-11
CN100338595C CN100338595C (zh) 2007-09-19

Family

ID=33488770

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038015897A Expired - Fee Related CN100338595C (zh) 2003-05-16 2003-05-16 定义对象层次的说明机制

Country Status (6)

Country Link
EP (1) EP1639482A4 (zh)
JP (1) JP2006526180A (zh)
KR (1) KR101292982B1 (zh)
CN (1) CN100338595C (zh)
AU (1) AU2003248534A1 (zh)
WO (1) WO2004107195A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100456785C (zh) * 2006-03-21 2009-01-28 梁铁柱 用手机或小灵通发送姓名短信获取艺术签名设计的系统与方法
CN102004722A (zh) * 2010-10-19 2011-04-06 北京红旗中文贰仟软件技术有限公司 信息文档的处理方法及装置
CN102077533A (zh) * 2008-06-27 2011-05-25 环球电子有限公司 用于普适电器控制的系统和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370399B2 (en) * 2006-12-04 2013-02-05 Microsoft Corporation Building, viewing, and manipulating schema sets
US8099370B2 (en) 2007-04-03 2012-01-17 Microsoft Corporation System for financial documentation conversion
US9363258B2 (en) 2007-12-17 2016-06-07 International Business Machines Corporation Secure digital signature system
US8433697B2 (en) * 2011-09-10 2013-04-30 Microsoft Corporation Flexible metadata composition
KR101489677B1 (ko) * 2014-02-04 2015-02-16 주식회사아이보우솔루션 웹 기반 생애 주기 관리 시스템을 구축하기 위한 동적 어플리케이션 개발 서비스 제공 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6083276A (en) * 1998-06-11 2000-07-04 Corel, Inc. Creating and configuring component-based applications using a text-based descriptive attribute grammar
US6366934B1 (en) * 1998-10-08 2002-04-02 International Business Machines Corporation Method and apparatus for querying structured documents using a database extender
US6366943B1 (en) * 1999-03-31 2002-04-02 Brian Martin Clinton Adder circuit with the ability to detect zero when rounding
US6516322B1 (en) * 2000-04-28 2003-02-04 Microsoft Corporation XML-based representation of mobile process calculi
US6990653B1 (en) * 2000-05-18 2006-01-24 Microsoft Corporation Server-side code generation from a dynamic web page content file
US6853997B2 (en) 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US6990654B2 (en) * 2000-09-14 2006-01-24 Bea Systems, Inc. XML-based graphical user interface application development toolkit
EP1260911A1 (fr) * 2001-04-27 2002-11-27 Koninklijke Philips Electronics N.V. Structure de données interne pour application destinée à s'interfacer avec une interface pour un document de type HTML ou XML

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100456785C (zh) * 2006-03-21 2009-01-28 梁铁柱 用手机或小灵通发送姓名短信获取艺术签名设计的系统与方法
CN102077533A (zh) * 2008-06-27 2011-05-25 环球电子有限公司 用于普适电器控制的系统和方法
CN102077533B (zh) * 2008-06-27 2015-02-04 环球电子有限公司 用于普适电器控制的系统和方法
CN102004722A (zh) * 2010-10-19 2011-04-06 北京红旗中文贰仟软件技术有限公司 信息文档的处理方法及装置
CN102004722B (zh) * 2010-10-19 2013-08-21 北京红旗中文贰仟软件技术有限公司 信息文档的处理方法及装置

Also Published As

Publication number Publication date
WO2004107195A1 (en) 2004-12-09
KR101292982B1 (ko) 2013-08-02
AU2003248534A1 (en) 2005-01-21
KR20060061733A (ko) 2006-06-08
EP1639482A1 (en) 2006-03-29
JP2006526180A (ja) 2006-11-16
CN100338595C (zh) 2007-09-19
EP1639482A4 (en) 2009-10-28

Similar Documents

Publication Publication Date Title
US7331014B2 (en) Declarative mechanism for defining a hierarchy of objects
CN1249577C (zh) 用于遗留软件与屏幕朗读器程序之间的互操作的方法和装置
CN1750470A (zh) 数据共享系统、方法以及软件工具
CN100340985C (zh) 提高计算机软件应用程序粘贴功能的方法和系统
CN1615507A (zh) 用于作为图形布局/表示对象的宿主的系统
CN1495609A (zh) 在计算机生成文档中提供语境感测工具和帮助内容
CN101052948A (zh) 对象过程图应用程序开发系统
CN1969272A (zh) 自动生成内容的导入
CN1552026A (zh) 用于处理数据表示语言对象的编程语言扩展和相关应用
CN1731350A (zh) 图像处理装置及其控制方法
CN1811765A (zh) 文字处理应用程序中的数据绑定
CN1573749A (zh) 使用外部计划主题的Web网页绘制机制
CN1794218A (zh) 计算机版式文件生成方法和打开方法
CN1808377A (zh) 由非专属语言驱动的通用序列图生成器
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1199123C (zh) 信息处理装置、信息处理方法
CN1530860A (zh) 使用全局唯一标识符的数据搜索系统和数据搜索方法
CN1711522A (zh) 图形用户接口建模系统
CN101048728A (zh) 文档管理系统及其方法
CN1841373A (zh) 电子手册显示装置
CN1423194A (zh) 语法创建系统
CN1763748A (zh) 电子归档系统和电子归档方法
CN1290370A (zh) 连接通用计算机与专用系统的方法和装置
JP2002278757A (ja) Htmlアプリケーションにおいてユーザーインターフェースオブジェクトの文法ベースの認識のための方法及び装置
CN100338595C (zh) 定义对象层次的说明机制

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070919

Termination date: 20200516