EOS+60+基础参考手册_xpath.doc_第1页
EOS+60+基础参考手册_xpath.doc_第2页
EOS+60+基础参考手册_xpath.doc_第3页
EOS+60+基础参考手册_xpath.doc_第4页
EOS+60+基础参考手册_xpath.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Primeton EOS 6.0 基础参考手册目录目 录第1章 模板使用说明1-11.1 特别说明1-11.2 标题1-21.3 图1-21.4 表1-21.5 并列关系和顺序关系1-31.5.1 并列关系1-31.5.2 顺序关系1-31.6 说明和注意1-41.6.1 单行文字1-41.6.2 多行文字1-41.6.3 表格中的说明1-41.7 代码1-5第2章 测试标题级别2-12.1 标题22-12.1.1 标题32-12.2 标题212-12.2.1 标题312-12.2.2 标题322-1第3章 客户端接入错误!未定义书签。3.1 概述3-13.2 相关概念3-13.2.1 服务存储库错误!未定义书签。3.2.2 服务上下文错误!未定义书签。3.2.3 服务消息处理拦截错误!未定义书签。3.2.4 用户对象权限验证错误!未定义书签。3.3 接口及方法说明3-43.3.1 包含的类3-43.3.2 类的方法3-5iPrimeton EOS 6.0 基础参考手册第1章 模板使用说明第1章 模板使用说明允许使用的样式都在本章中列出,请不要自定义其他样式,以免影响模板的正常使用。使用样式的方法为:从样式下拉列表框中选择,如图1-1所示。图1-1 样式使用说明正文文字统一使用“正文”样式,提供快捷键“F5”。1.1 特别说明从其他文档中拷贝粘贴时,请务必选择“仅保留文本”,如图1-2所示。否则会带入很多不属于本模板的非法样式,并破坏模板中的样式,本人概不负责!图1-2 粘贴请选择仅保留文本1.2 标题支持“标题1”“标题7”,共7级标题,不允许自定义其他标题样式。更换章(即标题1)时,请插入“分节符”。1.3 图贴图(包括界面截图、Visio图等)时,请选中图片,使用“Figure”样式,按“回车”键后,自动出现“Figure Description”样式的图说明。图编号会随着“标题1”的变化,重新开始编号。1.4 表表格上面可以先使用“Table Description”样式的表说明。表编号会随着“标题1”的变化,重新开始编号。插入一个表格后,按以下步骤设置表格样式:(1) 选中该表格左上角的标记,然后选择“Table”样式,设定整个表格的样式。(2) 选中表格的第一行,选择“Table Heading”样式,设定表头的样式。(3) 选中表格其他行,选择“Table Text”样式,设定表格文字的样式。举例如表1-1所示。表1-1 表格说明参数名称参数说明取值范围日期& 说明:更简便的方式是直接拷贝上表,修改内容即可。1.5 并列关系和顺序关系1.5.1 并列关系并列关系表述没有任何顺序,但同属于一个范畴的内容。使用“Item List”样式,如下:l 并列内容1l 并列内容2l 表格中的文字如需表示并列关系,请使用“Item List in Table”样式。如下表所示。表1-2 表格说明参数名称参数说明取值范围日期l 描述文字1l 描述文字21.5.2 顺序关系顺序关系表述有前后关联的内容,一般用于描述操作步骤等,如下:(1) 步骤1(2) 步骤2(3) & 说明:默认接续上一个步骤,有时需要重新从(1)开始编号,只需选中需要置为(1)的编号,右键单击,从弹出菜单中选择“重新开始编号”即可。表格中的文字如需表示顺序关系,请使用“Item Step in Table”样式。如下表所示。表1-3 表格说明参数名称参数说明取值范围日期(1) 描述文字1(2) 描述文字21.6 说明和注意1.6.1 单行文字对于单行文字的说明或注意,请拷贝如下样式,修改内容即可。头部使用“Notes Heading”样式,文字使用“Notes Text”样式。建议下面留一个空行。& 说明:更简便的方式是直接拷贝上表,修改内容即可。 注意:用户安装开发版时,系统会缺省安装JBOSS 3.2.5。开发版不支持其它应用服务器。1.6.2 多行文字对于多行文字的说明或注意,请拷贝如下样式,修改内容即可。头部使用“Notes Heading”样式,文字使用“Notes Text List”样式。建议下面留一个空行。& 说明:l 如果您想成为gocom社区用户,请到注册。l 用户选择安装社区版时,系统会缺省安装JBOSS 3.2.5。 注意:l 注意事项1。l 注意事项2。1.6.3 表格中的说明表格中的说明请拷贝如下样式。头部使用“Notes Heading in Table”样式,单行文字使用“Notes Text in Table”样式,多行文字使用“Notes Text List in Table”样式。表1-4 表格说明参数名称参数说明取值范围日期关于日期的描述& 说明:l 说明1l 说明2日期的取值范围& 说明:说明文字1.7 代码代码使用“Terminal Display”样式。3-8Primeton EOS 6.0 基础参考手册第2章 测试标题级别第2章 测试标题级别2.1 标题22.1.1 标题 标题.1 标题.1.1 标题.1.1.1 标题72.2 标题212.2.1 标题312.2.2 标题3 标题4 标题4.1 标题5.2 标题52Primeton EOS 6.0 基础参考手册Error! Reference source not found.Error! Reference source not found.第3章 XPath3.1 概述XPath提供了访问对象的内容的一组语法,通过该语法,可以遍历访问对象;这些对象可以以JavaBean,SDO,Map等各种形式存在,也可以是他们的混合形式。利用xpath语法,屏蔽和统一了这些对象的访问方式。3.2 相关概念3.2.1 XPath语法EOS支持的XPath语法如下:path := /? (step /)* stepstep := ? property| property index_from_1 |# ;如果是DOM节点,取节点的值| property . index_from_0| reference ? attribute = value | .property := NCName ; may be simple or complex typeattribute := NCName ; must be simple typereference : NCName ; index_from_0 := Digitsindex_from_1 := NotZero (Digits)?value := LiteralLiteral := * | * NotZero := 1-9Digits := 0-9+EOS XPath与SDO XPath的语法有以下差异l Step不支持.回溯 l 不支持schemel Value只支持字符串,不支持数字和布尔值l 支持/#,获取DOM节点的值举一个对DOM节点值的访问的例子,假设在一个混合对象JavaBean中,有一个Element类型的名称为elem的DOM对象。该DOM对象如下zhangsan那么就可以通过xpath语法elem/#获取DOM节点的值”zhangsan”了。根据上面列出的xpath语法,我们可以看到,除了标准Xpath语法外,EOS的Xpath语法额外添加了一种下标取值的语法,即.以0开始的下标。“department.0/name”相当于“department1/name”。3.2.2 XPath所支持访问的对象Xpath支持的访问的对象有以下几种:l Javabean:普通的java Bean对象l DataObject:SDO的DataObject对象l Collection包括数组,Listl Map:Map数据对象l Document:Document文档对象l PageContext:Http请求的PageContext对象l ServletContext:Http请求的ServletContext对象l HttpServletRequest:Http请求的ServletRequest对象l HttpSession:Http请求的HttpSession对象3.2.3 类型映射(type mapping)在根据xpath创建对象,对对象属性进行赋值的时候,如果不能够从对象的数据元信息(比如从DataObject的Type中获取的属性,从JavaBean,Map中获取属性的类型)中得到当前要创建的节点信息,那么就需要根据类型映射获取该节点的类型。在根据xpath,对对象进行赋值操作时,如果要动态创建对象或属性,那么类型映射的规则如下:Key(前缀是xpath:)Value备注xpath:xpath表达式java:实现类的名称如果实现类的名称是以 为后缀的,表示要创建一个数组xpath:xpath表达式sdo:DataObject类型名称如果类型名称是以 为后缀的,表示要创建一个DataObject数组例如:对于xpath和java实现类型的映射com.primeton.java包下有类AddressTypeclass AddressTypeprivate String type;public void setType(String)this.type=type;XPathLocator locator=XPathLocator.getInstance();Map typeMapping=new HashMap();typeMapping.put(“xpath:/property”,”java:com.primeton.java.AddressType”);locator.setTypeMappings(typeMapping);locator.setValue(new HashMap(),”/property/type”,”test”);XPathLocator locator2=XPathLocator.getInstance();Map typeMapping2=new HashMap();typeMapping2.put(“xpath:/property”,”java:com.primeton.java.AddressType”);locator2.setTypeMapping(typeMapping2);locator2.setValue(new HashMap(),”property1/type”,”test”);对于xpath和DataObject实现类型的映射定义了类型为com.primeton.sdo.AddressType的sdo数据对象,它包含有名称type的属性XPathLocator locator=XPathLocator.getInstance();Map typeMapping=new HashMap();typeMapping.put(“xpath:/property”,”sdo:com.primeton.java.AddressType”);locator.setTypeMappings(typeMapping);locator.setValue(new HashMap(),”/property/type”,”test”);XPathLocator locator2=XPathLocator.getInstance();Map typeMapping2=new HashMap();typeMapping2.put(“xpath:/property”,”sdo:com.primeton.java.AddressType”);locator2.setTypeMapping(typeMapping2);locator2.setValue(new HashMap(),”property1/type”,”test”);3.3 规则和约束3.3.1 类型映射设置类型映射时,对于集合类型(List),不支持设置集合的元素类型。比如类似下面的类型映射是不支持的Map typeMapping=new HashMap();typeMapping.put(“xpath:/property”,”java:java.util.ArrayList”)3.3.2 动态的创建节点 节点的父对象为Map结构当该节点的父对象为Map,且该节点没有指定类型映射,则会为该节点生成HashMap或者Object数组,具体生成哪种类型,根据xpath表达式语法而定;当xpath的节点xpath为propertyindex(其中index从1开始)时,生成Object数组;否则生成HashMap对象。XPathLocator locator=XPathLocator.getInstance();locator.setValue(new HashMap(),”property1”,”test”);等同于Map root=new HashMap();Object data=new Object1;data0=”test”;root.put(“property”,data);XPathLocator locator2=XPathLocator.getInstance();locator2.setValue(new HashMap(),”property/subProperty”,”test”);等同于Map root=new HashMap();Map subMap=new HashMap();subMap.put(“subProperty”,”test”);root.put(“property”,subMap); 节点的父对象为非Map的结构当需要动态创建的节点的父对象为其他类型,则会根据父对象的元信息,取得该节点所对应的类型。如果该类型是一个可实例化的对象,就创建对象。否则就根据类型映射查找该节点对应的类型,创建对象,如果没有查找到,就抛异常定义了这样一个类CompoundClassclass CompoundClassprivate List datas;public List getDatas()return this.datas;public void setDatas(List datas)this.datas=datas;CompoundClass clazz=new CompoundClass();XPathLocator locator=XPathLocator.getInstance();locator.setValue(new HashMap(),”property1”,”test”);等同于Map root=new HashMap();Object data=new Object1;data0=”test”;root.put(“property”,data);XPathLocator locator2=XPathLocator.getInstance();locator2.setValue(new HashMap(),”property/subProperty”,”test”);等同于Map root=new HashMap();Map subMap=new HashMap();subMap.put(“subProperty”,”test”);root.put(“property”,subMap);3.3.3 对DOM进行访问 对Node的xpath数据读取约束对Node进行xpath访问的时候,Document或者Element的根的名称被忽略。比如JavaBean中有一个名称为dom的Document对象,名称为elem的Element对象。class JavaBeanprivate Document dom;private Element elem;publc Document getDom()return dom;public Element getElem()return elem;其中dom和elem属性都是下面的结构 那么访问Document 的order节点的xpath为 /dom/order访问Element的order节点的xpath为 /elem/order 对Node的xpath操作对Node进行操作时, XPathLocator 中的addValue , setValue,getValues都有特定的语义。相关的语义结合下面的例子说明:addValue 数据: xxxx yyyyy 场景一: addValue(/Account/Addressid=1, jjjj); 结果: xxxxjjjj yyyyy 场景二: addValue(/Account/Order, customerNode); 结果: xxxx yyyyy 场景三:setValue(/Account/Order, newOrderNode) xxxx yyyyy 场景四:List nodes=getValues(“Account/Address”)获取到了Account/Address的结点列表3.4 接口及方法说明3.4.1 包含的类表3-1 xpath包含的类类名描述com.eos.data.xpath.XPathLocator使用XPath语法对各种混合对象进行取值和设置的类3.4.2 类的方法 com.eos.data.xpath.XPathLocator.1 类的说明使用XPath语法对各种混合对象进行取值和设置的类。.2 类的方法表3-2 com.eos.data.xpath.XPathLocator类的方法方法说明void setTypeMappings(Map mappin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论