Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Oracle Behandlung von Punkten (.)

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.09.2005
    Beiträge
    8

    Oracle Behandlung von Punkten (.)

    Hallo zusammen

    Ich arbeite gerade an einem Oracle-Projekt, in dem ein Gesetz im XML-Format in die Datenbank geschrieben wird. In diesem Gesetz gibt es Artikel, Absätze, Ziffern etc.

    Nun gibt es Gewisse Artikel mit Ziffern, die im Index einen Punkt haben. Zum Beispiel: art:3;abs:2;ziff:2.3.

    Dies entspricht einer Klartext-Positionsangabe in einer separaten Spalte, um in der XML-Spalte den entsprechenden Node zu finden.

    Wenn ich jetzt eine einfache Abfrage nach diesem Feld mache, sprich:

    Code:
    select * from db where position='art:3;abs:2;ziff:2.3'
    dann wird mir diese Zeile auch angezeigt.

    Wenn ich jedoch diese Position aus dem XML-Feld auslesen will mit Oracle-XML-Funktionen:

    Code:
    select rowid from db where rowid=CHARTOROWID('die_rowid') and EXISTSNODE(feld,'/xml/pfad/zu/art[@position="art:3"]/abs[@position="abs:2"]/ziff[@position="ziff:2.3"]')=1
    dann erhalte ich kein Resultat obschon der zu suchende Node vorhanden ist. Dieses Verhalten ist ausschliesslich bei Nodes mit Indexes, die mit Punkten versehen sind, festzustellen.
    Irgendwie kann ich nicht verstehen, warum das nicht gehen sollte. "ziff:2.3" ist ja ein String.

    Ich erhalte auch keine Fehlermeldung. Und dass der Punkt in ziff:2.3 als Steuerzeichen interpretiert wird, kann ich mir kaum vorstellen. Dennoch frage ich mich, ob ich diesen Punkt speziell behandeln muss, damit das zweite oben beschriebene select eine Antwort liefert.
    Geändert von anquijix (24-07-2008 um 10:39 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Versuch einmal statt . \. und statt : \:

    Lg, Chrisitian
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    XML kennt keine Typen Deklaration innerhalb von Element Knoten und ist somit immer ein TextNode (char**). Wenn du lese Probleme hast überprüfe den Zeichensatz der Datenbank und des XML Dokumentes.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •