Мне было дано задание изучить использование xsl для обновления нескольких наших XML-документов на работе, и я искал некоторые учебные пособия по xsl, хотя я еще не натолкнулся на то, что в идеале я бы искал для ...
Поскольку я не на работе, вот небольшой пример того, что я ищу:
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id>627</id>
<name>application1</name>
<url>www.application.com</url>
</application>
Мне нужно преобразовать это в:
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id>627</id>
<application_name>application1</application_name>
<url>www.application.com</url>
</application>
Теперь из примеров и учебных пособий, которые я видел, я мог бы сделать это с помощью жестко закодированного листа xsl, выглядящего так:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="/">
<application>
<xsl:apply-templates/>
</application>
</xsl:template>
<xsl:template match="id">
<id>
<xsl:value-of select="id"/>
<xsl:apply-templates/>
</id>
</xsl:template>
<xsl:template match="name">
<application_name>
<xsl:value-of select="name"/>
<xsl:apply-templates/>
</application_name>
</xsl:template>
<xsl:template match="url">
<url>
<xsl:value-of select="url"/>
<xsl:apply-templates/>
</url>
</xsl:template>
</xsl:stylesheet>
Но на самом деле это не будет практично, поскольку у нас есть около 50 различных XML-документов, которые могут нуждаться в изменении, и поэтому я действительно искал шаблон перехвата всех, который мог бы использовать, а затем переопределял только соответствующий элемент, который необходимо изменить. .
Существует ли эта функция в xsl?