Я пытаюсь скопировать данные из файла2 в файл1 с помощью преобразования xsl.Я могу скопировать данные, но моя проверка xsd не удалась в получающемся XML-файле.Пожалуйста, помогите мне правильно скопировать данные.Вот мой код: file1.xml:
<Org>
<Security xmlns:saxon="http://saxon.sf.net" />
</Org>
file2.xml:
<Profile>
<Policy>Policy1</Policy>
<PolicyValue>Value1</PolicyValue>
</Profile>
result.xml:
<Org>
<Security xmlns:saxon="http://saxon.sf.net">
<Security>
<Profile>
<Policy>Policy1</Policy>
<PolicyValue>Value1</PolicyValue>
</Profile>
</Security>
</Security>
</Org>
Желаемый вывод:
<Org>
<Security xmlns:saxon="http://saxon.sf.net">
<Profile description="SecurityProfile">
<Policy description="SecurityProfile">Policy1</Policy>
<PolicyValue description="SecurityProfile">Value1</PolicyValue>
</Profile>
</Security>
</Org>
Вот код из моего xsl-файла:
<xsl:template match="*[local-name()='Org']/*[local-name()='Security']]">
<xsl:variable name="description" select="document($lookup)/Entity/@description" />
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:copy>
<xsl:copy-of select="document($lookup)/Profile" />
</xsl:copy>
<xsl:apply-templates select="node()" />
</xsl:copy>
</xsl:template>
В моем выходном файле есть вложенный элемент безопасности, который вызывает ошибку проверки.Может кто-нибудь, пожалуйста, помогите мне в решении проблемы.Также мне нужно рекурсивно добавить значение атрибута ко всем копируемым элементам.Я был в состоянии установить переменную для чтения атрибута из файла поиска.Мне не удалось установить значения атрибутов для дочерних узлов.
Спасибо за помощь.