In einer unvollständigen xml-datei sollen vom Benutzer Daten eingetragen werden.
Die xslt-Datei soll überprüfen, ob die fehlenden Daten vorhanden sind, wenn ja sollen aus den eingegebenen Daten neue Bäume berechnet werden, welche an die bisherige xml-datei angehängt werden sollen.
Ich lese also eine xml-datei ein und möchte in die gleiche Datei ausgeben, dafür kopiere ich alles was bisher vorhanden ist und möchte das neue hinzufügen. Ist das generell unmöglich die Eingabedatei durch eine neue Ausgabedatei zu überschreiben?
Fehlermeldung von saxon:
Problemcode:
Die xslt-Datei soll überprüfen, ob die fehlenden Daten vorhanden sind, wenn ja sollen aus den eingegebenen Daten neue Bäume berechnet werden, welche an die bisherige xml-datei angehängt werden sollen.
Ich lese also eine xml-datei ein und möchte in die gleiche Datei ausgeben, dafür kopiere ich alles was bisher vorhanden ist und möchte das neue hinzufügen. Ist das generell unmöglich die Eingabedatei durch eine neue Ausgabedatei zu überschreiben?
Fehlermeldung von saxon:
SystemID: [...]\turnierplan.xsl
Programmname: Saxon-EE 9.2.0.6
Feherlevel: fatal
Beschreibung: Cannot write to a URI that has already been read: file:[...]/turnierplan_eingabe.xml
One cause may be that you are using 'result-document' instruction without specifying the value of the 'href' attribute and the main output file is not specified either.
Programmname: Saxon-EE 9.2.0.6
Feherlevel: fatal
Beschreibung: Cannot write to a URI that has already been read: file:[...]/turnierplan_eingabe.xml
One cause may be that you are using 'result-document' instruction without specifying the value of the 'href' attribute and the main output file is not specified either.
Code:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" version="2.0" xml:base="turnierplan_eingabe.xml"> <xsl:output name="turnierplan_eingabe" version="2.0" method="xml" indent="yes"/> <xsl:template match="/"> <xsl:result-document href="turnierplan_eingabe.xml"> <turnierplan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="turnierplan.xsd"> <xsl:copy-of select="turnierplan/vorrunde"/> <xsl:if test="turnierplan/achtelfinale"> <xsl:copy-of select="turnierplan/achtelfinale"></xsl:copy-of> <!-- usw. --> <xsl:choose> <xsl:when test="not(/turnierplan/achtelfinale)"> <!-- mit den Berechnungen für die neuen Elemente -->
Comment