在 XSL 中使用扩展函数进行导入或导出管理
要在 XSL 中使用扩展函数进行导入或导出管理,请执行以下步骤:
1. 确保已使用完整接口机制创建自定义 ExtensionFunction。
2. 在 XSL 文件中调用 ExtensionFunction 函数。
3. 创建用于实施 ExtensionFunctionDefinitionDelegate 的委派。
4. 将所有用户扩展函数注册到新创建的自定义类中。请参考以下示例:
public class ExtensionFunctionDefinitionsIXB implements ExtensionFunctionDefinitionDelegate{
private static final Logger logger = LogR.getLoggerInternal(ExtensionFunctionDefinitionsIXB.class.getName());
@Override
public ExtensionFunctionDefinition[] getExtensionDefinitions() {
if(logger.isDebugEnabled()) {
logger.debug("Checking Extension Function Definitions required for executing XSL.");
}
ExtensionFunctionDefinition[] defs = new ExtensionFunctionDefinition[] {
new ExtensionFunctionTest() // User created function list
};
return defs;
}
}
5. 向 <Windchill>/codebase/service.properties.xconf 文件添加新创建的委派条目。选择器必须由用户指定,如下所示:
◦ IXBExtenstionFunctions
◦ PDXExtenstionFunctions
例如,
<Option cardinality="duplicate" requestor="java.lang.Object" serviceClass="com.ptc.windchill.xsl.extn.ExtensionFunctionDefinitionsIXB" selector="IXBExtenstionFunctions" />
<Option cardinality="duplicate" requestor="java.lang.Object" serviceClass="com.ptc.windchill.xsl.extn.ExtensionFunctionDefinitionsPDX" selector="PDXExtenstionFunctions" />
如果用户在 XSL 文件中使用了 include 或 import 语句,请执行以下步骤:
1. 在 Windchill 主目录中创建新的 IXBExpImpIncludes 目录。
|
要使用 include 或 import 语句,用户必须将所有 XSL 文件添加到 IXBExpImpIncludes 目录下。
|
<xsl:import href="testIncludeBase.xsl"/>
<xsl:template match="/">
<xsl:call-template name="generateURLHref"></xsl:call-template>
</xsl:template>
请参阅下面的示例,以了解如何在导入规则 XSL 文件中使用 include 或 import 语句。