У меня есть один файл xsl и 2 входных xml-файла, из которых должен быть сгенерирован вывод. В одном XML-файле это несколько пространств имен, которые импортируются в файл xsl. Но в другом XML-файле пространство имен не существует. Я должен обрабатывать свой XSL таким образом, что он может обрабатывать оба файла XML, поскольку XSL является общим для обоих входных XML-файлов. Пожалуйста, предложите.Обработка пространства имен
пространство имен в 1-ом файле 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">
пространство имен в 2-ом файле 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 файл отлично работает с 1-м XML. Но со вторым файлом XML это плохо работает из-за проблемы пространства имен.
Как и в вопросе, у меня есть несколько пространств имен, поэтому мне нужно создать несколько шаблонов! – Kundan
Возможно, вы недостаточно внимательно прочитали. Мой совет заключается в предварительной обработке ввода, так что он использует стандартизированные пространства имен. Затем на вашем основном этапе обработки вам не придется иметь дело с ненужным разнообразием. –