# Package net.sf.saxon.option.sql

This package provides some sample extension elements for loading data into an SQL database.

These classes are not intended as a production-quality tool, rather as an illustration of what can be achieved using XSLT extension instructions.

Because Saxon-HE (home edition) does not support the use of XSLT extension instructions, these classes require Saxon-PE (professional edition) or Saxon-EE (enterprise edition). However, the code of the extension itself is open source and is issued under the Mozilla Public License, meaning it can be freely modified.

The classes are not distributed in the main JAR file, but in a separate `saxon9-sql.jar` file, which must be added to the classpath when these extensions are used. In addition, the extension must be registered with the Saxon Configuration. This can be done either by calling the method `Configuration.setExtensionElementNamespace()`, or by including a line such as the following in the configuration file:

`<extensionElement namespace="http://ns.saxonica.com/sql" factory="net.sf.saxon.option.sql.SQLElementFactory"/>`

The extension can be registered under any namespace. The conventional namespace is `http://ns.saxonica.com/sql`, and the conventional prefix is `sql`.

These SQL extensions are documented in the file `sql-extension.html` in the main documentation directory.

- Class Summary
  Class | Description
  --- | ---
  SQLClose | An sql:close element in the stylesheet.
  SQLColumn | An sql:column element in the stylesheet.
  SQLConnect | An sql:connect element in the stylesheet.
  SQLConnect.ConnectInstruction |
  SQLDelete | An sql:delete element in the stylesheet.
  SQLElementFactory | Class SQLElementFactory.
  SQLExecute | An sql:execute element in the stylesheet.
  SQLInsert | An sql:insert element in the stylesheet.
  SQLQuery | An sql:query element in the stylesheet.
  SQLUpdate | An sql:update element in the stylesheet.