Ik gebruik het volgende stukje code om een string om te zetten in een XML boom, en deze vervolgens in te voegen op het punt waar ik dat wil:
Nu werkt dat allemaal wel, op het feit na dat ik na het parsen van XML/XSL in de ingevoegde tag dit te zien krijg:
Wat daar dus duidelijk niet hoort te staan. Het rare is dat dit er niet staat wanneer ik mijn XSL niet laat processen. Dus wanneer ik pure XML als uitvoer opgeef, krijg ik netjes m'n tag zonder namespace attribuut. Ik snap er niks meer van!?!?
Ben er inmiddels wel achter dat het ligt aan het gebruik van "copy-of". Wanneer ik daar "value-of" neerzet werkt het wel. Maar ik heb eigenlijk wel copy-of nodig; iemand enig idee waarom copy-of ineens allemaal tags toevoegd?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function append_html_child($xmlstr,$tagname,$element,$doc) { $xmlstr = "<".$tagname.">".$xmlstr."</".$tagname.">"; if(!$dom = xmldoc($xmlstr)) { echo "Error while parsing the document\n"; exit; } $root = domxml_root($dom); $import_node = $doc->imported_node($root, true); $element->append_child($import_node); } |
Nu werkt dat allemaal wel, op het feit na dat ik na het parsen van XML/XSL in de ingevoegde tag dit te zien krijg:
code:
1
| xmlns="" |
Wat daar dus duidelijk niet hoort te staan. Het rare is dat dit er niet staat wanneer ik mijn XSL niet laat processen. Dus wanneer ik pure XML als uitvoer opgeef, krijg ik netjes m'n tag zonder namespace attribuut. Ik snap er niks meer van!?!?
Ben er inmiddels wel achter dat het ligt aan het gebruik van "copy-of". Wanneer ik daar "value-of" neerzet werkt het wel. Maar ik heb eigenlijk wel copy-of nodig; iemand enig idee waarom copy-of ineens allemaal tags toevoegd?
[ Voor 17% gewijzigd door jsiegmund op 10-08-2004 18:05 ]