Announcement

Collapse
No announcement yet.

eine XML-Datei, die die DTD für Docbook verwendet erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Hallo,

    vielen Dank für eure bisherige Hilfe und Unterstützung.
    Der Link von Christian, mit der Erweiterung „XML“, erkennt in der XML-Datei auch ungültige Elemente und zeigt dann die Probleme an.

    Auch sehr hilfreich war der Hinweis von Martin, dass man für öffentliche DTDs Katalogdateien verwendet.

    Nach einer Anleitung habe ich eine XML-Datei erstellen können, die gültig nach einer öffentlichen DTD ist.

    https://github.com/redhat-developer/...talog-with-dtd

    Da die Anleitung auf englisch ist, habe ich mir eine eigenen Anleitung(WORD) gebaut. Anbei im angehängten ZIP-Ordner. Habe in der Anleitung noch ein paar Fragen formuliert, zu Sachen, wo ich mir nicht sicher bin, ob das stimmt was ich mir da denke. Falls meine Antwort nicht stimmt, korrigiert mich bitte.
    Hier noch ein paar Fragen die nicht in der Anleitung stehen, weil sie allgemein zu der Aufgabe sind „Eine XML-Datei zu erstellen, die nach einer öffentlichen DTD gültig ist“

    Stimmt es, dass man um eine öffentliche DTD per Katalogdatei einzubinden nur die
    „fpi/uri von einer DTD“ braucht ?
    Wie bekomme ich die fpi/uri von einer DTD raus?
    Hat da jemand einen Link für mich, wo das gezeigt wird?
    Anbei übrigens das Beispiel aus der englischen Anleitung nachgebaut. Das Beispiel befindet sich auch im ZIP-Ordner.

    Mit freundlichen Grüßen

    Michael
    Attached Files

    Comment


    • #17

      Stimmt es, dass man um eine öffentliche DTD per Katalogdatei einzubinden nur die
      „fpi/uri von einer DTD“ braucht ?

      Ja (Was fpi ist weiß ich nicht). Hatte mehrfach darauf hingewiesen, dass ->üblicherweise läd man sich die DTD NICHT runter. Durch die Angabe im Doctype weiß der Editor wo sich die DTD befindet und nutzt diese direkt.
      Insofern ist dein Beispiel im Zip auch falsch, da es eben keine öffentliche DTD benutzt, sondern eine lokale
      <!DOCTYPE foo PUBLIC "-//FOO" "xxx.dtd">
      Ist ein lokaler Pfad und keine URI zu einer öffentlichen DTD

      Wie bekomme ich die fpi/uri von einer DTD raus?
      Die muss man wissen. Üblicherweise beschäftigt man sich mit einem Thema, wie bsp. dem docbook. Dann wird man auf den Seiten, die das XML beschreiben auch auf die DTD hingewiesen
      Du musst ja auch wissen, welche XML-Elemente gültig sind und was sie bedeuten.

      Hat da jemand einen Link für mich, wo das gezeigt wird?
      Wo was gezeigt wird?

      Und nein, wie Namesräume heißen ist jedem Ersteller überlassen.

      Anleitung:
      Weiße Schrift mit gelben Hintergrund? Wer soll das lesen? Geht bei mir nicht mal, wenn ich es markiere
      https://ibb.co/LZZN3Jk

      Der Text der Anleitung ist auch zu überarbeiten
      Überschrift: "Anleitung XML-Dateien, die wie öffentliche DTDs aufgebaut sind, verwenden" -> Ist unverständlich (eine XML-Datei ist nicht wie eine DTD aufgebaut)
      Und eben - wie oben gesagt - dein Beispiel verwendet eine lokale DTD und keine öffentliche
      Zuletzt editiert von Christian Marquardt; 05.01.2023, 07:55.
      Christian

      Comment


      • #18
        Hallo Christian,

        vielen Dank für Deine Hilfe und Rückmeldung.

        Stimmt es, dass man um eine öffentliche DTD per Katalogdatei einzubinden nur die
        „fpi/uri von einer DTD“ braucht ?

        Ja (Was fpi ist weiß ich nicht).
        Ein fpi ist die Abkürzung für "Formal Public Identifier". In einigen Beiträgen nennen das Leute auch "Public Identifier". Ich habe keine Ahnung wo der Unterschied ist.

        Hatte mehrfach darauf hingewiesen, dass ->üblicherweise läd man sich die DTD NICHT runter. Durch die Angabe im Doctype weiß der Editor wo sich die DTD befindet und nutzt diese direkt.
        Insofern ist dein Beispiel im Zip auch falsch, da es eben keine öffentliche DTD benutzt, sondern eine lokale
        <!DOCTYPE foo PUBLIC "-//FOO" "xxx.dtd">
        Ist ein lokaler Pfad und keine URI zu einer öffentlichen DTD
        Da hast Du Recht. Ich downloade die DTD und gebe in der DOCTYPE einen uri für eine lokale Datei an. Also habe ich die DTD nur als lokale Datei verwendet.
        Aber ich wollte ja eine DTD aus dem WEB verwenden.

        Die Anleitung, die ich für mich selber gebastelt habe, ist also unbrauchbar.

        Habe aber jetzt endlich die Lösung für mein Problem gefunden.

        Für das Grafikformat SVG gibt es auch eine DTD. Und für diese DTD konnte ich ganz leicht eine Referenz in der XML-Datei erstellen.
        Die Beispielhafte SVG-Datei kann nichts und ist nur zum Testen, ob der Editor die DTD erkennt und gültige von ungültigen Elementen unterscheiden kann.

        Angehangen das Beispielprojekt in einem ZIP-Ordner.

        Vielen Dank für Eure Hilfe.

        Michael
        Attached Files

        Comment

        Working...
        X