Мне нужна помощь здесь.Я вроде как новичок в XSLT.
Я знаю, что в 2.0 вы можете использовать For-Each-Group, которая решит мою проблему, но я ограничен 1,0.
Что мне нужносгруппировать плоский XML, используя что-то вроде функции «group-начиная с».
Это только пример, но моя реальная проблема очень похожа.
У меня есть этот XML:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<xpto name="1">ABC</xpto>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
<xpto name="2">ABC</xpto>
<xpto name="1">ABC</xpto>
<title>Hide your heart</title>
<artist>Bob Dylan</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
<xpto name="2">ABC</xpto>
</catalog>
И я хочу, чтобы это было:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<group>
<xpto name="1">ABC</xpto>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
<xpto name="2">ABC</xpto>
</group>
<group>
<xpto name="1">ABC</xpto>
<title>Hide your heart</title>
<artist>Bob Dylan</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
<xpto name="2">ABC</xpto>
</group>
</catalog>
Поэтому я хочу группировать элементы каждый раз, когда появляется следующее:
<xpto name="1">ABC</xpto>
Есть ли способсделать это с XSLT 1.0?
Большое спасибо!