Dieses Werkzeug (XML Converter) besteht aus einen XML-Parser und einer integrierten Skriptsprache.
Der Parser liest XML-Daten als sequentiellen Datenstrom. Die Daten werden dabei ereignisorientiert ausgewertet. Während des Lesens werden beim Auftreten von Start- und Endtags der Elemente oder beim Auftreten von EntitätenEreignisse ausgelöst und die betreffenden Rückruffunktionen im Skript (Element-Handler, Entitäten-Handler) aufgerufen.
Die Ereignisse werden also parallel zum Einlesen ausgeführt. Nichtbehandelte Ereignisse und nichtbehandelte Datenbereiche werden unverändert in den Ausgabedatenstrom ausgegeben. Bestandteile der Daten, die Ereignisse auslösen, werden selbst nicht ausgeben. Für deren Ausgabe ist die Rückruffunktion im Skript verantwortlich.
Die Steuerung erfolgt über Kommandozeilenparameter. Zur Ausführung benötigen Sie ein Konvertierungsskript, welches Sie für Ihren Anwendungsfall programmieren müssen.
Der typische Anwendungsfall ist die Konvertierung von XML-Daten in ein Medienformat, wie z.B. HTML. Innerhalb des Skriptes definieren Sie auf einfachste Weise die Umsetzung der Elemente und Entitäten gemäß Ihrer DTD in die Auszeichnungsform des Zielformates.
Syntax:
xmlcnv eing skript ausg -s -w –q
eing
Eingabedateiname oder Dateispezifikation der zu konvertierenden Datei oder Dateien. Es dürfen Platzhalterzeichen ("*" und "?") in der Dateispezifikation eingegeben werden. Bei der Eingabe von Platzhalterzeichen werden alle Dateien, die dem Suchmuster entsprechen, konvertiert.
skript
Projektname. Es genügt der Skriptname ohne Erweiterung (z.B. "html"). Die Projektdatei sollte sich im gleichen Verzeichnis wie das Programm befinden. Die Standarderweiterung ist "xb".);
ausg
Ausgabedateiname oder Dateierweiterung der Ergebnisdateien. Bei Angabe nur einer Dateierweiterung, wird für jede Eingabedatei eine Ausgabedatei mit dieser Erweiterung erzeugt. Bei Angabe eines Dateinamens, wird eine Ausgabedatei erstellt, unabhängig davon, ob eine einzelne Eingabedatei angegeben wurde oder eine Dateispezifikation zur Bearbeitung mehrerer Eingabedateien. Bei Angabe einer Dateierweiterung wird für jede Eingabedatei eine Ausgabedatei im gleichen Ordner erzeugt. Bei Angabe einer Ausgabedatei wird diese, wenn kein Ordner angegeben wurde, im aktuellen Arbeitsverzeichnis ausgegeben. Bei Weglassen der Angabe ausg werden die Eingabedateien nur geprüft.
-s
schaltet die Dateisuche in Unterverzeichnissen ein
-w
aktiviert die zusätzliche Ausgabe von Fehlermeldungen direkt in den Ausgabedaten. Dieser Schalter ist für Webanwendungen zu empfehlen. Die Fehlermeldungen werden dann im Browser (Ausgabedaten HTML) angezeigt.
-q
minimale Konsolenausgabe
Hinweis:
Mehrere Parameter müssen jeweils mit einem Leerzeichen voneinander abgetrennt werden!
Hinweis:
Dateinamen oder Ordnernamen, die Leerzeichen enthalten, müssen komplett in Anführungszeichen gesetzt werden.
Funktionsweise
Beispieldokument:
<?xml version="1.0" ?>
<buch>
<kapitel>
<titel nr="1">Einführung</titel>
</kapitel>
</buch>
Beim Parsen des Dokumentes werden folgende Ereignisse in der angegebenen Reihenfolge ausgelöst (BEG kennzeichnet die Behandlung der Starttags, END für die Behandlung der Endtags):
ELEMENT buch (BEG)
ELEMENT kapitel (BEG)
ELEMENT titel (BEG)
ENTITY #252
ELEMENT titel (END)
ELEMENT kapitel (END)
ELEMENT buch (END)
Der Parser ruft bei jedem Ereignis die entsprechende Rückruffunktion (Element-Handler, Entitäten-Handler) auf. Wenn keine Rückruffunktion definiert ist, werden die ereignisauslösenden Daten unverändert ausgegeben.
Das Skript basiert intern selbst auf XML. Es durchläuft bei der Prüfung den gleichen Parser wie die Daten.
Auf eine explizite Auszeichnung in der XML-Syntax, also mit Tags wie <ELEMENT> wurde aber verzichtet. Das Skript kann aber auch als XML-Dokument erstellt werden:
Die wichtigsten Befehle sind BEG und END in der Syntax einer Zuweisungsoperation:
BEG="..."
END="..."
Es handelt sich hierbei um Zuweisungen an den Datenstrom des Parsers. Der Parser durchläuft alle Elemente, Zeichendaten und Entitäten des Dokumentes und erzeugt einen Datenstrom der enthaltenen Zeichendaten.
Diesem Datenstrom können an den Elementgrenzen, also dem Starttag und dem Endtag, Daten hinzugefügt werden. BEG steht für den Datenstrom beim Erreichen des Starttags und END für den Datenstrom beim Erreichen des Endtags.
Die Zuweisungsoperationen des Element-Handler autor:
ELEMENT autor
BEG='<p class="autor">'
END="</p>"
ENDE
fügt an Stelle des Starttags<autor> den Text <p class="autor"> ein und an Stelle des Endtags den Text </p>. Dieses Skript kann bei identischem Ergebnis auch wie folgt geschrieben werden:
ELEMENT autor
BEG="<p "
BEG="class="/p>
BEG=CHR(34)
BEG="autor"/p>
BEG=CHR(34)
BEG=">"
END="</"
END="p>"
ENDE
Da BEG und END von getrennten Ereignissen angesteuert werden, werden diese nie zeitgleich ausgeführt. Bei leeren Elementen wird nur das Ereignis für den Starttag, also BEG, ausgeführt!
Die Ausführung der Anweisungen erfolgt sequentiell jeweils für BEG und für END getrennt. Das folgende Beispiel erzeugt immer noch das gleiche Ergebnis wie das vorhergehende Beispiel:
ELEMENT autor
BEG="<p "
END="</"
BEG="class="
BEG=CHR(34)
BEG="autor"
BEG=CHR(34)
END="p>"
BEG=">"
ENDE
Derartige Zerstückelungen sollten aber zu Gunsten der besseren Lesbarkeit vermieden werden.
Im folgenden Beispiel wird eine Element-Handler für das Element autor definiert. Für den Beginn (BEG) des Elementes wird der Starttag <p class="autor"> in die Ausgabe eingefügt und für das Ende (END) des Elementes der Endtag </p>. Der Element-Handler wird mit ENDE beendet.
Anhand der DTD können Sie das Grundgerüst des Skriptes (siehe auch Skript) aufbauen. Für jedes Element Ihrer DTD (z.B. <!ELEMENT kapitel titel ...>) erstellen Sie ein passendes Elementhandle (siehe Element-Handler bzw. ELEMENT):
Mit den Konvertierungsregeln wird das Zielformat der Strukturkonvertierung gesteuert. Die grundlegenden Anweisungen dazu sind die BEG- und END-Anweisung.
Die BEG-Anweisung gibt alle angegebenen Daten am Beginn des betreffenden Elementes aus, wobei bei mehreren Anweisungen die Ausgabe in Reihenfolge der Abarbeitung erfolgt. Die END-Anweisung steuert Ausgaben am Ende des jeweiligen Elementes.
Ein einfaches Beispiel ist dafür die Umsetzung von Hervorhebungen:
ELEMENT fett
BEG='<b>'
END='</b>'
ENDE
Durch Kontextabfragen lassen sich sehr einfach die betreffende Formatierungen ermitteln. So werden im Beispiel die Überschriften (titel) in der ersten Ebene (kapitel) mit h1 gekennzeichnet, die in der zweiten Ebene mit h2 und alle anderen mit h3:
ELEMENT titel
IF IN kapitel IN kapitel IN kapitel
BEG="<h3>"
END="</h3>"
ELSEIF IN kapitel IN kapitel
BEG="<h2>"
END="</h2>"
ELSE
BEG="<h1>"
END="</h1>"
ENDIF
ENDE
Entitätenregeln
Am Ende des Skriptes fügen Sie die Entitäten-Konvertierungsregeln hinzu, welche jeweils für jede in der DTD definierte Entität die passende Zielform definiert (Für das Zielformat HTML können viele Entitäten 1:1 übernommen werden. Andere Zielformate erfordern aber ein gezieltes Umkodieren der Entitäten!):
Die Software und die Dokumentation sind urheberrechtlich geschützt.
Die Software und die Dokumentation werden vom Autor unentgeltlich zur Verfügung gestellt.
Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der Dokumentationen erhält, die Erlaubnis erteilt, diese uneingeschränkt zu benutzen.
Die Weitergabe ist unter den gleichen Bedingungen möglich. Die Software (xmlcnv) und die Lizenzbedingungen (lizenz.txt) müssen dazu unverändert weitergegeben werden.
Die Software und die Dokumentation werden ohne jede ausdrückliche oder implizierte Garantie bereitgestellt, einschließlich der Garantie zur Benutzung für den vorgesehenen oder einen bestimmten Zweck. Für Fehler in der Software und Schäden, die sich aus der Nutzung der Software ergeben, wird keine Haftung übernommen.
Alle genannten Marken, Produkt- und Firmennamen sind Eigentum ihrer Urheber.
ARM is a registered trademark of ARM Limited.
Intel is a trademark of Intel Corporation in the U.S. and/or other countries.
Linux is a registered trademark of Linus Torvalds.
macOS Sequoia is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Sonoma is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Ventura is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Monterey is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Big Sur is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Catalina is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Mojave is a trademark of Apple Inc., registered in the U.S. and other countries.
macOS Sierra is a trademark of Apple Inc., registered in the U.S. and other countries.
Mac OS is a trademark of Apple Inc., registered in the U.S. and other countries.
Mac OS X El Capitan is a trademark of Apple Inc., registered in the U.S. and other countries.
OS X is a trademark of Apple Inc., registered in the U.S. and other countries.
Windows is a registered trademark of Microsoft Corporation in the United States and other countries.
macOS: Direkte Unterstützung für Apple Silicon CPUs (Apple M1) zusätzlich zur Unterstützung von Intel CPUs (x86) durch Universal Binary.
Systemvoraussetzungen für macOS geändert. Es ist mindestens macOS Mavericks 10.9 erforderlich (es entfällt die Unterstützung für macOS Lion 10.7 und macOS Mountain Lion 10.8).
Der Skript-Interpreter wurde optimiert. Die Skript-Verarbeitungsgeschwindigkeit wurde deutlich verbessert. Je nach Daten und Skript ist eine Beschleunigung von bis zu 200x gegenüber der Vorversion möglich (200x gemessen an einer 500 MB XML-RDF-Datei und einem einfachen Skript).
Verbessertes Speichermanagement (Hinweis: Extrem große Dateien sollten mit der 64-Bit-Version verarbeitet werden. Der verfügbare freie Hauptspeicher sollte je nach Struktur der Daten das 8- bis 16-fache der Daten betragen).
Im XML-Parser wurden die Zeichenbereiche für Bezeichner (Elementnamen, Attributnamen) auf die Bereiche xC0-xD6 und xD8-xF6 und xF8-xFF erweitert, womit z.B. deutsche Umlaute hier zulässig sind.
Der Parser übergeht im Modus WARNINGS=SMART jetzt auch fehlerhafte Attributwerte. So erfolgt bei den reservierten Zeichen (<), (>) und (&) in diesem Modus kein Abbruch. Es wird jedoch jeweils eine Warnung ausgegeben.
SGML-Parser: Leerräume (Whitespace) zwischen Attributen sind jetzt zwingend erforderlich.
Hinweis: In SGML ist der Leerraum zwischen Attributen optional definiert. Beispiel: <elem attr1="wert1"attr2="wert2"> ist in SGML nach Vorschrift gültig, wird aber in der Praxis sinnvollerweise nicht genutzt. Der XML-Converter erwartet jetzt stets einen Leerraum zwischen Attributen. Beispiel: <elem attr1="wert1" attr2="wert2">.
Korrektur der numerischen Attributwertsvergleichfunktion. Korrektur und Erweiterung der Größenbeschränkung. Korrektur der Einheitenauswertung. Die Einheiten werden jetzt vollständig ausgewertet, eventuell nach der Einheit stehende Zeichen werden jetzt mit berücksichtigt. Der numerische Vergleich wird erst dann durchgeführt, wenn die Einheiten beider Vergleichswerte gleich sind unabhängig der Groß-/Kleinschreibung.
Der numerische Vergleich ist jetzt direkt mit Werten unterschiedlicher Einheiten möglich. Die Einheiten pt, mm, cm und in werden erkannt. Wenn beide Vergleichswerte jeweils eine der angegebenen Einheiten enthalten, werden die Vergleichswerte intern in pt umgerechnet und numerisch verglichen.
Updates:
BBEdit Version 11.6.2 (397016) vom 15.9.2016 (macOS- und Linux-Version)
Die Windowsversion wurde mit der aktualiserten Version von Microsoft Visual Studio Update 3 (KB3165756) vom 14.9.2016 neu kompiliert. Die bisherige Telemetriefunktion ist (offenbar) von Microsoft entfernt worden.
Detailliertere Versionsausgabe für das Entwicklungssystem.
Updates:
PSPad 4.6.1 (2730) vom 4.7.2016
Notepad++ 6.9.2 vom 18.5.2016
TextPad 8.0.2 vom 27.2.2016
UltraEdit 23.10 vom 23.5.2016
UEStudio 16.10 vom 23.5.2016
TextWrangler 5.5.2 vom 10.9.2016
BBEdit 11.5.2 vom 21.4.2016
Tincta 3.1.1 vom 26.9.2016
XML Converter Version 4.0.4
Download:
nicht mehr verfügbar
Korrekturen:
Reguläre Ausdrücke funktionieren jetzt auch unter Windows XP.
Der Vergleich eines Attributwertes mit einer Zeichenkette wurde um Vergleichsoperatoren für reguläre Ausdrücke erweitert: =~ Attributwert wird gegen den regulären Ausdruck geprüft, Groß- und Kleinschreibung wird hierbei ignoriert, ==~ Attributwert wird gegen den regulären Ausdruck unter Beachtung der Groß- und Kleinschreibung geprüft.
Der Vergleich eines Attributwertes mit einer Zeichenkette wurde um neue Vergleichsoperatoren erweitert: =^ Zeichenkette beginnt mit angegebenen Text, =* Zeichenkette enthält angegebenen Text, =$ Zeichenkette endet mit angegebenen Text. Diese Operatoren berücksichtigen keine Groß-/Kleinschreibung. Wenn der Vergleich unter Beachtung der Groß-/Kleinschreibung erfolgen soll, müssen diese wie folgt angegeben werden: ==^, ==* und ==$.
Der Vergleich von Attributwerten wurde um die automatische Erkennung von Zahlenwerten und den numerischen Vergleich erweitert. So werden jetzt numerische Werte numerisch verglichen, das betrifft "=, >, <, <>, >= und <=". Die Werte werden numerisch interpretiert, die Werte "15", "15.0", 15,00" und "015" sind also gleichwertig. Hat der Vergleichswert im Skript eine Einheit (z.B. "15px"), wo wird der Vergleich nur dann numerisch durchgeführt, wenn das betreffende Attribut ebenfalls diese Einheit trägt (z.B. 155 px).
Erhöhung der maximalen Größe für Attributwerte auf 2 MB, LITLEN=2.097.152
Erhöhung der maximalen Größe für Ausführungsanweisungen auf 2 MB, PILEN=2.097.152
Fit für Windows 10.
Korrekturen:
Bei numerischen Auswertungen von Attributwerten werden die Zahlenformate automatisch erkannt (deutsch mit Dezimalpunkt Komma und englisch Dezimalpunkt Punkt).
Die IMPLIED-Anweisung erzeugt keine Fehlermeldung mehr, wenn das betreffende Attribut nicht gefunden und das Attribut auch nicht definiert wurde.
Im einfachsten Prüfmodus, dem Aufruf ohne Skript, wurde ein Fehler beseitigt, der zum vorzeigen Beenden des Programmes führte.
Editor Konfigurationen:
Aktualisierung für PSPad (Hinweis: ab PSPad Version 4.6.0 (2566) vom 29.3.2015 wird der der XML-Converter direkt unterstützt. Über die integrierte Code-Navigation kann auf die Element- und Eintitäten-Handler übersichtlich zugegriffen werden)
Aktualisierung für Notepad++ 6.7.8.2
Aktualisierung für TextPad 7.5.1
Aktualisierung für UE Studio 15.1 Unterstützung der Funktionsliste.
Aktualisierung für UltraEdit 22.0 Unterstützung der Funktionsliste.
Neu: Konfiguration für BBEdit für Mac OS X
Neu: Konfiguration für Brackets für Linux, Mac OS X und Windows.
Neu: Konfiguration für TextWarngler für Mac OS X.
Neu: Konfiguration für Fraise für Mac OS X.
Neu: Konfiguration für Tincta für Mac OS X
Weitere Änderungen :
der Kompatibilitätsmodus (zum Converter bis zur Version 1.23, 1999-2003) wird nicht mehr fortgesetzt. Verwenden Sie für Programmcode aus den Jahren 1999-2003 bitte den XML-Converter 3.0.1.
Die Rückgabecodes wurden geändert: 0 Erfolg, keine Fehler aufgetreten 1 Parameter konnten nicht gelesen werden bzw. unbekannter Parameter gefunden 2 Sonstige Fehler bei der Parameterauswertung 3 Kein Parameter angegeben 4 Hilfe wurde angezeigt, es wurde aber keine Konvertierung durchgeführt 5 Interpreter konnte nicht initialisiert werden 6 Kein Skript angegeben 7 Eingabemuster ungültig 8 Eingabedateiname ungültig 10 Ausgabedateiname ungültig 11 Ausgabedateinamenserweiterung ungültig 12 Datenfehler 13 Sonstige Fehler
32 Bit- und 64 Bit-Version für Mac OS X verfügbar.
Unterstützung für UNC-Pfade (//Server/Pfad bzw. \\Server\Pfad).
Änderung der Kommandozeile:
Die Kommanzeilenschalter werden jetzt generell mit - (Strich) statt / (Schrägstrich) eingeleitet.
Alle Kommandozeilenparameter müssen mit einem Leerzeichen voneinander abgetrennt werden. Ältere Batchprogramme müssen also wie folgt umgestellt werden, statt z.B. "/lg/o" muss "-lg -o" angeben werden.
Der Aufruf der Hilfe erfolgt über den Parameter -h, statt zuvor mit "-?". Weitere Parameter werden ignoriert.
Probleme mit der SGML-Dekodierung der Unicodeversion 2.00.0 behoben.
XML Converter Version 2.0.0 beta
Download:
nicht mehr verfügbar
Neu:
+ Umstellung auf Unicode
Erweiterungen:
Dekoder für UTF-8 (8 Bit, eingeschränkt auf Basic Multilingual Plane)
Dekoder für UTF-16 (16 Bit, eingeschränkt auf Basic Multilingual Plane, LE und BE)
Dekoder für UTF-32 (32 Bit, eingeschränkt auf Basic Multilingual Plane, LE und BE)
Dekoder für UCS-2 (16 Bit, LE und BE)
Dekoder für UCS-4 (32 Bit, eingeschränkt auf Basic Multilingual Plane, LE und BE)
Hinweis zur Betaversion:
Die Eingabe-Dekodierung erfolgt stets automatisch. Es wird der BMP-Unicode-Bereich unterstützt (Plane 0). In künftigen Versionen wird dieses Verhalten per Skript steuerbar sein.
Die Ausgabe-Kodierung ist stets ASCII. Zeichen außerhalb des ASCII-Bereiches werden in der Beta-Version als Zeichenverweise (z.B. ƭ) ausgegeben. In künftigen Versionen wird dieses Verhalten per Skript steuerbar sein.
Fehlermeldungen bei UTF8-Kodierungsfehlern verbessert.
Syntax der Kommandozeilenschalter für mehr Systemunabhängigkeit geändert (-c -lg). Die alte Syntax (/c/lg) ist weiterhin gültig. Achtung: Zwischen den Kommandozeilenparametern nach neuer Syntax sind jetzt Leerzeichen zwingend erforderlich.
Prüfmodus integriert. Dazu muss einfach die Angabe der Ausgabe weggelassen werden.
Konfigurationsdatei für TextPad 4.5.2, UltraEdit 17.00.0, NotePad++ 5.8.7, PsPad und CodePad 4.1 aktualisiert und Konfigurationsdatei für Codepad 2.0.2.0 neu hinzugefügt.
Operation "number" in TOKEN hinzugefügt, um reine Zahlenfolgen zu trennen bzw. Zahlenfolgen aus Texten zu exrahieren.
Korrekturen:
Stabilität verbessert (Probleme bei EMPTY-Abfrage in bestimmten Datensituationen beseitigt).
Probleme mit TOKEN bei der Aufsplittung von Zahlenfolgen mit Dezimalstellen behoben.
Probleme mit TOKEN bei Prozentberechung und gleichzeitiger Formatangabe behoben.
Probleme mit hexadezimalen Zeichenreferenzen behoben.
Mit NAMECASE kann die Groß-/Kleinschreibung der Bezeichner (Elementnamen und Attributnamen) gesteuert werden. In SGML-Daten lassen sich somit Daten vergleichbar mit XML unter Beachtung der Groß-/Kleinschreibung prüfen. In XML kann abweichend von der Norm die Groß-/Kleinschreibung ignoriert werden.
Erweiterte Kontextabfrage BEFOREX zur Prüfung, ob das aktuelle Element ein Vorgängerelement zum angegeben Element ist.
Erweiterte Kontextabfrage AFTERX zur Prüfung, ob das aktuelle Element ein Nachfolgeelement zum angegeben Element ist.
VALUE, IMPLIED und TOKEN geben Zahlen in der Voreinstellung mit minimierten Dezimalstellen aus (Ganzzahlen ohne Dezimalpunkt, ansonsten nur die vorhanden Dezimalstellen bis maximal 8 Dezimalstellen).
Korrekturen:
Die Berechnung mit VALUE mit negativem Offset ohne Formatangabe wurde korrigiert.
Der Attributvergleich zweier Attributwerte ist jetzt in allen Attributabfragen möglich. Dazu wird in einer Attributabfrage als 1. Parameter der Attributname des aktuellen Elementes angegeben und als 2. Parameter ein weiterer Attributname. Innerhalb von Kontextabfragen wird das 2. Attribut vom Kontextelement gelesen. So kann hiermit auch eine einfache REFID zu ID Abfrage realisiert werden.
Für SGML wurden die Funktionszeichenverweise &#RE;, &#RS;, &#TAB; und &#SPACE; implementiert. Die Definition im Skript kann über den Befehl ENTITY und den Funktionsnamen oder über die numerischen Werte erfolgen. Es darf allerdings nur eine Definition pro Zeichen im Skript definiert wer- den (z.B. #TAB oder #9).
kumulierte Fehlermeldungen bei Doppeldefinitionen von Elementen und Entitäten, Zeichenverweisen und Funktionszeichenverweisen im Skript.
Korrekturen:
Ein fehlender Vorgabewert eines Attributes erzeugt keine Fehlermeldung mehr.
Die Auswertung von Zeichenverweisen (dezimal und hexadezimal) wurde korrigiert.
Generelle Umstellung der internen Speicherverwaltung und der Speicherstrategien. Der Speicherbedarf ist gegenüber den Vorversionen erhöht, die Laufzeit des Skriptes wurde aber deutlich verbessert.
Erkennung von doppelten Definitionen von Elementen, Entitäten und Zeichenreferenzen.
Anzeige der verwendeten Syntax (SGML oder XML).
Korrekturen:
Innerhalb der Betriebsart "Konvertiermodus" (CONVERTENTITIES=ONLYDEFINED) wurde die Konvertierung von hexadezimalen Zeichenreferenzen korrigiert.
In Verzweigungen (IF-ELSEIF-ELSE-ENDIF) sind jetzt auch leere Anweisungsblöcke erlaubt (während der Skriptprogrammierung nötig, um Anweisungsblöcke temporär auszukommentieren).
Leerelemente in XML werden jetzt gemeinsam als Start- und Endtag geparst und konvertiert. Dabei werden die Regeln für BEG und END nacheinander ausgeführt. So können mit dem gleichen Regelsatz die Elemente <p>Text</p>, <p></p> und <p/> konvertiert.
Korrekturen:
Im Befehl COPY wurde die Ausführung der Elementregeln beim Ersetzungstyp DROP korrigiert.
Die Fehlermeldung bei leeren Attributwerten wurde beseitigt.
Skript kann als XML-Dokument erstellt werden. Als Basiselement dafür wird das Element <script> verwendet. Über die XML-Deklaration kann die Kodierung gesteuert werden, wobei "ASCII" oder "UTF-8" erlaubt sind.
Parameter /w zum Aktivieren der Webfehlermeldungen direkt in die Ausgabedaten (HTML). Achtung: Dieser Parameter ist nicht im Kompatibilitätsmodus verfügbar.
LITLEN (maximale Größe von Zeichenketten) wurde von 2048 auf 4096 (4 KByte) erweitert.
PILEN (maximale Größe von Verarbeitungsanweisungen) wurde von 2048 auf 16384 (16 KByte) erweitert.
Syntaxhervorhebung für TextPad.
Syntaxhervorhebung für UltraEdit.
Syntaxhervorhebung für CodePad.
Syntaxhervorhebung für NotePad++.
Handbuch erweitert.
Korrekturen:
XML Zeichenbereich für Bezeichner um die Startzeichen ":" und "-" erweitert.
Prüfung der Übereinstimmung der Kodierung von Skript und Daten und Ausgabe einer Fehlermeldung bei unterschiedlicher Kodierung.
Die XML-Kodierung wurde normgerecht auf UTF-8 eingestellt. Eine Kodierungsprüfung wurde für XML implementiert.
Der CHR-Befehl schreibt beliebige Zeichen oder Bytes.
Numerische Zeichenreferenzen (Dezimal oder hexadezimal) werden jetzt numerisch ausgewertet. In der ENTITY-Definition kann der numerische Wert dezimal #123 oder hexadezimal #xab angegeben werden. Trifft der Parser auf eine Zeichenreferenz, z.B. {, so werden die Entity-Regeln abgearbeitet, deren numerischer Wert diesem entspricht (unabhängig der Darstellung #123 oder #00123 oder #x7B oder #x007b).
Die Vorgabe für CONVERTELEMENTS ist jetzt ONLYDEFINED, im Kompatibilitätsmodus noch ALL.
Die Vorgabe für CONVERTENTITIES ist jetzt ONLYDEFINED, im Kompatibilitätsmodus noch ALL.
Die Konvertereinstellungen sind jetzt in beliebiger Reihenfolge erlaubt.
In FILE wurde die Dateinamenserweiterung auf optional geschalten.
In COPY ist jetzt auch das eigene Element kopierbar. Dazu muss der Parameter für den Elementnamen einfach weggelassen werden und die Parameter mit einem Komma begonnen werden.
Parameterklammern für IN, INX, AFTER und BEFORE für Kombinationen. Ohne Klammern wird das letzte Element als Ausgangsbasis für die nächste Bedingung genommen. Die Abfrage IF AFTER eintrag BEFORE eintrag prüft, ob sich das aktuelle Element hinter einem Element eintrag befindet und ob dieses Element eintrag vor einem Element eintrag befindet. Die Abfrage IF AFTER(eintrag) BEFORE(eintrag) prüft dagegen, ob sich das aktuelle Element hinter einem Element eintrag und auch vor einem Element eintrag befindet.
Bei CUT und DEL werden die Start- und Endtags erhalten, wenn die in den Erstzungtypen/Löschtypen ungleich FULL definiert sind.
COPY und CUT erhalten als letzten Optionalen Parameter einen Trenntext, der zwischen die einzelnen Treffer als Text in die Ausgabe eingefügt wird (adäquat den alten COPYALL, ASCALL, ALTALL).
Erweiterungen:
Probleme mit dem ENDE-Befehl direkt am Dateiende behoben.
Fehlermeldung in [], VALUE, IMPLIED und TOKEN bei nichtvorhandenen Elementen oder bei leeren oder nichtvorhandenen Attributwerten beseitigt.
Formatierung der TOKEN-Werte korrigiert.
XML-Verarbeitungsanweisungen (Processing Instructions, PI) wurden normgerecht mit einem Anwendungsziel (PI Target) )erweitert.
SGML-Verarbeitungsanweisungen (Processing Instructions, PI) wurden normgerecht auf beliebigen Text erweitert.
Probleme mit leeren erweiterten Vereinbarungen im Doctype der Dokumente beseitigt.
XML Converter Version 1.25.1 - 1.25.40
Download:
nicht mehr verfügbar
Kostenfreie Version!
Allgemeines:
Entfernung des Rechtemanagements.
XML-Kompatibilität verbessert. SGML- und XML-Parser verbessert.
Fehlermeldungen vereinheitlicht.
Erweiterung: Konvertierung von Dokumenten mit nichtdefinierten Elementen und Entitäten jetzt auch im SGML-Modus verfügbar.
Syntaxdateien für externe Editoren wurden vorbereitet.
Generelle Handbuchüberarbeitung.
Erweiterungen im Datenbereich:
NAMELEN wurde von 40 auf 255 erweitert.
LITLEN wurde von 1024 auf 2048 erweitert.
PILEN wurde von 255 auf 2048 erweitert.
Der gültige Zeichenbereich wurde um das Zeichen ~ (Tilde) erweitert.
Korrekturen:
VALUE- und IMPLIED-Abfragen jetzt ohne Fehlermeldung bei Attributen mit fehlendem Vorgabewert. Korrekte Vergleichswerte auch bei leeren Attributwerten bzw. Vorgabewerten.
Die Fehlermeldung bei Attributen in den Daten, die keine Entsprechung im Skript haben, wurde entfernt.
Erweiterungen im Skriptbereich:
Die Einstellung CONVERTELEMENTS erhielt den neuen Wert DROPUNDEFINED. So lassen sich alle im Skript undefinierten Elemente in der Ausgabe übergehen.
Die Einstellung CONVERTDATA wurde hinzugefügt. Damit lassen sich Leerbereiche (Whitespaces) unterdrücken.
Funktionsänderung der bestehenden Operatoren: "=" und "<>": (gleich und ungleich) unabhängig der Groß- und Kleinschreibung
Neue Vergleichsoperatoren "==" und "!=" eingeführt: (identisch und nicht identisch) abhängig der Groß- und Kleinschreibung.
Neuer Befehl IMPLIED für vererbte Attribute (als Abfrage und als Ausgabeanweisung).
Neuer Abfrage VALUE adäquat zu IMPLIED für Attribute (als Abfrage zusätzlich zur Ausgabeanweisung).
VALUE- und IMPLIED-Ausgabeanweisungen jetzt auch mit Elementangabe möglich.
Formatparameter für VALUE, IMPLIED und TOKEN. Das Format kann mit "(#.###)" z.B. auf dreistellig definiert werden.
VALUE und IMPLIED jetzt alternativ zum Format auch mit Ersetzungstyp ASC oder ALT einstellbar.
COUNT zählt jetzt auch römisch mit dem Parameter ROM (i, ii, iii, iv, …) und UPROM (I, II, III, IV, …).
Die Beschränkung der COUNT-Ergebnisse wird erweitert auf 32 Zeichen. Bei Überschreitung dieser Größe wird das Ergebnis abgeschnitten, eine Fehlermeldung ausgegeben, die Konvertierung aber normal fortgesetzt.
COUNT zählt jetzt auch die Anzahl der Elemente im gesamten Dokument.
Die Ersetzungstypen bei COPY und CUT wurden vereinheitlicht, die Ersetzungstypen ALTFULL, ALTASC und DROP wurden entfernt. Die Elementregeln des eigenen Elementes werden nur noch beim Ersetzungstyp FULL ausgeführt.
Alle Kontextabfragen jetzt einheitlich mit Attributbedingungen möglich.
Neuer Befehl NOTSUB als Negation von SUB.
XML Converter Version 1.23
Download:
nicht mehr verfügbar
Letzte kommerzielle Version!
Allgemeines:
Probleme bei der Prüfung der Attributdefinitionen aus Version 1.22 beseitigt.
Fehler bei Prüfung der Attributdefinitionen führen nicht mehr zum Abbruch, es werden lediglich Fehlermeldungen ausgegeben.
Probleme beim Start mit fehlerhaften Pfadbezeichnungen beseitigt.
XML Converter Version 1.22
Download:
nicht mehr verfügbar
Allgemeines:
Statusrückmeldung an Konsole über "errorlevel" 0: Erfolg 1: Fehler 2: Daten-/Konvertierungsfehler
Alle Attributdefinitionen sind für die Elementkonvertierung ab dieser Version erforderlich, so muss jedes Attribut aus den zu konvertierenden Daten auch in der jeweiligen ATTLIST-Definition des betreffenden Elementes definiert sein. Im Konvertierungsmodus betrifft das nur die definierten Elemente.
XML Converter Version 1.21
Download:
nicht mehr verfügbar
Allgemeines:
Fehler bei Ausführung von AFTER, NOTAFTER, BEFORE und NOTBEFORE beseitigt (der folgende Befehl wurde in der Version 1.20 ignoriert).
Rekursionsschutz auf den COPY-Typ DOC beschränkt. Der Rekursionsschutz vergleicht die Kontextnamen der aufrufenden Routinen und bricht das Programm ab, wenn diese Bezeichnungen identisch sind.
XML Converter Version 1.20
Download:
nicht mehr verfügbar
Allgemeines:
AFTER, BEFORE, IN, INX, NOTAFTER, NOTBEFORE, NOTIN, NOTINX können jetzt mehrere Elemente mit einer Anweisung abfragen. Dazu können die Elementnamen mit Komma getrennt aufgeführt werden. z.B. "IF IN p,liste,fn"
Attributabfragen zweier Attribute möglich. z.B. "IF [id=refid]"
XML Converter Version 1.19
Download:
nicht mehr verfügbar
Allgemeines:
COPY/CUT mit dem Datenersetzungstyp DROP erweitert.
Korrektur der END-Regeln bei Verwendung in COPY oder CUT.
Achtung!
Der COPY- und CUT-Befehl führt unabhängig vom gewählten Ersetzungsmodell die Elementregeln des angegebenen Befehls stets aus. So lassen sich selbst beim Auslassen der Daten (DROP) Attribute vom angegebenen Element auslesen.
Die in COPY/CUT angegebenen Datentypen können im Zielelement mit DAT=... überschrieben werden. (In den Vorversionen ging das NICHT!)
XML Converter Version 1.18
Download:
nicht mehr verfügbar
Allgemeines:
Fehler bei der Entitätenkonvertierung innerhalb von Attributen beseitigt.
Achtung!
Der COPY- und CUT-Befehl führt unabhängig vom gewählten Ersetzungsmodell die Elementregeln des angegebenen Befehls stets aus. So lassen sich selbst beim Auslassen der Daten (DROP) Attribute vom angegebenen Element auslesen.
Die in COPY/CUT angegebenen Datentypen können im Zielelement mit DAT=... überschrieben werden. (In den Vorversionen ging das NICHT!).
XML Converter Version 1.17
Download:
nicht mehr verfügbar
Allgemeines:
Parser erkennt jetzt ungültige Daten hinter der Instanz.
Parser prüft jetzt Zeichencodierung. Dabei werden Zeichen >= 126 generell als ungültig betrachtet, im Steuerzeichenbereich werden nur Tabulator (HT), Zeilenvorschub (LF) und Wagenrücklauf (CR) erlaubt.
Probleme mit "DROP" beseitigt.
Alte Befehle COPYALTALL, COPYALTONE, COPYASCONE, etc. funktionieren wieder wie original definiert.
XML Converter Version 1.16
Download:
nicht mehr verfügbar
Allgemeines:
Rekursionsschutz für die Befehle COPY, CUT und DEL hinzugefügt.
Skriptbefehle entsprechend der Groß-/Kleinschreibung (XML) für Benennungen der Elemente und Attribute umgestellt.
XML Converter Version 1.15
Download:
nicht mehr verfügbar
Allgemeines:
Probleme mit COPY/CUT und DEL beseitigt.
HINWEIS: Im Element, dass mit CUT ausgeschnitten werden soll, darf am Endtag selbst kein COPY, CUT oder DEL stehen, da beim CUT die Daten sequentiell kopiert und gelöscht werden. Ein COPY, CUT oder DEL startet die Unterelementsuche stets vom Starttag des eigenen Elementes aus - und dieser Starttag wäre im gegebenen Fall bereits gelöscht worden. Alternative: Erst COPY-Befehl, dann DEL-Befehl ausführen.
XML Converter Version 1.14
Download:
nicht mehr verfügbar
Allgemeines:
DAT=DROP in allen Kontexten erlaubt.
CUT mit allen Ersetzungstypen wie COPY definiert.
DEL hinzugefügt (Typ FULL oder DATA).
XML Converter Version 1.13
Download:
nicht mehr verfügbar
Allgemeines:
CUT muss jetzt parametergesteuert angegeben werden: FULL = Alle Elemente und Daten ausschneiden (kopieren und entfernen (Achtung: Die Daten werden beim Parsen entfernt; Kontextregeln dürfen nicht auf bereits entfernte Elemente angewendet werden!) DATA = Nur die Daten ausschneiden (kopieren und entfernen), Elemente bleiben erhalten.
XML Converter Version 1.12
Download:
nicht mehr verfügbar
Allgemeines:
Problem mit Groß-/Kleinschreibung der Attributnamen im Skript beseitigt. Elemente und Attribute können XML-konfirm in der definierten Groß-/Kleinschreibung angegeben werden.
XML als Vorgabe definiert.
Probleme mit CUT beseitigt.
XML Converter Version 1.11
Download:
nicht mehr verfügbar
Allgemeines:
Probleme mit temporären Dateien beseitigt. MS Visual C++ Bug (Article ID: Q51326).
XML Converter Version 1.10
Download:
nicht mehr verfügbar
Allgemeines:
Attributausgabe im Konvertiermodus für undefinierte Elemente eingefügt.
XML- und SGML-Empty-Elemente werden auch im Konvertiermodus korrekt bestimmt.
interne Programmänderung, Modul für SGML-Declaration eingefügt. Steuerung von XML/SGML jetzt über dieses Modul.
XML Converter Version 1.9
Download:
nicht mehr verfügbar
Allgemeines:
Attributabfragen verändert bzw. Vorgabewert-Auswertung korrigiert.
Achtung! Zur Abfrage/Auswertung von Attributen muss im aktuellen Element nur das Attribut ([Attribut]) angegeben werden, ansonsten vollständig (Element[Attribut]). Eine Abfrage einer Eigenschaft (Attribut) eines übergeordneten Elementes ohne Angabe des Elementnamens ist nicht mehr möglich!
Bei den Typen: DATA (Nur Daten komplett konvertieren, Keine Unterelemente), ALT (Unterelemente und Daten alternativ konvertieren), ASC (Unterelemente und Daten nach ASCII konvertieren), DROP (Daten und Unterelemente auslassen) werden die Regeln der aufgerufenen Element nicht mehr bearbeitet! Es werden nur die reinen Daten konvertiert bzw. ausgelassen
COPY/Cutt-Funktionsweise korrigiert. Die angegeben Ersetzungstypen (FULL, ALTFULL, ASCFULL, ...) werden auf alle Unterelemente vererbt. Achtung! Diese Ersetzungstypen können in den Regeln eines Unterelementes überschrieben werden.
Befehlsnotation der alten Copy-Befehle bereinigt: NEU: ALT ----------------------------------- --------------------- COPYONE: FINDONE COPYALL: FINDALL COPYALTONE: ALTONE COPYALTALL: ALTALL COPYASCONE: ASCONE COPYASCALL: ASCALL
Neue Schalter zur XML Convertersteuerung: CONVERTELEMENTS = ALL|ONLYDEFINED** CONVERTENTITIES = ALL|ONLYDEFINED Die Steuerung bewirkt: ALL: Alle Elemente oder Entitäten werden übersetzt, d.h., für jedes Element oder jede Entität muss eine Ersetzungsregel existieren. ONLYDEFINED: Nur die definierten Elemente oder Entitäten werden übersetzt, alle nicht definierten Elemente oder Entitäten bleiben im Zielfile erhalten.
** Diese Funktion ist nur im XML-Mode verfügbar!
SGML Converter Version 1.7
Download:
nicht mehr verfügbar
Allgemeines:
COPY/CUT/SUB jetzt parametergesteuert über Kontextnamen. Den Befehlen COPY und CUT kann als letzter Parameter ein frei definierbarer Kontextbezeichner mitgegeben werden. Dieser Parameter kann in den SUB-Abfragen ausgewertet werden, wodurch eindeutige Kontextzuordnungen ermöglicht werden. Neue Syntax: COPY(Elementname,Suchtyp,Ersetzungstyp,Kontextname?) CUT(Elementname,Suchtyp,Kontextname?) SUB SUB(Kontextname) Wenn kein Kontextname angegeben wird, wird der aktuelle Elementname als Kontextname verwendet. Beispiel: Im Element dok sollen alle untergeordneten Elemente index zuerst als Attributwerte eingesammelt und mit "|" getrennt werden, dann sollen alle Elemente "index" als Liste dargestellt werden: ELEMENT dok BEG='<HTML><HEAD>' BEG='<... keywords="'+COPY(index,ALL,ASC,sammeln)+'"></HEAD>' BEG='<BODY><DIV>'+COPY(index,ALL,FULL,liste)+'</DIV></BODY>' END='</HTML>' ... ELEMENT index // (fuer Kontext sammeln) IF SUB(sammeln) // Alle Stichworteintraege IF NOTFIRST // suchen und mit Trennzeichen BEG="|" // formatieren. ENDIF // (fuer Kontext liste) ELSEIF SUB(liste) // Alle Stichworteintraege BEG="<P>" // suchen und als Textliste END="</P>" // formatieren. ENDIF
SGML Converter Version 1.6
Download:
nicht mehr verfügbar
Allgemeines:
Syntax bereinigt, Kontextregeln korrigiert.
Probleme mit "aufhängendem" NOTFIND behoben.
Neue Syntax für COPY, CUT, FIND, NOTFIND, TOPLEVEL, NOTTOPLEVEL
TOPLEVEL und NOTTOPLEVEL dürfen nicht mehr in Klammern angegeben werden ALT: IF (TOPLEVEL) ... NEU: IF TOPLEVEL ...
FIND und NOTFIND dürfen nicht mehr in Klammern angegeben werden ALT: IF (FIND(p)) ... NEU: IF FIND(p) ...
Die erweiterten Kontextabfragen in FIND und NOTFIND dürfen nicht mehr separat in Klammern angegeben werden ALT: IF (FIND((p IN item))) ... NEU: IF FIND(p IN item) ...
FIND und NOTFIND erhalten einen optionalen Parameter, den Suchtyp (DOC oder ONE) DOC: Suche im gesamten Dokument ONE: Suche ein Unterelement Beispiel 1: NEU: IF FIND(fn,DOC) ... ermittelt das Vorhandensein von Fußnoten im gesamten Dokument Beispiel 2: NEU: IF FIND(fn) ... ermittelt das Vorhandensein von Fußnoten innerhalb von Unterelementen des aktuellen Elementes.
COPY und CUT erhalten einen neuen Parameterwert für den Suchtyp (DOC) DOC: Suche und Bearbeitung aller Elemente im gesamten Dokument und die bisherigen Werte ONE: Suche und Bearbeitung ein Unterelement ALL: Suche und Bearbeitung aller Unterelemente.
SGML Converter Version 1.5
Download:
nicht mehr verfügbar
Allgemeines:
Bedingungstypen erweitert: BEFORE und NOTBEFORE, AFTER und NOTAFTER, FIRST und NOTFIRST, LAST und NOTLAST, IN und NOTIN, INX und NOTONX, TOPLEVEL und NOTTOPLEVEL, sowie FIND und NOTFIND.
Beliebige Verschachtelungen von Kontextbefehlen jetzt möglich (IN, NOTIN, INX, NOTIOX, BEFORE, NOTGEFORE, AFTER, NOTAFTER, FIRST, NOTFIRST, LAST und NOTLAST).
SGML Converter Version 1.4
Download:
nicht mehr verfügbar
Allgemeines:
Kommentare wurden realisiert.
Kommentarzeilen werden mit // eingeleitet und mit einem Zeilenwechsel angeschlossen.
Kommentarbereiche werden durch /* eingeleitet und mit einem */ abgeschlossen.
Achtung! Kommentare dürfen nur in Whitespace-Bereichen des Skriptes eingefügt werden, z.B. korrekt: BEG=CHR(24) // Kommentar BEG=/*Kommentar*/CHR(24)
SGML Converter Version 1.3
Download:
nicht mehr verfügbar
Allgemeines:
Bei der TOKEN-Verarbeitung werden jetzt Fehler lokal (in den Daten und im Skript) angezeigt.
Fehler bei Einheitenumrechnung ohne Angabe der Ausgangseinheit beseitigt bzw. Fehlermeldung generiert.
Bei COPY/CUT wurde im Debugmodus eine Fehlermeldung bei fehlendem Treffer zur Kontrolle generiert.
Die Befehle BEG/END/ERR wurden um den Ersetzungsmodell-Befehl DAT erweitert.
Im COPY/CUT-Befehl müssen jetzt alle Parameter stets angegeben werden. Der Ersetzungstyp ist dem DAT-Befehl angepasst worden.
Die Ersetzungsmodell-Varianten für den Befehl DAT sowie für die COPY-Anweisung wurden wie folgt erweitert: FULL (Unterelemente und Daten komplett konvertieren), DATA (Nur Daten komplett konvertieren, Keine Unterelemente), ALT (Unterelemente und Daten alternativ konvertieren), ALTFULL (Nur Daten alternativ konvertieren, Keine Unterelemente), ASC (Unterelemente und Daten nach ASCII konvertieren), ASCFULL (Nur Daten nach ASCII konvertieren, Keine Unterelemente) und DROP (Daten und Unterelemente auslassen), wobei zu beachten ist, dass auch bei den Typen DATA, ALT und ASC die Daten der Unterelemente mit konvertiert werden.
SGML Converter Version 1.2
Download:
nicht mehr verfügbar
Allgemeines:
SYNTAX-Schalter im Header (SGML oder XML) hinzugefügt
Fehlerbehandlung bei nicht definierten Elementen oder Entitäten tolerant gestaltet (Fehlermeldung, aber kein Abbruch mehr)
Erweiterter Namensbereich um "-" und "_" für den Parser festgelegt
Generelle Änderung des Parameters "DTD"; dieser wird durch die Parameter "SYSTEM" und "PUBLIC" ersetzt.
Es kann ein System-Identifier (SYSTEM) für das Skript definiert werden und zusätzlich (optional) ein oder mehrere Public-Identifier (PUBLIC). Beispiel: SYSTEM = "test.dtd" PUBLIC = "-//Musterfirma//Test 1.00//DE" PUBLIC = "-//Musterfirma//Test 1.01//DE"
Die eingetragenen SYSTEM- bzw. PUBLIC- Identifier werden beim Parsen der Instanzen geprüft. Wird ein nicht definierter Identifier verwendet, bricht der Parser mit einer Fehlermeldung ab.
Fehlermeldung bei nicht angegeben Skriptnamen hinzugefügt.
Fehlermeldung bei abgelaufener Lizenz hinzugefügt.
XML-Namensbereich mit ":" hinzugefügt.
Die Kontextabfragen IN und INX wurden korrigiert. So wurde ein Bug der ersten Version beseitigt, der in der Kontextabfrage das eigene Element mit berücksichtigt hatte. Hinweis: Skripte, die diese alte Funktionalität benötigen, müssen angepasst werden.
Problem der COUNT-Funktion der Version 1.02D behoben.
SGML Converter Version 1.1
Download:
nicht mehr verfügbar
Allgemeines:
Debugmodus mit Kommandozeilenschalter "/d" hinzugefügt.
Debugmeldungen im Skript werden mit Zeilen- und Zeichennummer angegeben.
Problem mit Abfragen der Vorgabewerte von Attributen in übergeordneten Elementen behoben
SGML Converter Version 1.0A - 1.0J
Download:
nicht mehr verfügbar
Allgemeines:
ASCII-Ersetzung hinzugefügt.
TOKEN erweitert (%).
ASCALL und ASCONE als zusätzliche ASCII-Funktionen hinzugefügt.
EMPTY-Bedingung hinzugefügt.
ALT- und ASC-VALUE hinzugefügt
FILENAME hinzugefügt zur Erzeugung einer einzige Ausgabedatei bei mehreren Eingabedateien.
COPY und CUT kann per Parametersteuerung jetzt wahlweise alle (ALL) oder nur den ersten Treffer (ONE) umsetzen
Erweiterte Fehlermeldung für COUNT
Geänderte Struktur für Start- und Endtags mit erweiterten Fehlermeldungen
Erweiterte Fehlermeldungen bei VALUE, ASCVALUE und ALTVALUE
Bedingung SUB hinzugefügt.
COPY und CUT haben eine gemeinsame Funktion bekommen: COPYCUT, die mit dem Parameter CUTDATA gesteuert wird
FULL und ALTFULL überarbeitet. Mit der neuen Condition SUB lässt sich mit normalen Elementregeln das Ersetzungsverhalten steuern.
Im Parser wurden Fehlermeldungen für fehlerhaft schließende Elemente verbessert.
Für die TOKEN-Funktion wurde eine spezielle Unterfunktion integriert, mit der die korrigierte Gesamtsumme aller Tokenwerte berechnet werden kann. Dazu muss bei der Einheit der Präfix "s:" angegeben werden.
TOKEN: Es werden generell keine Einheiten mehr zurückgegeben. Wenn keine Umrechnung erfolgen soll, wird trotzdem die alte Einheit abgeschnitten!
TOKEN: positiver/negativer Offset als Suffixparameter ":+{wert}" bzw. ":-{wert}" realisiert.
TOKEN: Fehler bei Summenberechnung ohne Angabe eines Korrekturfaktors oder einer neuen Einheit beseitigt!
Problem bei der Bearbeitung von COPY/CUT mit erweiterten Kontextbedingungen beseitigt.
Problembeseitigungen und Anpassungen für den Einsatz mit Windows NT.
Für die Ausgabe können jetzt relative Pfade angegeben werden.
Ausgabe von Anwendungsfehlermeldungen ERR mit Positionsangabe.
SGML Converter Version 1.0
Download:
nicht mehr verfügbar
Erste ausgelieferte kommerzielle Version.
Produktname: „mediaTEXT SGML Konverter“
Allgemeines:
Start des Projektes im Januar 1999
Bis zur Auslieferung der Version 1.00 im April 1999 wurden insgesamt 69 Revisionen erstellt.