Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Verhindern des leeren xmlns Attributes

  Alt 6. Mär 2008, 10:25
Das ist ulkig, genau dasselbe Problem hatte ich auch gestern bei meinen XSLTs und bin mehr zu einem Workaround als zu einer eleganten Lösung gekommen. Das Problem ist, dass du ein Element generierst, das in einem Namespace liegt, und jetzt hier Elemente hineinkopierst (z.B. mit copy-of), die im Default-Namespace (also "") liegen. Der XSL-Transformer verhält sich korrekt. Anscheinend kann man jedoch beim copy-of keinen Namespace angeben. Die Elemente landen also immer in dem Namespace, in dem sie ursprünglich deklariert wurden. Ich habe das Problem umgangen, indem ich die Elemente mit for-each, element und copy-of select="@*" kopiert habe. Nicht schön, funktioniert aber.

Oh, und wenn du gar kein XSL verwendest, ist dein Problem vermutlich dasselbe: Du erstellst Elemente, die im Default-Namespace liegen, innerhalb von Elementen, die in einem anderen Namespace liegen. In dem Fall hast du es vielleicht einfacher als ich, denn du kannst diesen inneren Elementen einfach denselben Namespace geben wie den übergeordneten. Wenn der XML-Generator halbwegs vernünftig ist, wird er die Namespace-Angabe dann weglassen.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat