Code Beispiele

Arbeiten mit XML

Die nachfolgenden Beispiele sind als F-Script Fragmente zu verstehen. Soll beispielsweise ein File Adresse.xml erstellt werden, sind die XML-Befehle zusammen mit einem WRITE zu verwenden. Natürlich muss in diesem Fall zuerst ein WRITE-Kanal geöffnet und ein File erstellt werden. Diese Code-Zeilen werden hier nicht dargestellt.
Wichtig
Wichtig
Beim Schreiben von xml-Files ist immer das Encoding anzugeben!
WRITE(1:UTF8... oder WRITE(1:ANSI...
Notiz
Notiz
Diese Funktion steht auch innerhalb von F-Script Blöcken zur Verfügung.
# Kommentarzeile schreiben
«WRITE(1:UTF8 «XML(Comm:Ausgeben von Adressdaten)»)»
# Name und Vorname ausgeben
«WRITE(1:UTF8 «XML(Elem:Name, «NAME»)»)»
«WRITE(1:UTF8 «XML(Elem:Vorname, «VORNAME»)»)»
# Separates Tag ausgeben
«WRITE(1:UTF8 «XML(STag:Übergabedatum)»)»
«WRITE(1:UTF8 «XML(Text:Letztes übergabedatum: 16.10.2009)»)»
«WRITE(1:UTF8 «XML(ETag:Übergabedatum)»)»
Notiz
Notiz
Falls xml-Tags direkt mit Werten versehen werden müssen, beachten Sie bitte, dass Quotes generell escaped werden.
# Im xml-File soll nachfolgende Zeile bzw. Struktur geschrieben werden:
# <CountryCode isoCountryCode="CH">41</CountryCode>
«WRITE(1:UTF8 «XML(STag:CountryCode,isoCountryCode="CH")»41«XML(ETag:CountryCode)»)»
# 
# Im xml-File soll nachfolgende Zeile bzw. Struktur geschrieben werden:
# <State StateCode="ZH">Zürich</State>
«WRITE(1:UTF8 «XML(STag:State,StateCode="ZH")»«XML(Text:Zürich)»«XML(ETag:State)»)»
# 
# Innerhalb eines xml-Tags soll ein Attribut dynamisch verwendet werden.
# Dabei ist nicht klar, ob das Attribut Quotes enthält.
# Das Attribut muss deshalb innerhalb von Quotes mit XML(Text... ausgegeben werden.
«WRITE(1:UTF8 «XML(STag:DocumentHeader,Betrag='«XML(Text:«AUF-TOTAL$\N,.00t'»)»')»«XML(ETag:DocumentHeader)»)»
# 
# Verwenden einer X-Variable mit Quotes:
«X(Artikel=<100" LCD>)»
# Verwenden dieser Variable beim Schreiben eines XML-Files:
«WRITE(1:UTF8 «XML(STag:Artikel,attribut="«XML(Text:«X(Artikel)»)»")»«XML(ETag:Artikel)»)»
Achtung
Achtung
Ab v15.10.02.64 bzw. v15.10.03.130 werden Quotes neu generell escaped.
Das hat u.U. zur Folge, dass Sie bestehende F-Scripts anpassen müssen.
Falsch
«WRITE(1:UTF8 «XML(STag:CountryCode,«XML(Text:Ländercode="CH")»)»41«XML(ETag:CountryCode)»)»
Richtig
«WRITE(1:UTF8 «XML(STag:CountryCode,Ländercode="CH")»41«XML(ETag:CountryCode)»)»
# 
«WRITE(1:UTF8 «XML(STag:DocumentHeader,Betrag="100'000.00")»«XML(ETag:DocumentHeader)»)»
oder
«WRITE(1:UTF8 «XML(STag:CountryCode,Ländercode="«XML(Text:CH)»")»41«XML(ETag:CountryCode)»)»
# 
«WRITE(1:UTF8 «XML(STag:DocumentHeader,Betrag='«XML(Text:«AUF-TOTAL$\N,.00t'»)»')»«XML(ETag:DocumentHeader)»)»