1 / 11

XQuery – String Funktionen

XQuery – String Funktionen. Datenbanktechnologie / SS 2012 / Leonard Claus. Funktionen in XQuery. Die wesentlichen Konstrukte der XQuery-Sprache zur Anfrage an XML-Datenbanken k ö nnen durch eine Vielzahl an Funktionen erweitert werden: Funktionen auf numerische Werte

glenna
Download Presentation

XQuery – String Funktionen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XQuery – String Funktionen Datenbanktechnologie / SS 2012 / Leonard Claus

  2. Funktionen in XQuery Die wesentlichen Konstrukte der XQuery-Sprache zur Anfrage an XML-Datenbanken können durch eine Vielzahl an Funktionen erweitert werden: • Funktionen auf numerische Werte • Funktionen auf boolsche Werte • Funktionen auf Zeichenketten • Zeit-und Kalenderfunktionen

  3. Funktionen auf Zeichenketten XQuery bietet eine große Auswahl an Funktionen zur Verarbeitung von Zeichenketten; im Gegensatz zu anderen Datenbankabfragsprachen (bspw. SQL) Diese lassen sich in 3 Klassen aufteilen: • Vergleich von Zeichenketten • Manipulation von Zeichenketten • Pattern Matching

  4. Manipulation von Zeichenketten „fn:concat“ Fügt alle Zeichenketten ohne Trennsymbole zu einer Kette zusammen let $line1 := "Welcome, Horatio: welcome, good Marcellus." let $line2 := "What, has this thing appear'dagain to-night?" let $lines := fn:concat($line1, $line2) return $lines Welcome, Horatio: welcome, good Marcellus.What, has this thing appear'dagain to-night?

  5. Manipulation von Zeichenketten „fn:string-join“Fügt alle Zeichenketten des 1. Parameters mit dem Wert des 2. Parameters als Trennzeichen zu einer Kette zusammen let $act:= doc('/db/dbt/data/shakespeare/plays/hamlet.xml')//ACT/TITLE/text() let $trennzeichen := '--->' return fn:string-join($act, $trennzeichen) ACT I--->ACT II--->ACT III--->ACT IV--->ACT V

  6. Manipulation von Zeichenketten „fn:string-length“ Liefert die Länger der Zeichenkette let $hamlet:= doc('/db/dbt/data/shakespeare/plays/hamlet.xml')//text() let $hamlet-string := fn:string-join($hamlet, '') return fn:string-length($hamlet-string) 170648

  7. Manipulation von Zeichenketten „fn:upper-case“ Ersetzt alle Klein- durch Großbuchstaben „fn:lower-case“ Ersetzt alle Groß- durch Kleinbuchstaben let $string := 'mYsTrInG' let $upper := fn:upper-case($string) let $lower := fn:lower-case($string) return <result> <original>{$string}</original> <upper>{$upper}</upper> <lower>{ <result> <original>mYsTrInG</original> <upper>MYSTRING</upper> <lower>mystring</lower> </result>

  8. Substitution & Konvertierung von Zeichenketten „fn:substring“ Liefert den Teil des 1. Parameters der im 2. Parameter angegebenen Position let $string := '1. ShakespearesWerke' let $substring1 := fn:substring($string, 4) let $substring2 := fn:substring($string, 4, 11) return <result> <original>{$string}</original> <sub1>{$substring1 }</sub1> <sub2>{$substring2 }</sub2> </result> <result> <original>1. ShakespearesWerke</original> <sub1>ShakespearesWerke</sub1> <sub2>Shakespeare</sub2> </result>

  9. Substitution & Konvertierung von Zeichenketten „fn:translate“Ersetzung in der Zeichenkette, wobei jeder Buchstabe durch einen in den Parametern definierten Buchstaben substituiert wird let $string := 'Drei Chinesen mit dem Kontrabass' let $translate := fn:translate($string, 'i', 'a') return <result> <original>{$string}</original> <translate>{$translate}</translate> </result> <result> <original>Drei Chinesen mit dem Kontrabass</original> <translate>Drea Chanesen mat dem Kontrabass</translate> </result>

  10. Substitution & Konvertierung von Zeichenketten „fn:normalize-space“ Eliminiert alle doppelten Leerzeichen als auch Leerzeichen am Anfang und am Ende der Zeichenkette let $string := ' Hier sind zu viele Leerzeichen ' let $normalize := fn:normalize-space($string) return <result> <original>{$string}</original> <normalize>{$normalize }</normalize> </result> <result> <original> Hier sind zu viele Leerzeichen </original> <normalize>Hier sind zu viele Leerzeichen</normalize> </result>

  11. Substitution & Konvertierung von Zeichenketten fn:contains Überprüft, ob eine Zeichenkette des zweiten Parameters in dem Wert des ersten Parameters auftritt let $string1 := 'EinetolleZeichenkette' let $string2 := 'EineZeichenkette' let $search := 'tolle' let $contains1 := fn:contains($string1, $search) let $contains2 := fn:contains($string2, $search) return <result> <result1> {$contains1 } </result1> <result2> {$contains2 } </result2> </result> <result> <result1>true</result1> <result2>false</result2> </result>

More Related