XSLT для добавления новых элементов в корневой элемент XML
Я хочу добавить пару элементов в конец документа XML, прямо перед закрытием корневого узла, и я использую XSL для преобразования.
Исходный XML может содержать любой узел, подузел и т. Д., Что не имеет значения. Все в нем должно быть скопировано в преобразованный документ, плюс некоторые другие элементы должны быть добавлены.
Я совершенно новичок в XSL, XSLT и XPath, поэтому я, несомненно, делаю ошибки.
Все мои XSL такие:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
<!-- tried directives -->
</xsl:stylesheet>
Это то, что я нашел и попробовал, но безуспешно.
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
<my-el></my-el>
</xsl:template>
Я прочитал, что это шаблон идентичности, поэтому я решил использовать его для копирования всего плюс дополнительный элемент; но это добавляет<my-el></my-el>
внутри каждого элемента исходного документа.
После прочтения небольшого количества учебников о w3schools оXSLT а такжеXPathЯ пробовал с:
<xsl:template match="/">
<xsl:copy-of select="."></xsl:copy-of>
<my-elem />
</xsl:template>
Но это добавляет<my-elem />
после закрывающего тега корневого элемента.
Можете ли вы помочь мне?
Фон: я играю сxml-maven-plugin
добавить некоторую конфигурацию в веб-приложениеweb.xml
файл, вызванный профилем. Я хочу, чтобы весь существующий XML-файл в файле был скопирован в выходной документ, плюс я хочу добавить к нему некоторые (статические пока достаточно) элементы.
Вот источникweb.xml
файл:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>My Project</display-name>
<welcome-file-list>
index.jsp
</welcome-file-list>
</web-app>
Я хочу достичь чего-то вроде того, что было задано вэтот вопрос, но новые узлы должны быть добавлены к корневому элементу (т.е. см.комментарий к ответу на этот вопрос).