Мне нужно добавить пространство имен и добавить атрибут для определенных узлов. С этим входом:
<root>
<Node1>test</Node1>
<DateTo />
</root>
Я хочу этот вывод:
<my:root xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-07-28T07:33:11">
<my:Node1>test</my:Node1>
<my:DateTo xsi:nil="true"/>
</my:root>
Для узла DateTo должен быть установлен этот атрибут.
Я успешно добавил пространство имен с помощью этого преобразования, но не могу добавить атрибут.
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
<xsl:template match='*'>
<xsl:element name='my:{local-name()}' namespace='http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-07-28T07:33:11' >
<xsl:apply-templates />
</xsl:element>
</xsl:template>
</xsl:stylesheet>"
Я получаю эту ошибку "Узлы атрибута и пространства имен не могут быть добавлены к родительскому элементу после того, как узел текста, комментария, pi или узла подэлемента уже добавлен." .