Probleme beim parsen, wenn root Knoten noch Atrtribut enthält
Mathias
- xsl
Hallo,
wenn ich ein xml mit folgendem Schema transformieren möchte:
<?xml version="1.0" encoding="UTF-8" ?>
<GAEB>
....
<txt>hallo</tx>
<version>999</version>
</GAEB>
Folgende XSL-Datei:
<xsl:template match="GAEB">
....
</xsl:template>
funktioniert es wei gewünscht.
Hat meine XML-datei aber nun foglenden Aufbau, tut es nicht mehr:
<?xml version="1.0" encoding="UTF-8" ?>
<GAEB xmlns="http://www.gaeb.de/GAEB_DA_XML/200407">
...
</GAEB>
Als Ergebnis bekomme ich nun:
hallo999 anstatt meiner Aufbereitung des XSL.
Kann man das für den zweiten Fall auch irgendwie hinbekommen?
Mathias.
Hi, ja,
Folgende XSL-Datei:
<xsl:template match="GAEB">
....
</xsl:template>
ich würde das <template match> auch um das Attribut erweitern. Also das du dem Parser sagst: Hol mit das Element "GAEB" mit dem Attribut "xyz".
Gruß,
Michael
Hi Michael,
d.h. doch aber dann, ich muss das Attribut kennen?
das Problem ist, meine einzulesenden XML's kommen con verschiedenen Personen bzw. Firmen und der eine macht's eben rein, der andere nicht....
Grüße und vielen Dank für die schnelle Antwort.
Mathias
Hi,
d.h. doch aber dann, ich muss das Attribut kennen?
das Problem ist, meine einzulesenden XML's kommen con verschiedenen Personen bzw. Firmen und der eine macht's eben rein, der andere nicht....Grüße und vielen Dank für die schnelle Antwort.
Mathias
versteh aber nicht ganz, warum das Attribut dann sinnvoll ist, wenn es der eine Reinhaut und der andere nicht??? Ist es den notwendig?
Gruß
Hi,
d.h. doch aber dann, ich muss das Attribut kennen?
das Problem ist, meine einzulesenden XML's kommen con verschiedenen Personen bzw. Firmen und der eine macht's eben rein, der andere nicht....Grüße und vielen Dank für die schnelle Antwort.
Mathias
versteh aber nicht ganz, warum das Attribut dann sinnvoll ist, wenn es der eine Reinhaut und der andere nicht??? Ist es den notwendig?Gruß
Ne - es ist überhaupt nicht notwendig. Das Problem ist eben nur, das ich keinen Einfluss auf die Personen bzw. die Software habe, die ein entsprechendes XML erzeugen können. Und die können es angeben oder auch lassen.... Ich muss es aber einlesen können.
Grüße
Mathias
Folgende XSL-Datei:
<xsl:template match="GAEB">
....
</xsl:template>funktioniert es wei gewünscht.
Hat meine XML-datei aber nun foglenden Aufbau, tut es nicht mehr:
<?xml version="1.0" encoding="UTF-8" ?>
<GAEB xmlns="http://www.gaeb.de/GAEB_DA_XML/200407">
...
</GAEB>
Kannst Du den root-Knoten nicht einfach als / adressieren?
<xsl:template match="/">
....
</xsl:template>
Liebe Grüße
Frederik
Kannst Du den root-Knoten nicht einfach als / adressieren?
<xsl:template match="/">
....
</xsl:template>Liebe Grüße
Frederik
Ne, wenn ich den root-Knoten so adressiere wird überhaupt nichts gefunden.
bin natürlich total auf dem Schlauch gestanden.....
geht natürlich......
Vielen Dank
Mathias
Hallo,
wenn ich ein xml mit folgendem Schema transformieren möchte:
<?xml version="1.0" encoding="UTF-8" ?>
<GAEB>
....
<txt>hallo</tx>
<version>999</version>
</GAEB>Folgende XSL-Datei:
<xsl:template match="GAEB">
....
</xsl:template>funktioniert es wei gewünscht.
Hat meine XML-datei aber nun foglenden Aufbau, tut es nicht mehr:
<?xml version="1.0" encoding="UTF-8" ?>
<GAEB xmlns="http://www.gaeb.de/GAEB_DA_XML/200407">
...
</GAEB>Als Ergebnis bekomme ich nun:
hallo999 anstatt meiner Aufbereitung des XSL.Kann man das für den zweiten Fall auch irgendwie hinbekommen?
Das Problem ist der default Namensraum im XML.
Lösung:
<xsl:stylesheet .... xmlns:dummyNamensraum="http://www.gaeb.de/GAEB_DA_XML/200407">
<xsl:template match="dummyNamensraum:GAEB">
Lese auch http://forum.de.selfhtml.org/archiv/2006/6/t130649/#m844862 durch.
Grüße
Thomas