2013-07-03 3 views
0

Это XML-файл, который мы пытаемся манипулировать:Как использовать XSLT содержит с несколькими Xmlns

<?xml version="1.0" encoding="utf-8"?> 
<Pois xmlns="urn:schemas-etourist:Poi"> 
<Poi PID="1234567"> 
....... 
<Kategorien xmlns="urn:schemas-etourist:SchemaExtension> 
    <Kategorie xmlns=""> 
    <Bezeichnung>Museen</Bezeichnung> 
    <Ebene>1</Ebene> 
    <KategorieID>28</KategorieID> 
    <Kategorie xmlns=""> 
    <Bezeichnung>Galerie</Bezeichnung> 
    <Ebene>2</Ebene> 
    <KategorieID>225</KategorieID> 
    <Kategorie xmlns=""> 
    <Bezeichnung>Sammlung</Bezeichnung> 
    <Ebene>3</Ebene> 
    <KategorieID>56</KategorieID> 
</Kategorien> 
</Poi> 
</Pois> 

И вот наш XSLT:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:td="urn:schemas-etourist:Poi" 
xmlns:td2="urn:schemas-etourist:SchemaExtension" 
xmlns:php="http://php.net/xsl" 
extension-element-prefixes="php"> 

<xsl:template match="/td:Pois"> 
<xsl:apply-templates disable-output-escaping="yes" select="td:Poi/td2:Kategorien/td2:Kategorie[contains(td2:Bezeichnung, 'Museen')]"> 
<xsl:sort select="td:OBJECT_TEXT_NAME"></xsl:sort> 
</xsl:apply-templates> 
</xsl:template> 

<xsl:template match="td:Poi"> 
.... 
</xsl:template> 

</xsl:stylesheet> 

Как мы получаем шаблон для выбора только «Pois», у которых есть «Kategorie», который содержит «Museen»?

Любая помощь была бы принята с благодарностью!

+0

дает некоторую ошибку? –

+0

Получает пустой результат –

ответ

1

тд: Пои/td2: Kategorien/td2: Kategorie [содержит (tD2: Bezeichnung, 'Museen')]

Ваши элементы Kategorie и Bezeichnung не в пространстве имен, так что вы должны удалить префиксы "td2:".

По крайней мере, это то, что я предполагаю. Элементы Kategorie, похоже, не имеют никаких концевых тегов, поэтому где-то что-то пошло не так.

+0

Thanks Michael. Понадобилось некоторое время, чтобы вернуться к этому. Спасибо за ответ. Конечные теги завершены (наша ошибка). Извлечение td2 из Kategorie и Bezeichnung выводит только «1» и «28», значения для и . Любые идеи .. ?? –

+0

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

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