Autor Thema: XML & encoding: ISO-8859-15  (Gelesen 8821 mal)

Offline dirkkid

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
XML & encoding: ISO-8859-15
« am: 11.09.12 - 12:42:02 »
Hallo,

wenn ich versuche eine XML Datei zu lesen die nach  ISO-8859-15 kodiert ist erhalte ich folgende Fehlermeldung des Parser-Logs:

Zitat
<?xml version='1.0'?>
<DOMParserLog>
<fatalerror source='NotesInputSource' line='1' column='62'>An exception occurred! Type:TranscodingException, Message:Could not create a converter for encoding: ISO-8859-15</fatalerror>
<error>DOM parser operation failed</error>
</DOMParserLog>

Ändere ich das encoding der Datei auf ISO-8859-1, wird die Datei fehlerfrei eingelesen.

Kann Notes generell die ISO-8859-15 nicht dekodieren??? Oder kann man dem Parser irgendeine Anweisung mitgeben die Kodierung zu ignorieren?

Vielen Dank für eure Hilfe
Dirk

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: XML & encoding: ISO-8859-15
« Antwort #1 am: 11.09.12 - 13:20:25 »
Geht es so nicht?

Code
<?xml version="1.0" encoding="ISO-8859-15" ?>
....

Gruß
Roland

/edit: Ich hatte aber auch schon mal eine Datei, die im Header "behauptet" ISO-xxx codiert zu sein und dann Zeichen enthielt, die nicht in der Codepage vorkommen... da kommt der Parser dann nicht weiter. Ist das dein Problem?
« Letzte Änderung: 11.09.12 - 13:23:29 von pram »
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline dirkkid

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
Re: XML & encoding: ISO-8859-15
« Antwort #2 am: 11.09.12 - 13:31:19 »
Geht es so nicht?

Code
<?xml version="1.0" encoding="ISO-8859-15" ?>
....

Gruß
Roland

/edit: Ich hatte aber auch schon mal eine Datei, die im Header "behauptet" ISO-xxx codiert zu sein und dann Zeichen enthielt, die nicht in der Codepage vorkommen... da kommt der Parser dann nicht weiter. Ist das dein Problem?


Die Datei sieht so aus:

Zitat
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<UC_PersoenlicheVersichertendatenXML CDM_VERSION="5.1.0" xmlns="http://ws.gematik.de/fa/vsds/UC_PersoenlicheVersichertendatenXML/v5.1">
<Versicherter>
   <Versicherten_ID>123456789</Versicherten_ID>
   <Person>
      <Geburtsdatum>19700101</Geburtsdatum>
      <Vorname>Hans</Vorname>
      <Nachname>Mustermann</Nachname>
      <Geschlecht>M</Geschlecht>
      <StrassenAdresse>
         <Postleitzahl>00000</Postleitzahl>
         <Ort>Musterdorf</Ort>
         <Land>
            <Wohnsitzlaendercode>D</Wohnsitzlaendercode>
         </Land>
         <Strasse>Muster-Str.</Strasse>
         <Hausnummer>1</Hausnummer>
      </StrassenAdresse>
   </Person>
</Versicherter>
</UC_PersoenlicheVersichertendatenXML>

Wie gesagt - sobald ich die 5 rausnehme wird die Datei gelesen und ich kann sie parsen.

Gruß
Dirk

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: XML & encoding: ISO-8859-15
« Antwort #3 am: 11.09.12 - 15:41:43 »
Aus der Meldung
<?xml version='1.0'?>
<DOMParserLog>
<fatalerror source='NotesInputSource' line='1' column='62'>An exception occurred! Type:TranscodingException, Message:Could not create a converter for encoding: ISO-8859-15</fatalerror>
<error>DOM parser operation failed</error>
</DOMParserLog>
schließe ich, dass der Parser  bereits hier
Zitat
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
aussteigt. Das sieht aus, als ob es den Konverter "ISO-8859-15" nicht gibt: -> http://atnotes.de/index.php/topic,36896.msg232224.html#msg232224
Verwendest du evtl noch Notes 6?

Gruß
Roland

Ändere ich das encoding der Datei auf ISO-8859-1, wird die Datei fehlerfrei eingelesen.

Kann Notes generell die ISO-8859-15 nicht dekodieren??? Oder kann man dem Parser irgendeine Anweisung mitgeben die Kodierung zu ignorieren?

Vielen Dank für eure Hilfe
Dirk
[/quote]
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline dirkkid

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
Re: XML & encoding: ISO-8859-15
« Antwort #4 am: 11.09.12 - 15:51:34 »
Ich verwende Release 8.5.3FP2.

Wenn das encoding für ISO-8859-15 wirklich nicht unterstützt wird, werde ich wohl vor dem Parsen die ISO-8859-15 in ISO-8859-1 ändern müssen... :o

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: XML & encoding: ISO-8859-15
« Antwort #5 am: 11.09.12 - 19:06:59 »
Kann ich mir fast nicht vorstellen, kannst du mal ein kurzes Scriptschnipsel pasten, wie du die Datei einliest, dann probiere ich das morgen mal aus.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: XML & encoding: ISO-8859-15
« Antwort #6 am: 11.09.12 - 20:30:26 »
Unter 8.5.3 (ohne Fixpack, kanns morgen nochmal auf einer anderen Maschine testen) läuft folgender Code:
Code
Sub Initialize
	Dim sess As New NotesSession
	Dim iStream As NotesStream
	Dim oStream As NotesStream
	Set iStream = sess.CreateStream
	Set oStream = sess.CreateStream
	Call iStream.Writetext(|<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<UC_PersoenlicheVersichertendatenXML CDM_VERSION="5.1.0" xmlns="http://ws.gematik.de/fa/vsds/UC_PersoenlicheVersichertendatenXML/v5.1">
<Versicherter>
   <Versicherten_ID>123456789</Versicherten_ID>
   <Person>
      <Geburtsdatum>19700101</Geburtsdatum>
      <Vorname>Hans</Vorname>
      <Nachname>Mustermann</Nachname>
      <Geschlecht>M</Geschlecht>
      <StrassenAdresse>
         <Postleitzahl>00000</Postleitzahl>
         <Ort>Musterdorf</Ort>
         <Land>
            <Wohnsitzlaendercode>D</Wohnsitzlaendercode>
         </Land>
         <Strasse>Muster-Str.</Strasse>
         <Hausnummer>1</Hausnummer>
      </StrassenAdresse>
   </Person>
</Versicherter>
</UC_PersoenlicheVersichertendatenXML>|)
	Dim parser As NotesDOMParser
	Set parser = sess.Createdomparser(iStream, oStream)
	On Error GoTo errhand
	Call parser.Process()
	Dim doc As NotesDOMDocumentNode
	Set doc = parser.Document
	MsgBox doc.Documentelement.Nodename ' liefert UC_PersoenlicheVersichertendatenXML
	
	Exit Sub
errhand: MsgBox parser.Log
	Exit sub	
End Sub
Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline dirkkid

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
Re: XML & encoding: ISO-8859-15
« Antwort #7 am: 12.09.12 - 11:48:59 »
Hallo Roland,

dank Dir habe ich meinen, zugegebenermaßen peinlichen, Fehler jetzt endlich gefunden...

Ich habe beim öffnen der Datei den Charset nicht mitangegeben:

Zitat
Call inputStream.Open("C:\Test.xml"))

statt:

Zitat
Call inputStream.Open("C:\Test.xml"), "Unicode")

Danke noch mal für deine Hilfe!
Gruß
Dirk

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz