Мне нужна помощь. Я борьба с XSLT: У меня есть, например, файл XML так:Включите XML с XSLT в таблицу aHTML. Таблица
<Adresses>
<Person id="1">
<Name>Bott</Name>
<Vorname>Nils</Vorname>
</Person>
<Person id="2">
<Name>Hubert</Name>
<Vorname>Hubertus</Vorname>
</Person>
<Person id="3">
<Name>Large</Name>
<Vorname>Lars</Vorname>
</Person>
<Numbers>
<number>
<id>1</id>
<tel>12354</tel>
</number>
<number>
<id>3</id>
<tel>32354</tel>
</number>
<number>
<id>2</id>
<tel>22354</tel>
</number>
</Numbers>
</Adresses>
И я должен преобразовать в порядок HTML таблицы. HTML-таблица должна выглядеть folowwing (Заказ после ID):
<table>
<tr>
<th>Name</th>
<th>Vorname</th>
<th>Tel</th>
</tr>
<tr>
<th>Bott</th>
<th>Nils</th>
<th>12354</th>
</tr>
</table>
Моя проблема я не знаю, как ckeck: Выберите номер, где Peron.id = number.id .... Было бы здорово, если бы кто-нибудь мог дать мне полный пример этой проблемы. В веб-поиске это всегда не так сложно в учебниках ;-(.... Я изучаю XSLT и просто знаю некоторые правила, такие как apply-templates match = «Person» .... но как это возможно в таких заявление назвать другой шаблон которым выберите coorect номер
Я пытаюсь начать с этого:
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="Adresses/Person">
<xsl:call-template name="curPos">
</xsl:call-template>
<xsl:value-of select="Name"/>
<xsl:value-of select="Vorname"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template name="curPos" match="Person">
<xsl:value-of select="position()"/><br> </br>
</xsl:template>
Если есть проблема с током(), вы можете установить значение в переменной с помощью , а затем выбрать «../Numbers/number[id=$current_id]/tel». –
Mike
Нет проблем с 'current()'. ** ** проблема с названным шаблоном, который не вызывается. –
@ michael.hor257k Я не вижу смысла публиковать мой полный исходный код, когда эта часть отвечает на вопрос довольно хорошо. Вы можете заметить, что тело html также отсутствует. – user1997675