XSLT i xmlns

tech • 106 słów • 1 minuta czytania

Mam problem z przestrzeniami nazw w transformacji XSLT - brak nazwy lub prefiksu.

Po części problem opisano tutaj:

Dokładnie to chcę, aby XML:

<iq type="get" id="ab0ea">
	<query xmlns="jabber:iq:roster"/>
</iq>

oraz

<iq xmlns='jabber:client' type="get" id="ab0ea">
	<query xmlns="jabber:iq:roster"/>
</iq>

Był przetwarzany przez ten sam “template match” XSLT-a:

<xsl:template match="/iq"/>

lub

<xsl:template match="/xmpp:iq"/>

Może ktoś potrafi mi pomóc? Kombinowałem z różnymi metodami i nie mogę uzyskać wymaganego rezultatu.

Wiem, że w XSLT 2.0 wystarczyłoby dodanie 1 linijki:

xpath-default-namespace="jabber:client"

ale niestety korzystam z libxslt, a on na razie nie supportuje wersji 2.0.

Komentarze (2)

LEW21 avatar
LEW21
20070924-224539-lew21

Spróbuj dodać do elementu xsl:stylesheet atrybut xmlns:xmpp="jabber:client".

MalCom avatar
MalCom
20070924-234823-malcom

Nie rozwiąże to problemu, bo wtedy elementy bez namespace’a nie będą “łapane” przez ten warunek.

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/