zipdrive: Namespace Attribute über externe DTD setzen

Hallo habe hier eine Problem mit einer DTD.

Ich referenziere in meiner XML eine DTD, so wie folgt:

  
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE rdf:RDF SYSTEM "gallery.dtd">  
<rdf:RDF>  
...  
</rdf:RDF>  

Der Kopf der externen DTD sieht so aus:

  
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">  
<!ENTITY rdfns "http://www.w3.org/1999/02/22-rdf-syntax-ns#">  
<!ENTITY dcns "http://purl.org/dc/elements/1.1/">  
<!ENTITY mimens "http://xpackage.org/namespaces/mime#">  
<!ENTITY rr "http://rroemer.com/">  
<!ELEMENT rdf:RDF (gallery+)>  
<!ATTLIST rdf:RDF  
  xmlns:rdf NMTOKEN #FIXED "&rdfns;"  
  xmlns:dc NMTOKEN #FIXED "&dcns;"  
  xmlns:mime NMTOKEN #FIXED "&mimens;"  
  xmlns:rr NMTOKEN #FIXED "&rr;"  
  xmlns NMTOKEN #FIXED "&rr;"  

>  

Die XML im Fx2 geparsed liefert leider dies:

"XML-Verarbeitungsfehler: Präfix nicht an Namespace gebunden
...
rdf:RDF
 ^"

Ich seh leider nicht das Problem, kann der Fx das nicht oder oder liegt das Problem in meiner Kenntniss von XML.

Kann man eigentlich externe mit interenen DTD's kombinieren? So in etwa:

  
<!DOCTYPE rdf:RDF SYSTEM "gallery.dtd" [  
 <!ENTITIY bla "bla">  
]>  

Grüße

  1. Hallo,

    Die XML im Fx2 geparsed liefert leider dies:

    Was ist bitte Fx2?

    Grüße
    Thomas

  2. Hello out there!

    <!DOCTYPE rdf:RDF SYSTEM "gallery.dtd">

    Argl, welchen Sinn macht es, RDF in eine DTD pressen zu wollen?

    "XML-Verarbeitungsfehler: Präfix nicht an Namespace gebunden
    rdf:RDF
    Ich seh leider nicht das Problem,

    Was ist an der Fehlermeldung unverständlich? Du hast keinen Namensraum 'rdf' deklariert. Auch keinen anderen.

    So ginge es:

    <rfd:RDF  
      xmlns:rdf="&rdfns;"  
      xmlns:dc="&dcns;"  
      xmlns:mime="&mimens;"  
      xmlns:rr="&rr;"  
      xmlns="&rr;"  
    
    >
    
    

    ... wenn die XML-Parser da mitspielen würden. IIRC haben einige XML-Parser damit aber Probleme, so dass es ratsam ist, bei den Namensraumdeklarationen keine Entity-Referenzen einzusetzen.

    oder liegt das Problem in meiner Kenntniss von XML.

    Der '.' anstelle eines '?' war berechtigt. SCNR.

    Kann man eigentlich externe mit interenen DTD's kombinieren? So in etwa:
    <!DOCTYPE rdf:RDF SYSTEM "gallery.dtd" [
    <!ENTITIY bla "bla">
    ]>

    Ja.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)