Klaus: Comment must not contain '--' (double-hyphen)

Hi!

wie muss ich -- (double-hyphen) in einer XML schreiben?

bei folgenden Code
<description><![CDATA[Test--Test]]></description>
erhalte ich folgende Fehlermeldung:
test.xml:4966: parser error : Comment must not contain '--' (double-hyphen)

Klaus

  1. Hallo,

    wie muss ich -- (double-hyphen) in einer XML schreiben?

    bei folgenden Code
    <description><![CDATA[Test--Test]]></description>
    erhalte ich folgende Fehlermeldung:

    <description>Test--Test</description>

    Grüße
    Thomas

    1. Hallo,

      <description>Test--Test</description>

      die Fehlermeldung bleibt leider die gleiche

      wenn ich zwischen den beiden Bindestrichen ein Leerzeichen oder ein anderes Zeichen steht, erscheint die Fehlermeldung nicht mehr

      Klaus

  2. Hi!

    <description><![CDATA[Test--Test]]></description>

    dieser Abschnitt ist auskommentiert

    die Fehlermeldung erscheibt bei

    <!--  
    <description><![CDATA[Test--Test]]></description>  
    -->
    

    als auch bei

    <!--  
    <description>Test--Test</description>  
    -->
    

    Klaus

    1. Tach,

      <description><![CDATA[Test--Test]]></description>

      dieser Abschnitt ist auskommentiert

      die Zeichenfolge -- ist bei XML innerhalb von Kommentaren verboten, das wurde so entschieden um die Probleme mit SGML-Kommentaren, die bei HTML auftraten zu verhindern: http://www.howtocreate.co.uk/SGMLComments.html.

      mfg
      Woodfighter

      1. Hi!

        »» > <description><![CDATA[Test--Test]]></description>
        »»
        »» dieser Abschnitt ist auskommentiert

        die Zeichenfolge -- ist bei XML innerhalb von Kommentaren verboten, das wurde so entschieden um die Probleme mit SGML-Kommentaren, die bei HTML auftraten zu verhindern: http://www.howtocreate.co.uk/SGMLComments.html.

        wenn ich das richtig sehe, steht auf der Seite nur, dass die Zeichen verboten sind. Ich muss die 2. Bindestriche aber irgendwie in die XML-Datei bekommen.
        Ich speichere in einer XML-Datei einige SQL-Befehle, welche Kommentare (--) enthalten.

        Welche Möglichkeiten habe ich?

        Klaus

        1. @@Klaus:

          Ich speichere in einer XML-Datei einige SQL-Befehle, welche Kommentare (--) enthalten.

          Warum ist das Zeugs dann in XML auskommentiert?

          Welche Möglichkeiten habe ich?

          Keine XML-Auskommentierung. Entweder es gehört zum Inhalt, dann nicht auskommentiert; oder eben nicht, was hat es dann im XML-Dokument zu suchen?

          Live long and prosper,
          Gunnar

          --
          Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
          1. Hi!

            »» Ich speichere in einer XML-Datei einige SQL-Befehle, welche Kommentare (--) enthalten.

            Warum ist das Zeugs dann in XML auskommentiert?

            ich muss etwas testen, deshalb habe ich einige Bereiche auskommentiert

            »» Welche Möglichkeiten habe ich?

            Keine XML-Auskommentierung. Entweder es gehört zum Inhalt, dann nicht auskommentiert; oder eben nicht, was hat es dann im XML-Dokument zu suchen?

            diese XML-Datei wird von ein Import importiert, da es zu Problemen kam, hatte ich einen Abschnitt kopiert und auskommentiert, damit ich das Original noch habe.

            Irgendwie muss man doch die Zeichen maskieren können, damit es zu keinen Fehler kommt. hm...

            Klaus

            1. @@Klaus:

              diese XML-Datei wird von ein Import importiert, da es zu Problemen kam, hatte ich einen Abschnitt kopiert und auskommentiert, damit ich das Original noch habe.

              Speichere das Original in einer anderen Datei und schmeiß den Kommentar aus deiner Arbeitsdatei raus und schon hat sich das Problem erledigt.

              Live long and prosper,
              Gunnar

              --
              Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
              1. Hi!

                »» diese XML-Datei wird von ein Import importiert, da es zu Problemen kam, hatte ich einen Abschnitt kopiert und auskommentiert, damit ich das Original noch habe.

                Speichere das Original in einer anderen Datei und schmeiß den Kommentar aus deiner Arbeitsdatei raus und schon hat sich das Problem erledigt.

                Das ist doch eher ein Workaround und keine Lösung des Problems.

                Klaus

                1. Tach,

                  Das ist doch eher ein Workaround und keine Lösung des Problems.

                  dann musst du deine Datei halt selber behandeln, so dass der Fehler nicht mehr auftritt; oder akzeptieren, dass es in XML nicht vorgesehen ist, beliebigen Text auszukommentieren.

                  mfg
                  Woodfighter

                2. Hallo,

                  Das ist doch eher ein Workaround und keine Lösung des Problems.

                  Es tut mir leid, aber es gibt kein Problem. Das was du Problem nennst, erzeugst du dir selbst.

                  Die Regel sind hier sehr klar, die Parser arbeiten auch korrekt. Die einzige Fehlerquelle stellst in diesem Fall leider du selbst dar.

                  Das ist jetzt nicht böse gemeint, sonder nur dich darauf hinweisen, dass das einzige was du machen kannst ist, dass du diese Regel beachtest.

                  Grüße
                  Thomas

                3. Hi,

                  Das ist doch eher ein Workaround und keine Lösung des Problems.

                  wenn Du eine Lösung suchst, musst Du mindestens eines der Minuszeichen eben XML-kodieren. Dazu muss selbstverständlich der <![CDATA[]]>-Block weg, andernfalls stimmt das Ergebnis nach der Entfernung der Kommentare nicht mehr. Ich frage mich aber, warum Du um etwas _auszuprobieren_ eine Lösung haben willst. Schmeiß den überflüssigen Block raus, speicher die Datei, fertig. Wenn Du Dich nicht auf die Undo-Historie Deines Editors verlassen willst, mach ein Backup. Das Problem besteht wirklich nur in Deinem Kopf.

                  Cheatah

                  --
                  X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                  X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                  X-Will-Answer-Email: No
                  X-Please-Search-Archive-First: Absolutely Yes
    2. Hallo,

      »» <description><![CDATA[Test--Test]]></description>

      dieser Abschnitt ist auskommentiert

      Ah ja, da sieht man wieder, warum man eine _vollständige_ Problembeschreibung geben sollte.

      die Fehlermeldung erscheibt bei

      <!--

      <description><![CDATA[Test--Test]]></description>
      -->

      
      >   
      > als auch bei  
      >   
      > ~~~xml
      
      <!--  
      
      > <description>Test--Test</description>  
      > -->
      
      

      Wie schon bereits gesagt die Zeichenfolge von zwei Bindestrichen innerhalb eines Kommentars ist nicht erlaubt, da diese den Kommntar eigentlich beendet.

      Das einzige was du machen kannst ist, entweder einen Bindestrich weniger da drinn haben oder ein Leerzeichen zwischen den beiden setzen.

      Grüße
      Thomas

      1. @@Thomas J.S.:

        Wie schon bereits gesagt die Zeichenfolge von zwei Bindestrichen innerhalb eines Kommentars ist nicht erlaubt, da diese den Kommntar eigentlich beendet.

        In SGML. Aber doch nicht in XML, oder?

        In XML wird ein Kommentar durch '-->' beendet, '--' innerhalb des Kommentars ist verboten. [XML §2.5]

        Live long and prosper,
        Gunnar

        --
        Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
        1. Hallo,

          »» Wie schon bereits gesagt die Zeichenfolge von zwei Bindestrichen innerhalb eines Kommentars ist nicht erlaubt, da diese den Kommntar eigentlich beendet.

          In SGML. Aber doch nicht in XML, oder?

          Jain. Wenn man es jetzt sehr genau nach SGML nehmen würde, jedes vorkommen von "--" wechselt die Erlaubniss für ">" im Kommentar zwischen ja und nein:

          <!--
          <description><![CDATA[Test--Test]]></description>
          -->

          <!--
          <description><![CDATA[Test»bis hierhin war ein > im Kommentar erlaubt «--»aber hier ist es nicht mehr erlaubt«Test]]»so dass das folgende > beendet den Kommentar«></description>
          -->

          Grüße
          Thomas

          PS: das fand ich mal wirklich nett: http://ln.hixie.ch/?start=1137799947

          1. @@Thomas J.S.:

            BTW, IIRC war das meine erste Frage hier im Forum.

            Live long and prosper,
            Gunnar

            --
            Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)