Seite 1 von 1

XML Parsing & Entities

Verfasst: 16. März 2010 15:48
von Frederick
Hallo,

ich knacke immer noch beim Dokumentenparsing herum...
...und es geht wieder um DTDs.

Diesmal beim QXmlStreamReader:

Angenommen ein Tag sieht aus:

<owl:Class rdf:about="#Project"/>

ebenfalls angenommen, es wurde eine xml:base definiert, wie
erhalte ich den String base + rdf:about ? Also den vollständigen Namen ?

Wenn namespacesProcessing aktiviert ist, "verschluckt" der Reader leider das "base" Attribut. Es gibt keinen Eintrag "base" - baseUri in der Namespace-Tabelle.

Die einzige Lösung die mir einfällt ist: NamespaceProcessing = false und alle Entities/Namespaceersetzungen von Hand durchführen, aber das kann es ja nicht sein !??

Vielleicht könnt ihr mir ja mit diesem Problem helfen.

Danke Euch schonmal,
Frederick

XML Parsing & Entities

Verfasst: 16. März 2010 21:42
von sowas
Hallo,
ich vermute es geht hier um semantic web und ich weiß nicht ob man das schon mit qt programmieren kann. Normalweise laufen die Programme unter Java, für C glaube gibt es nur libraries von Redland.

Verfasst: 16. März 2010 22:23
von Frederick
Hi,

also mit Semantic Web kenn ich mich nicht aus, aber es geht um eine medizinische OWL-Ontologie. Das Objektmodell dazu gestalte ich selber klar, gibt keine OWL-Bibiliothek für C++.

Aber ich hatte die Hoffnung, dass wenigstens DTD-Entity Ersetzung + Namespace-Expansion doch eigentlich klappen sollte. Sonst wäre die Namespace Unterstützung echt ein halber Hahn, weil es nicht das kann was ich gerne möchte und darüber hinaus mich daran hindert manuell vorzugehen (kein Zugriff auf das "xml:Base" Attribut).

Ideas anybody please ? Wenn leider bis morgen nix kommt muss ich es manuell machen.

thx,
Frederick

XML Parsing & Entities

Verfasst: 16. März 2010 22:58
von sowas
hi,
die Leute von AIFB der Uni Karlsruhe könnten ev. was sagen oder die Uni von Manchester ist auf den Gebiet von Ontologie/EDV sehr aktiv

Verfasst: 16. März 2010 23:23
von Frederick
Hi,

danke für den Tipp, werde die vielleicht wirklich mal anfragen... aber die Sache ist doch eigentlich wirklich Basic-XML, oder !? Ich meine ein Browser
interpretiert das XML:base Attribut doch auch... der Wikipedia Artikel zu xml:base demonstriert es ;-)

Ganz unabhängig von OWL sollte dieser Mechanismus doch funktionieren ?
Würde mir auf jeden Fall etwas Arbeit sparen und die Sache übersichtlicher gestalten.

Schönen Dank euch,
Frederick

XML Parsing & Entities

Verfasst: 17. März 2010 09:49
von sowas
Hi,
ich bin hier nicht ganz sicher aber ich vermute dass Mozilla/Firefox einen eigenen Parser verwendet und dort werden die Texte ausgelesen und verarbeitet.

Verfasst: 17. März 2010 17:23
von Frederick
Hey,


... ich konnte nicht länger nach eine Lösung suchen - ich addiere jetzt lokale + base Uri zu Fuss.

Danke euch!