我有一个 xsl 文件和 2 个输入 xml 文件,要从中生成输出。在一个 XML 文件中,它们是一些被导入 xsl 文件的命名空间。但在其他 XML 文件中,名称空间不存在。我必须以可以处理两个 XML 文件的方式处理我的 XSL,因为 XSL 对于两个输入 XML 文件都是通用的。请建议。
第一个 XML 文件中的命名空间 ->
<TreeList xmlns="urn:sfti:documents:BasicTreeList:1:0"
xmlns:cac="urn:sfti:CommonAggregateComponents:1:0"
xmlns:cbc="urn:oasis:names:tc:ubl:CommonBasicComponents:1:0"
xmlns:ccts="urn:oasis:names:tc:ubl:CoreComponentParameters:1:0"
xmlns:cur="urn:oasis:names:tc:ubl:codelist:CurrencyCode:1:0"
xmlns:sdt="urn:oasis:names:tc:ubl:SpecializedDatatypes:1:0"
xmlns:udt="urn:oasis:names:tc:ubl:UnspecializedDatatypes:1:0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
第二个 XML 文件中的命名空间 ->
<TreeList xmlns:cac="urn:sfti:CommonAggregateComponents:1:0"
xmlns:cbc="urn:oasis:names:tc:ubl:CommonBasicComponents:1:0"
xmlns:ccts="urn:oasis:names:tc:ubl:CoreComponentParameters:1:0"
xmlns:cur="urn:oasis:names:tc:ubl:codelist:CurrencyCode:1:0"
xmlns:sdt="urn:oasis:names:tc:ubl:SpecializedDatatypes:1:0"
xmlns:udt="urn:oasis:names:tc:ubl:UnspecializedDatatypes:1:0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
XSL 文件中的命名空间 ->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:abc="urn:sfti:documents:BasicTreeList:1:0"
xmlns:cac="urn:sfti:CommonAggregateComponents:1:0"
xmlns:cbc="urn:oasis:names:tc:ubl:CommonBasicComponents:1:0">
当我运行我的 XSL 文件时,它使用第一个 XML 运行良好。但由于命名空间问题,它不适用于第二个 XML 文件。