Prova de buscar la definició a aquest portal del flux RSS:
Amb aquest codi a dins de l'etiqueta head es publica la URL del teu portal per als lectors RSS:
<link rel="alternate" type="application/rss+xml" title="Subscriure's a novetats" href="http://your-site.com/your-feed.rss" />També es pot fer el mateix amb atom:
<link rel="alternate" type="application/atom+xml" title="Subscriure's a novetats" href="http://your-site.com/your-feed.xml" />Pots validar el teu feed a W3C.
Expressions del camí:
Condicions:
Funcions incloses:
Requisit previ: Java 8 i fitxer jar d'instal·lació de eXist-db.
XQuery és un llenguatge per trobar i extreure elements i atributs de documents XML.
Està basat en XPath per a la navegació de l'arbre XML.
Utilitza la funció doc() per referir-se a l'arxiu XML del catàleg de la BBDD:
doc("books.xml") Al que s'afegeix el XPath per a fer la navegació:
doc("books.xml")/bookstore/book/title FLWOR és l'acrònim de FOR, LET, WHERE, ORDER BY, RETURN.
És una expressió de XQuery que permet fer consultes amb un cert format dins d'un document XML.
Per exemple:
for $d in doc("depts.xml")//deptno let $e := doc("emps.xml")//employee[deptno = $d] where count($e) >= 10 order by avg($e/salary) descending return <big-dept> { $d, <headcount>{count($e)}</headcount>, <avgsal>{avg($e/salary)}</avgsal> } </big-dept>Com es pot veure, hi ha el FLWOR barrejat amb XML.
Veure la Instal·lació de eXist-db.
1) Aneu a l'aplicació web de eXist-db i cliqueu 'Open eXide'.
2) A dins de l'eXide, aneu a una pestanya nova (New) per executar una XQuery.
La primera query:
"Hello World!"Exemple text:
let $message := 'Hello World!'return $messageExemple XML:
let $message := 'Hello World!'return<results> <message>{$message}</message></results>Una query per al document students.xml:
doc("/db/testdb/students.xml")/class/studentEn aquesta query, doc("/db/testdb/students.xml") fa referència a l'arxiu que has pujat, amb la ruta absoluta. La resta és només una query XPath.
També podeu fer una versió FLWOR:
let $students := doc("/db/testdb/students.xml")/class/studentreturn $studentsTambé podeu utilitzar un bucle:
for $student indoc("/db/testdb/students.xml")/class/studentreturn $studentO utilitzar una variable:
for $student in doc("/db/testdb/students.xml")/class/studentlet $firstname := $student/firstnamereturn $firstnameO assignar més d'una variable:
for $student in doc("/db/testdb/students.xml")/class/studentlet $firstname := $student/firstnamelet $lastname := $student/lastnamelet $rollno := string($student/@rollno)let $phrase := concat($firstname, " ", $lastname, " has number ", $rollno)return <test>{$phrase}</test>O també, i afegint una condició:
for $student in doc("/db/testdb/students.xml")/class/studentlet $firstname := $student/firstnamelet $lastname := $student/lastnamelet $rollno := string($student/@rollno)where $rollno != "393"return <test number="{$rollno}">{data($firstname)} {data($lastname)}</test>La funció data() fa el mateix que utilitzar text() a la query XPath.
Amb if-then-else i utilitant una funció per convertir a integer, i amb un element al voltant:
<items> {for $student in doc("/db/testdb/students.xml")/class/studentlet $name := concat($student/firstname, " ", $student/lastname)let $marks := number($student/marks)order by $namereturn if ($marks >= 90) then <better>{$name}</better> else <worse>{$name}</worse>} </items>Tenim una extensió de eXist-db que permet modificar i esborrar elements i atributs.
Per a insertar:
update insert (<student rollno="542"> <firstname>Joshua</firstname> <lastname>Tree</lastname> <nickname>joshua</nickname> <marks>66</marks></student> ) into doc("/db/testdb/students.xml")/classPer a actualitzar un valor:
for $student in doc("/db/testdb/students.xml")/class/studentwhere $student/firstname = "Joshua"return (update value $student/marks with "77")Per a esborrar un element:
for $student in doc("/db/testdb/students.xml")/class/studentwhere $student/firstname = "Joshua"return (update delete $student)