XSQL
Artykuł został umieszczony na liście Zalążków artykułów. Jeżeli możesz rozbuduj go!
Czym jest XSQL?
XSQL jest, zgodnym ze standardem XML, zapisem zapytań SQL i zwracanych przez nie wyników.Wyniki zwracane są formowane do postaci elementów XML, dzięki czemu - z punktu widzenia warstwy aplikacji - nie jest ważne źródło danych, a jedynie ich forma i dynamiczny sposób generowania.
Na ogół XSQL jest klasyfikowany jako język klasy server-side, ponieważ wymaga dodatkowego parsera (przykładowo dostępnego w ramach OC4J - Oracle Container for Java). XSQL stanowi środkową warstwę w modelu aplikacji trójwarstwowej. Bazując na określonej bazie danych (najczęściej Oracle), udostępnia określone funkcjonalności warstwie aplikacji (na przykład przeglądarce internetowej w modelu cienki klient).
Zgodność budowy dokumentu określona jest za pomocą wzorca DTD.
Przykładowym środowiskiem wspierającym tworzenie dokumentów XSQL jest Oracle JDeveloper, dostępny bezpłatnie na stronie producenta.
Przykładowy dokument XSQL
<?xml version = '1.0' encoding = 'UTF-8'?> <?xml-stylesheet type="text/xsl" href="index.xsl" ?> <page xmlns:xsql="urn:oracle-xsql" connection="jdbc/DBConnection1DS"> <xsql:include-request-params/> <xsql:if-param name="name" exists="yes"> <xsql:if-param name="surname" exists="yes"> <xsql:dml> INSERT INTO contacts VALUES(contacts_id_seq.nextval, '{@name}', '{@surname}') </xsql:dml> </xsql:if-param> </xsql:if-param> <xsql:if-param name="del" exists="yes"> <xsql:dml> DELETE FROM contacts WHERE id='{@del}' </xsql:dml> </xsql:if-param> <contacts> <xsql:query max-rows="-1" null-indicator="no" tag-case="lower"> SELECT id, name||' '||surname AS name FROM contacts ORDER BY name </xsql:query> </contacts> </page>
Jeśli plik XSL nie jest dostępny lub zadeklarowany, zwracany rezultat może mieć formę następującą:
<?xml version = '1.0' encoding = 'UTF-8'?> <?xml-stylesheet type="text/xsl" href="index.xsl" ?> <page> <request> <parameters/> <session/> <cookies/> </request> <contacts> <rowset> <row num="1"> <id>1</id> <name>Jan Kowalski</name> </row> <row num="2"> <id>2</id> <name>Adam Nowakowski</name> </row> </rowset> </contacts> </page>
Plik XSL pozwala przetransformować zwracane wyniki do innej formy, na przykład do postaci XHTML, dzięki czemu możliwe jest zbudowanie w pełni funkcjonalnej aplikacji w oparciu o sam format XSQL. Dane przesyłane przez formularze metodami GET, POST oraz zmienne sesji oraz ciasteczek dostępne są w postaci zmiennych, poprzedzonych znakiem @ (w powyższym przykładzie {@name}, {@surname} oraz {@del}).
Jeśli zapytanie zawiera znaki sterujące dla XML: < oraz >, powinno zostać zamienione na encje > oraz < albo zagnieżdżone jako sekcja CDATA:
<![CDATA[
ZAPYTANIE
]]>
Zapytania nie powinny być zakończone średnikiem.
Zobacz też
* HTMLKategoria: Zalążki artykułów, XML