除了 XPath 1.0 核心函数库和 JET 指定的 XPath 函数之外,下列函数也可用于 EMF 和 UML 数据集的表和列映射。
- getDiagrams(
)
- getDiagramImage(
, , )
- getDiagramHtmlImage(
, , , )
- getXMIID(
)
- getXMIType(
)
- getURI(
)
- resolveURI()
- instanceOf(
, )
- oclQuery(
, )
- oclEvaluate(
, )
- getElementsWithStereotype(
, )
- getStereotypePropertyValue(
, )
注: 在 XPath 语句中使用返回集合的函数时,请将集合该视为基于 1 的带索引集合。
Collection<Diagram> getDiagrams
(xpath)
此函数采用一个或多个 UML 元素的 XPath 表达式,并返回这些元素所包含的 UML 图的集合。
- 自变量:
- xpath:一个或多个 UML 元素的 XPath 表达式
- 结果:
- 指定的 UML 元素包含的 UML 图集合
- 应用:
- 在“行映射”页面上,使用此函数来生成 UML 图的集合。
- 在“列映射”页面上,使用此函数来进一步查询该集合(例如,为了获取该集合的 count 值)。
- 此函数可用于 UML 驱动程序。
- 示例:
- 以下示例将返回模型中的所有图:
getDiagrams( //*)
返回顶部
Blob getDiagramImage (xpath,
[resWidth], [resHeight])
此函数采用图元素的 XPath 表达式,并返回图像数据的 BLOB,如果指定了最大分辨率,那么该 BLOB 受限于最大分辨率。
- 自变量:
- xpath:图元素的 XPath 表达式
- resWidth (optional):表示最大分辨率宽度(以像素计)的 int
- resHeight (optional):表示最大分辨率高度(以像素计)的 int
- 结果:
- 图像数据的 BLOB
- 应用:
- 在“列映射”页面上使用此函数来设置图像列。可以将该列用作动态图像元素的输入。使用可选的最大分辨率参数来控制呈现图像时所需的内存。分辨率越低,那么所需的内存就越少;但是,图像质量也会较差。
- 可以省略这两个可选自变量,也可以对它们指定值 -1,以指示未对维度指定最大分辨率。要使报告更灵活,请将分辨率值以报告参数的形式展现给用户,而不是将这些值进行硬编码。
- 如果安装了 oda-diagrams 插件,那么此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回没有限制的图像:
getDiagramImage(.)
- 以下示例将返回与上一示例相同的结果:
getDiagramImage(., -1, -1)
- 以下示例将返回最大分辨率为 800 x 600 像素的图像:
getDiagramImage(., 800, 600)
- 以下示例将使用报告用户指定的最大分辨率返回图像:
getDiagramImage(., $resWidth, $resHeight)
返回顶部
String getDiagramHtmlImage
(xpath, genPath, [tileWidth], [tileHeight])
此函数采用图元素的
XPath 表达式,并返回一个表示 HTML 代码片段的字符串,该片段用于呈现平铺方式的图像。
- 自变量:
- xpath:图元素的 XPath 表达式
- genPath:用于平铺生成的文件系统上临时目录的路径
- tileWidth (optional):图像平铺的最大宽度(以像素计)
- tileHeight (optional):图像平铺的最大高度(以像素计)
- 应用:
- 在“列映射”页面上使用此函数来设置图像列。可以将该列用作动态文本 (HTML) 元素的输入。此函数通过将图像分割成多个平铺部分来呈现图像,平铺部分的大小由可选参数
tileWidth 和 tileHeight 指定。
- 可以省略这些可选参数,也可以对它们指定值 -1,以指示缺省平铺大小。将在指定的
genPath 文件夹中生成平铺图像。调用此函数后,不会清除此文件夹,重复调用会覆盖先前图像而不发出警告。使用平铺大小来控制呈现图时所需的最大内存。平铺大小越小,那么所需的内存就越少;但是,平铺数目会较大。
- 仅将此函数与不限制页大小的报告输出格式(例如,HTML)配合使用。
- 要使报告更灵活,请将 genPath 和 tile-size 值以报告参数的形式展现给用户,而不是将这些值进行硬编码。
- 如果安装了 oda-diagrams 插件,那么此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将使用缺省平铺大小来分割图像:
getDiagramHtmlImage(., "c:/temp")
- 以下示例将返回与上一示例相同的结果:
getDiagramHtmlImage(., "c:/temp", -1, -1)
- 以下示例将使用平铺大小 1000 x 1000 像素来分割图像:
getDiagramHtmlImage(., “c:/temp”, 1000, 1000)
返回顶部
String getXMIID (xpath)
此函数采用元素的 XPath 表达式,并返回元素的 XMI 标识值。
- 自变量
- xpath:元素的 XPath 表达式
- 结果:
- 元素的 XMI 标识值
- 应用:
- 在“列映射”页面上使用此函数。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例
- getXMIID(.)
返回顶部
String getXMIType (xpath)
此函数采用元素的 XPath 表达式,并返回元素的 XMI 类型值。
- 自变量:
- xpath:元素的 XPath 表达式
- 结果:
- 元素的 XMI 类型
- 应用:
- 在“列映射”页面上使用此函数。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回当前元素的 XMI 类型。
- getXMItype(.)
返回顶部
String getURI (xpath)
此函数采用一个解析为单个元素的
XPath 表达式,并返回该元素的 URI 的字符串表示。URI 在资源之间唯一,这使它成为要用于连接数据集的相应列。
- 自变量:
- xpath:单个元素的 XPath 表达式
- 结果:
- 元素的 URI 字符串
- 应用:
- 在“列映射”页面上使用此函数。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回一个表示当前元素的 URI 的字符串:
getURI(.)
返回顶部
EObject resolveURI (uri)
此函数解析指定的 URI 并返回对应的元素。
- 自变量:
- uri:元素的 URI
- 结果:
- 具有指定 URI 的元素
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将解析作为数据集参数传递的元素的 URI:
resolveURI($element)
注: 使用 resolveURI 函数时,请考虑清除“行映射”页面中的评估每个数据源实例模型复选框。该决策依赖于表达式中的导航:
返回顶部
Collection<EObject> instanceOf
(xpath, type)
此函数采用 XPath 表达式和类型字符串,并返回找到的该类型所有元素的集合。
- 自变量:
- xpath:一个或多个元素的 XPath 表达式
- type:格式为 (packagePrefix:typeName) 的字符串,表示限定的元类型
- 结果:
- 符合指定类型的元素的子集合
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数。
- 在“列映射”页面上,使用此函数来返回元素集合,然后使用其他 XPath 表达式(例如,count)来查询简单值。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回类型为 uml:Class 的所有元素:
instanceOf(//*, "uml:Class")
返回顶部
Collection<EObject> oclQuery (xpath,
boolean_ocl_expression)
此函数采用 XPath 表达式和布尔值
OCL 查询表达式,并返回 XPath 表达式中 OCL 查询对其返回了 true 的元素的子集。
- 自变量:
- xpath:XPath 表达式
- boolean_ocl_expression:布尔值 OCL 查询字符串
- 结果:
- 符合指定类型的元素的子集合
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数。
- 在“列映射”页面上,使用此函数来返回元素集合,然后使用其他 XPath 表达式(例如,count)来查询简单值。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回类型为 uml::Dependency 的所有元素:
oclQuery(//*, "self.oclIsKindOf(uml::Dependency)")
返回顶部
Object oclEvaluate (xpath , ocl_expression)
此函数采用单个元素的
XPath 表达式和 OCL 查询字符串,并在评估对该元素的查询后返回结果。
- 自变量:
- xpath:单个元素的 XPath 表达式
- ocl_expression:OCL 查询字符串
- 结果:
- 对指定的元素计算 OCL 表达式的结果
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数来对元素计算 OCL 表达式。
- 此函数可用于 UML 驱动程序和 EMF 驱动程序。
- 示例:
- 以下示例将返回模型中的所有嵌套包(“行映射”页面):
oclEvaluate(Model, ”self.nestedPackages”)
- 以下示例将返回元素名称(“列映射”页面):
oclEvaluate(., "name")
返回顶部
Collection<Element>
getElementsWithStereotype (xpath, stereotype)
此函数采用一个或多个
UML 元素的 XPath 表达式和一种构造型,并返回具有给定构造型的元素的集合。
- 自变量:
- xpath:一个或多个 UML 元素的 XPath 表达式
- stereotype:构造型的标准名称,格式为 (profileName::stereotypeName)
- 结果:
- 应用了指定构造型的元素的子集合
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数。
- 在“列映射”页面上,使用此函数来获取元素集合,然后使用其他 XPath 表达式(例如,count)来查询简单值。
- 此函数仅可用于 UML 驱动程序。
- 示例:
- 以下示例将返回类型模型中作为业务目标的构造型的所有元素:
getElementsWithSterotype(//*, "Business Modeling::BusinessGoal")
返回顶部
Object getStereotypePropertyValue
(xpath, property)
此函数采用单个 UML 元素的 XPath 表达式和一个构造型属性,并返回给定构造型属性的值。
- 自变量:
- xpath:单个 UML 元素的 XPath 表达式
- property:构造型属性的标准名称,格式为 (profileName::stereotypeName::propertyName)
- 应用:
- 在“列映射”页面或“行映射”页面上使用此函数。
- 此函数仅可用于 UML 驱动程序。
- 示例:
- 以下示例将返回表示业务规则种类的枚举文字,句点表示该业务规则:
getStereotypePropertyValue( . , "Business Modeling::BusinessRule::Kind")
返回顶部
注: 某些信息(例如与 Eclipse 文档或开发者指南的链接)只能从随产品安装的帮助主题中获取。