2013-11-12 4 views
0

Может ли кто-нибудь помочь мне с этой проблемой. У меня есть XML с тегами:Как обернуть XML-теги с помощью XSLT

Data before .... 

<table1> some data 1</table1> 
<table1> some data 2 </table1> 

Data after .... 

Как я могу обернуть эти теги с некоторыми XSLT так я получу это:

Data before .... 

<tab1><table1> some data 1</table1></tab1> 
<tab1><table1> some data 2 </table1></tab1> 

Data after .... 

Можно ли это сделать? Большое спасибо за помощь, если кто-нибудь может мне помочь, eoglasi

ответ

3

Стандартный подход к такого рода вещи, чтобы начать с шаблоне идентичности

<xsl:template match="@*|node()" name="ident"> 
    <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy> 
</xsl:template> 

, которая копирует входной XML на выход без изменений , за исключением случаев, когда они переопределены более конкретными шаблонами. Затем следует определить дополнительные шаблоны для вещей, которые вы хотите изменить - обернуть каждый table1 элемент в дополнительном слое tab1 можно использовать

<xsl:template match="table1"> 
    <tab1> 
    <xsl:call-template name="ident" /> 
    </tab1> 
</xsl:template> 

Вы найдете много примеров этой техники, если вы ищете «шаблон идентичности «Переполнение стека (или в другом месте в сети).

+0

Большое спасибо. Простой и чистый ответ, работает как шарм: D – eoglasi

Смежные вопросы