Accessing a Database with an Extension Element

The first edition of this book included an extension element that accessed an SQL database. Since that time, the Saxon and Xalan processors have added extension libraries that do this for us. We’ll look at how to use those extensions here.

Our example here uses the open source Apache Derby database, available at http://db.apache.org/derby/. Here are the Derby commands and SQL statements that create and populate the database:

connect 'jdbc:derby://localhost:1527/books;create=true';
create schema doug;
set schema doug;
create table compbks (ISBN varchar(10) primary key, title varchar(50), 
  author varchar(50), pages int, price double, publisher varchar(50));
insert into compbks values ('0596527217', 'XSLT', 'Doug Tidwell', 
  800, 49.95, 'O''Reilly');
insert into compbks values ('0974152129', 'DocBook XSL: The Complete Guide', 
  'Bob Strayton', 560, 49.95, 'Sagehill Enterprises');
insert into compbks values ('1565925807', 'DocBook: The Definitive Guide', 
  'Norman Walsh and Leonard Muellner', 652, 39.95, 'O''Reilly');
insert into compbks values ('0596009747', 'XSLT Cookbook', 'Sal Mangano', 
  751, 49.95, 'O''Reilly');
insert into compbks values ('0596003277', 'Learning XSLT', 
  'Michael Fitzgerald', 352, 34.95, 'O''Reilly');

We create a database named books and a table named compbks, then we insert five rows into the table.

Note

Saxon’s SQL support requires a username that must match the database schema; that’s why we create the database schema doug and ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.