Announcement

Collapse
No announcement yet.

xml deklaration übertragen

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

  • xml deklaration übertragen

    Ich habe in meinem XSL folgenden Eintrag:

    Code:
    <xsl:output method="xml" omit-xml-declaration="no" version="1.0" encoding="ISO-8859-1" standalone="yes" indent="yes"/>
    Nach der Transformation eines XML Files in das neue XML Format vermisse ich aber den "encoding=..." Eintrag; es erscheint lediglich:
    Code:
    <?xml version="1.0" standalone="yes"?>
    Woran könnte das liegen?
    Die Trafo führe ich mit die Methode "transformNode" in Excel durch.

  • #2
    "transformNode" erzeugt doch keine Datei sondern eine Zeichenkette, wo/wie erzeugst du die neue Datei? Es gibt "transformNodeToObject", wo man entweder ein MSXML2.DOMDocument (kann man dann per "save"-Methode speichern) oder einen ADODB.Stream (genaue Bezeichnung müsste ich nachsehen) als zweites Argument angeben kann, dann sollte das mit dem Encoding besser klappen.

    Comment


    • DerD
      DerD commented
      Editing a comment
      Wenn ich nun über "transformNodeToObject" nicht ein XML Dokument erzeuge sondern ein HTML Dokument erzeugen möchte, wie ist dann das Resultobjekt zu deklarieren? Als "HTMLDocument" wohl nicht...

  • #3
    So du eine HTML-Datei erzeugen willst, sollte das mit ADODB.Stream genauso funktionieren wie mit einer XML-Datei. Ob es ein "in-memory" Objekt für HTML-Dokumente gibt mit MSXML gibt, bin ich nicht sicher, soweit ich mich erinnere, gibt es das nicht. Als MSXML entwickelt wurde, war die Interaktion mit IE und seinem HTML-Objektmodell eher über den Austausch von Zeichenketten (transformNode-Resultat von MSXML als Eingabe von insertAdjacentHTML oder innerHTML/outerHTML in IE) vorgesehen. Wenn die Frage nach der dem Deklarieren VBA-spezifisch ist, bin ich da auch nicht gerade kompetent, habe MSXML früher eher mit JScript oder VBScript benutzt, wo durch "late binding" die Typdeklaration nicht notwendig war.

    Comment

    Working...
    X