当前位置: 首页 > 专利查询>微软公司专利>正文

根据模式的命令行外壳命令生成制造技术

技术编号:6984903 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及根据模式的命令行外壳命令生成,提供一种代码生成工具,能够在编译时或运行时从诸如XSD模式的一模式创建命令外壳命令。代码生成器生成各个类以表示由模式定义的数据,且命令外壳生成代码可使用这些类的知识来生成合适的命令外壳类以操作数据。在由代码生成工具生成的类模型的优化之后,可插入插件。插件能够修改模型,插入它们自己的代码,或者禁止代码生成并从模型中生成它们自己的代码。

【技术实现步骤摘要】

本专利技术涉及代码生成工具,尤其涉及根据模式的命令行外壳命令生成
技术介绍
命令外壳是支持操作系统内的一些基本命令的常规命令行解释器。在一些情况下,可提供单独的控制台应用程序,以被从这些外壳中调用。它们也可包括脚本语言(批处理文件),其可用来自动执行各种任务。然而,它们不是旨在自动化操作系统的图像用户界面(⑶I)功能的所有方面,这部分是由于通过该图像界面展示的操作的命令行等效物是有限的,而且脚本语言通常是初级的并且不允许创建复杂脚本。结构化文档,例如可扩展标记语言(XML)文档在计算中普遍使用。XML模式文档或 XSD是以XML模式语言编写的文档。XSD可用来表达这样一组规则,XML文档必须遵守以便依照这一模式被视为有效。但是,不像其他模式语言,依照XSD确定文件的有效性会产生依附于特定数据类型的信息集。命令外壳命令(也被称为”cmdlet”)可能不足以修改由XSD 模式定义的数据,尤其是当模式数量众多时。
技术实现思路
提供本
技术实现思路
是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。各实施例涉及一种代码生成工具,其能够在编译时从诸如XSD模式的一模式中创建命令外壳命令或“cmdlet”。也可在运行时生成cmdlet。代码生成器可生成类,以表示由模式定义的数据,且命令外壳生成代码可使用类的知识来生成合适的命令外壳类以操作数据。根据其他实施例,在优化由代码生成工具生成的类模型之后,可插入插件。插件可修改模型,插入它们自己的代码,或者禁止代码生成并从模型中生成它们自己的代码。通过阅读下面的具体实施方式并参考相关联的图形,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下具体实施方式均仅是说明性的,且不限制所要求保护的各方面。附图说明图1是示出在根据各实施例的系统中如何由管理者通过应用程序编程接口(API) 来操作依照一模式的数据的概念图。图2是示出根据各实施例的系统中的主要组件和交互的另一概念图。图3是示出根据各实施例的系统中的步骤流程的方框图。图4是其中可实现根据各实施例的系统的联网环境。图5是其中可实现各实施例的示例计算操作环境的框图;以及图6示出根据各实施例的从XSD模式自动生成命令外壳命令的过程的逻辑流程图。具体实施例方式如上概述,可从诸如XSD的模式中自动生成命令外壳命令(cmdlet)以允许用户操作根据该模式结构化了的数据。代码生成器可生成类,以表示由该模式定义的数据,且命令外壳生成代码可使用类的知识来生成合适的命令外壳类,以操作数据。可使用引用普通模型的插件来生成任何类型的代码,而不需要解析这些模式。在以下详细描述中,参考了构成了详细描述的一部分的附图,其中以图解的方式示出了具体实施方式或示例。可组合些方面,可利用其他方面,并且可以做出结构上的改变而不背离本专利技术的精神或范围。因此,以下具体实施方式并不旨在限制,并且本专利技术的范围由所附权利要求及其等效方案来限定。虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施方式,但是本领域技术人员会认识到各方面也可以结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,如本领域技术人员理解的,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、小型计算机、大型计算机以及类似计算设备。各实施方式还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。各实施例可被实现为计算机实现的过程(方法)、计算系统、或者如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使得计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。贯穿本说明书,术语“平台”可以是用于管理计算系统的软件和硬件组件的组合。 平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个服务器上执行的应用程序以及类似系统。术语服务器一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可被实现为视作网络上的服务器的、在一个或多个计算设备上执行的虚拟服务器(软件程序)。关于这些技术和示例操作的更多细节在以下提供。图1包括示出在根据各实施例的系统中如何由管理者通过应用程序编程接口 (API)来操作依照一模式的数据的概念图100。模式(或模式文档)是元数据的抽象集,包括一组模式组件,例如元素和属性声明,以及复杂和简单类型定义。可通过处理模式文档集来创建各组件,模式文档集可包含这些组件的源语言定义。可由名称空间来组织模式文档。所有命名的模式组件属于一个目标名称空间,且该目标名称空间是模式文档作为整体的属性。模式文档可包含相同名称空间的其他模式文档,也可导入不同名称空间的模式文档。当对照一模式验证文档的实例时,可把要用来验证的模式作为参数提供给验证引擎,或者使用特别属性从文档实例中直接引用它。可将该模式用来生成人类可读文献和/或代码。该代码允许XML文档内容在编程环境内被当作对象处理。如图示100所示,数据存储102可依照诸如XSD的特定模式将数据储存在文档中。 XSD可用来表达这样一组规则,XML文档必须遵守以便依照该模式被视为“有效”。根据一些实施例,通过API 106访问XML文档104的管理者110可使用命令外壳命令或cmdlet来操作XML文档104。可提供命令外壳来作为管理者计算设备108的操作系统的部分。cmdlet 是被设计来通过命令外壳展示功能的专用类。如果命令是可执行文件,命令外壳可在单独进程中启动它。另一方面,cmdlet在命令外壳进程中执行。命令外壳也可提供交互命令行接口,其中可输入命令并显示它们的输出 。命令外壳还允许创建cmdlet的别名,别名可由命令外壳文字上地翻译成原始命令的调用。命令外壳也可支持命令的已命名参数和位置参数两者。在执行cmdlet中,可由命令外壳自身执行将自变量值绑定到参数的工作。如前所述,cmdlet是命令外壳环境中实现特定功能的专用命令。这些是命令外壳堆栈中的本机命令。cmdlet可跟随一 <verb>-<n0un> 动词 >-< 名词 >)命名格式,使它们成为自描述的。Cmdlet可输出它们的结果作为对象,或者包含数组的对象集,且可选择性接收那个形式的输入。但是,cmdlet始终个别地处理对象。对于对象集,命令外壳可在集合中的每一对象上按顺序调用cmdlet。cmdlet类的实现可指向任何API 106。命令外壳可确保特定API是可用的,例如 WriteObjectO,其用于访问命令外壳特定功能,诸如将结果对象写入到流水线。可使用驱动器号来展示诸如数据存储102的数据存储,且它们的内部层级可通过目录来寻址。图2包括示出根据各实施例本文档来自技高网...

【技术保护点】
1.一种至少部分在计算设备中执行的,用于根据一模式的自动命令外壳命令代码生成的方法,所述方法包括:接收所述模式(610);生成与所述模式相关联的类的模型(630);优化所述模型以允许直接将所述模式转换成应用程序编程接口API(640);以及生成命令代码以允许根据由已优化的模型定义的类来操作按照所述模式结构化了的数据(650)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:J·卡列夫E·杨N·A·卡梅达
申请(专利权)人:微软公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1