XSLT i xmlns
Mam problem z przestrzeniami nazw w transformacji XSLT, jego brak lub brak prefiksu.
Po części problem opisany tutaj:
- XSLT gotcha with default namespace set with xmlns
- XSLT 1.0 Pattern Matching Tips for Source Documents with Namespaces
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.
LEW21:
24/09/2007 @ 22:45:39 | #1
Spróbuj dodać do elementu xsl:stylesheet atrybut xmlns:xmpp=”jabber:client”.
MalCom:
24/09/2007 @ 23:48:23 | #2
Nie rozwiaze to problemu, bo wtedy elementy bez namespace’a nie beda „lapane” przez ten warunek.