Zalążki artykułów

XSQL

  • 2010-10-31 18:27
  • 0 komentarzy
  • 608 odsłon
  • Oceń ten tekst jako pierwszy
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, [email protected]}', [email protected]}')
 
            </xsql:dml>
        </xsql:if-param>
    </xsql:if-param>
    <xsql:if-param name="del" exists="yes">
        <xsql:dml>
 
            DELETE FROM contacts WHERE [email protected]}'
 
        </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 [email protected]}, [email protected]} oraz [email protected]}).

Jeśli zapytanie zawiera znaki sterujące dla XML: < oraz >, powinno zostać zamienione na encje &gt; oraz &lt; albo zagnieżdżone jako sekcja CDATA:

<![CDATA[
 
    ZAPYTANIE
 
]]>


Zapytania nie powinny być zakończone średnikiem.

Zobacz też