变换筛选器
筛选器是可供从降级交付 zip 中移除 XML 文件的构件,这些构件不适用于给定的目标版本。变换筛选器可以是基于名称、基于 XPath 或基于 Java 的类型。
假定执行这些配置的应用程序开发人员具备 JAVA、XML 和 XSL 方面的专业知识。
基于名称的筛选器
应用此筛选器可从新的降级交付 zip 文件中移除元素。例如,在最新的 Windchill 版本中引入了新的对象类型,但是任何以前的 Windchill 版本都不支持该对象。
在指定基于标记名称的筛选器时,将后缀 _filter.properties 添加到标记名称中。
添加要移除的元素,值以逗号进行分隔。
具有基于标记的筛选器配置的 filter.properties 文件的示例:
tagsToFilter=WTChangeOrder2,WTChangeActivity2,LWWfProcess,LWWfAssignmentEventAudit,LWWfAssignedActivity,LWWorkItem contentInclusionCriteria=+;-WCTYPE|wt.doc.WTDocument
其中 contentInclusionCriteria 列出了要在同步交付中排除或包括的对象类型。这些排除项或包含项从左到右进行累积评估。
+:默认情况下包括所有对象类型。
-WCTYPE|wt.doc.WTDocument:排除 WTDocument 对象。
filter.properties 文件位于 <windchill_代码库>\registry\transformationEngine\filter\<releaseId>\
基于 XPath 的筛选器
此筛选器配置基于 XPath。当要移除给定值的给定属性的对象特定 XML 时,请应用此筛选器。例如,在当前版本中引入了一个新的可变类型,并且与该可变类型相关的所有 XML 文件都必须在降级交付中移除。
指定 XPath 筛选器时,请将后缀 _xpath_filter.xml 添加到名称中。
xpath_filter.xml 文件位于<windchill_代码库>\registry\transformationEngine\filter\<releaseId>\
基于 Java 的筛选器
如果要根据基于名称的筛选器和基于 XPath 的筛选器的筛选结果来执行持续性查询以移除其他对象,请使用此筛选器配置。应用此筛选器的一个示例是:如果可变类型无效,则将筛选出对数据完整性有影响的所有必需依存对象。
这些筛选器用于从降级交付包中筛选 XML 文件。如果 XML 文件不支持降级属性,请考虑使用 XSL 变换脚本来设置筛选器配置。
在同步交付中,对象的内容会被排除。这样做是为了减小同步 zip 交付的大小。如果在降级期间筛选对象,则其内容将包括在同步交付中。要包括除除筛对象以外的其他对象的内容,请在 filter.properties 中配置 contentInclusionCriteria 特性。
例如,要排除类型为 WTDocument 的内容,请将 filter.properties 定义为 contentInclusionCriteria=+;-WCTYPE|wt.doc.WTDocument。有关详细信息,请参阅“基于名称的筛选器”部分。
元素处理程序
元素处理程序是基于 Java 变换 API 的变换调用程序。可以为给定元素标记配置这些元素处理程序。对于每个元素,会在以下三个阶段进行变换:
1. 预处理阶段,设置准备 XML 文件以进行变换所需的操作。对于无法通过 XSL 处理的用例,这是必需的。对象所有者可以决定预处理方法,以提供其预处理逻辑。框架为特性调用已注册元素处理程序的预处理。
2. 变换阶段,基于 XSL 中的配置集将 XML 文件转换为目标 XML 文件。
3. 后处理阶段,包括用于元素变换处理的变换后 XML 文档和验证活动。对象所有者可以决定后处理方法,以提供其后处理逻辑。框架为特性调用已注册元素处理程序的后处理。
内容变换
默认情况下,将在降级进程中复制内容。要更新降级进程中的内容,请执行以下操作:
1. 通过从 XSLTransformElementHandler 扩展来创建元素处理程序。覆盖方法以使 ContentTransformationRequired 返回 true。
2. 如果不需要元数据变换,则覆盖变换方法并按原样返回集合。这样可提高性能,方法是不仅仅出于复制目的而调用 XSLT 处理器。
3. 通过扩展 ContentTransformer 来实现任务。
4. 根据需要实现方法。ContentTransformer 中的调用方法应能够执行以下操作:
a. 将内容下载到一个临时位置。
b. 根据需要降级内容。
c. 返回降级内容的 inputstream
5. xconf 文件中注册任务。有关详细信息,请参阅使用 xconfmanager 实用程序
这对您有帮助吗?