Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: gfunkus am 02.05.03 - 19:02:54

Titel: XML in DOmino importieren...
Beitrag von: gfunkus am 02.05.03 - 19:02:54
Da bin ich wieder mit neuen Problemen ???

Und zwar versuche ich gerade xml zu importieren... (welches mir auch schon gelungen ist...)
Leider nur mit den Beispieldateien aus einer Schulung... :-(

ich habe eine xml datei welche so aufgebaut ist:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE journal SYSTEM "ajournal.dtd">
<journal>
<anruf>
<status></status>
<msn>4xxx80x</msn>
<anrufer>Mönchengladbach (02161xxxxx)</anrufer>
<dienst>Analoger Telefondienst / Fax</dienst>
<datum>02.05.2003 17:43:24</datum>
<c_id></c_id>
</anruf>
...
</journal>


Hier der Quellcode...

Den Fehler welchen ich bekomme:
fatalerror line='2479' column='17'
Expected Entity Name for reference /fatalerror

xsltransformoperation failed


Ich bin mir relativ sicher das es an meinem .XSL liegt...

Wer kann helfen??? Danke im voraus...
--->Schnipp

<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>

<!--
   This xsl:output element causes XSL to output an XML declaration
   line followed by a DOCTYPE statement having a SYSTEM value of
   "domino.dtd".  (Note: setting the method attribute to "xml" is really
   not necessary because that is its default value).
-->

   <xsl:output method="xml" doctype-system="domino.dtd"/>

   <xsl:template match="*|@*"/>
   <xsl:template match="text()"/>

   <xsl:template match='journal'>
      <database xmlns='http://www.lotus.com/dxl' version='1.01'>
         <xsl:text>&#10;</xsl:text>
                   <xsl:apply-templates select="anruf"/>
      </database>
   </xsl:template>

   <xsl:template match="anruf">
      <document xmlns='http://www.lotus.com/dxl' form='anruf'>
         <xsl:text>&#10;</xsl:text>
                   <xsl:text>    </xsl:text>
         <item name='msn'>
            <text><xsl:value-of select="msn"/></text>
         </item>  <xsl:text>&#10;</xsl:text>
               </document>
      <xsl:text>&#10;</xsl:text>
   </xsl:template>

<

Titel: Re:XML in DOmino importieren...
Beitrag von: gfunkus am 05.05.03 - 12:16:02
Hat hier keiner Erfahrungen im XML Umfeld und kann helfen??? :(

Titel: Re:XML in DOmino importieren...
Beitrag von: schlikkes2 am 06.05.03 - 11:55:18
es wäre ganz hilfreich zur fehlersuche, wenn du uns mal mitteilst, was in der Zeile 2479 Spalte 17 steht.
Titel: Re:XML in DOmino importieren...
Beitrag von: gfunkus am 06.05.03 - 12:36:55
Das scheint die Fehlermeldung für ein fehlendes XSL zu sein???
Titel: Re:XML in DOmino importieren...
Beitrag von: Axel_Janssen am 06.05.03 - 12:53:40
ich vermute, es bezieht sich auf Zeile 2479 der journal-xml Datei, die Du versuchst zu parsen.

Bei Fatal-Error von xml-parsern denke ich zunächst immer an Probleme bezüglich der well-formedness der xml Datei.

Öffne einfach die Datei des journal-xml-files mit einem Editor mit Zeilennummern und poste hier die Zeilen 2469 bis 2489
Titel: Re:XML in DOmino importieren...
Beitrag von: gfunkus am 06.05.03 - 13:25:41
da steht in der zeile

<status>A</status>

also nichst was nicht in anderen vorherigen zeilen auch gestanden hat.
Titel: Re:XML in DOmino importieren...
Beitrag von: gfunkus am 06.05.03 - 14:07:10
Fehler gefunden...


lag wohl an einem "&"
wie kann man denn diese "&" mit importieren???


MFG

Gfunkus
Titel: Re:XML in DOmino importieren...
Beitrag von: Axel_Janssen am 06.05.03 - 14:16:29
Bitte berichte. Interessiert mich:

Versuch & hiermit zu ersetzen:
&amp;
(im xml file)

Dies ist eine von 5 entity referenzen die automatisch in xml eingebaut sind.

& geht nicht da es eine spezifische Bedeutung in xml hat : Beginn einer Entity Referenz.

Weitere eingebauten Entity Referenzen sind:
< &lt;
> &gt;
' &apos;
" &quot;

Man kann Entity Referenzen auch selber deklarieren, das ist aber out of topic.
Titel: Re:XML in DOmino importieren...
Beitrag von: gfunkus am 06.05.03 - 14:27:57
wenn das ganze aber immer automatisch ablaufen soll??? sprich ich kann ja nicht jedesmal das file mit suchen und ersetzen bearbeiten... dachte man könnte evtl. was im stylesheet oder dtd anpassen???

Titel: Re:XML in DOmino importieren...
Beitrag von: Axel_Janssen am 06.05.03 - 14:34:53
Stylesheet oder dtd Anpassung geht definitiv nicht.  :-\

Dies ist ein Bestandteil der xml Spezifikation. & startet eben eine Referenz auf ein Entity.

Das Problem ist deshalb das xml-Dokument. Sowas wie <firma>Schmidt & Rafke</firma> ist eben kein wohlgeformtes xml.

Das xml, das Du einfütterst, wird doch sicherlich auch irgendwo erzeugt. Das tippt doch sicher keiner. Dort muss das Replace hin.

Gruss Axel