Добрый день. Стоит задача преобразовать XML из одной структуры в другую. Вроде бы простейшее преобразование (объединение нескольких полей в одно), но, т.к. плохо знаю XSL, уже сломал всю голову... Может, кто подскажет? Спасибо.
Исходный XML:
Код | <Dictionary> <Dict> <NAIM>BAHAMAS</NAIM> <KODT11>1</KODT11> <KODT12>2</KODT12> <KODT13>3</KODT13> <KODT14>4</KODT14> <NUMBEGDOC>555</NUMBEGDOC> </DictStran> </DictionaryDictStran>
|
Что надо получить:
Код | <Dictionary> <Dict> <NAIM>BAHAMAS</NAIM> <KODT>1234</KODT> <NUMBEGDOC>555</NUMBEGDOC> </DictStran> </DictionaryDictStran>
|
Что удалось придумать (но это не то - match не ищет по маске "KODT"...):
Код | <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:strip-space elements="*"/> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="Dictionary"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="Dict"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="NAIM"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="KODT"> <KODT> <xsl:apply-templates/> </KODT> </xsl:template> <xsl:template match="NUMBEGDOC"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet>
|
|