Сервлет DBURIServlet написан на C и готов для употребления при установленном репозитарии по адресу /oradb/схема_БД/имя_таблицы[...]. Тем не менее он параметризован, и поэтому представляет интерес для конечных потребителей БД.
Пример обращения:
Правила формирования адреса соответствуют правилам типа DBURITYPE.
Упражнение. Проверить работу сервлета DBURIServlet на следующих обращениях:
Сервлет DBURIServlet имеет параметры:
Зарегистрируем в качестве ресурса /public/dept.xsl следующий текст:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="html" />
<xsl:template match="ROW"> <tr> <td><xsl:value-of select="DEPTNO"/></td> <td><xsl:value-of select="DNAME"/></td> <td><xsl:value-of select="LOC"/></td> </tr> </xsl:template>
<xsl:template match="DEPT"> <html><head></head><body><title>Departments</title> <table border="3" bordercolor="green">
<xsl:apply-templates select="ROW"/>
</table> </body></html> </xsl:template>
</xsl:stylesheet>
Теперь обращение к XML DB по адресу:
даст следующий результат:
Текст с определением преобразования XSLT можно разместить и в таблице БД, обратившись за ним опять-таки через DBURITYPE примерно так:
transform=/oradb/SCOTT/XSLTDEFS/ROW[TAB='DEPT']/DEFINITION/text()
Упражнение. Создать таблицу XSLTDEFS с определением преобразования XSLT для таблицы DEPT (столбец TAB для имени таблицы и столбец DEFINITION для текста преобразования) и указать сервлету взять данные преобразования оттуда, а не из ресурса XML DB. Указание: поле DEFINITION определить типом VARCHAR2.
Прочие свойства сервлета приведены в документации по XML DB.