Announcement

Collapse
No announcement yet.

MS DOM xmlns wird auf dem nächsten Knoten wiederholt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MS DOM xmlns wird auf dem nächsten Knoten wiederholt

    Selbstverständlich habe ich zuerst das Forum durchsuch, was mir aber wie auch intensives googlen keine Antwort beschert hat.

    Ich beschäftige mich erst kurz mit XML, implementiere gerade openTRANS 2.1 INVOICE, was ganz gut klappt. Ich mache das unter Navision (Dynamics Nav) Navision hat eine simple Sprache mit wenig Möglichkeiten, weshalb ich dort dem MS DOM nutzen muss, was ich in der Ver. 6 tue.

    Wenn ich nun dem Root node xmlns als Attribut hinzufüge (was vielleicht schon falsch ist)

    Code:
     
    xmlProcessingInst := xmlDoc.createProcessingInstruction('xml','version="1.0" encoding="ISO-8859-1" standalone="yes"');
    xmlDoc.appendChild(xmlProcessingInst);
    xmlRootNode := xmlDoc.createElement('INVOICE');
    CurrNode[IntLevel] := xmlDoc.appendChild(xmlRootNode);
      AddAttribute('version', '2.1');
      AddAttribute('xmlns', 'http://www.opentrans.org/XMLSchema/2.1');
      AddAttribute(.....
    dann sieht der Kopf der XML-Datei PERFEKT aus
    HTML Code:
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
    <INVOICE version="2.1" xmlns="http://www.opentrans.org/XMLSchema/2.1" ... und die anderen Attribute>
    Der einige Haken liegt darin, dass nun auf der nächsten Ebene von Nodes, also bei INVOICE_HEADER, INVOICE_ITEM_LIST und INVOICE_SUMMARY jeweils xmlns als leeres Attribut dargestellt wird (xmlns="":

    HTML Code:
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?> 
    - <INVOICE version="2.1" xmlns="http://www.opentrans.org/XMLSchema/2.1" .............>
      - <INVOICE_HEADER xmlns="">
    Selbstverständlich habe ich mir auch bereits den Node INVOICE_HEADER in ein Node Objekt geladen, und darüber die Anzahl der zugewiesenen Attribute abgefragt - es gibt keine. Der DOM hängt dieses leere Attribut also anscheinend erst später beim SAVE, also beim Generieren an ...

    Das Ganze passiert ausschließlich mit xmlns, lässt man xmlnns weg, ist alles prima, und ich konnte keinen Workaround finden. Ansonsten sieht mein XML exakt so aus, wie die openTrans Vorlage.

    Hat hier vielleicht irgendwer eine Idee

    Grüße
    Pidi
Working...
X