2016-08-10 6 views
0

Я использую SaxonEE соединить с XSLT database.i имеет saxonEE с лицензией след, но когда я запускаю результат является SQL: подключение не доступен Это файл config.xmlSQL: подключение не доступен

<configuration 
    xmlns="http://saxon.sf.net/ns/configuration" 
    edition="EE" 
    licenseFileLocation="saxon-license.lic"> 
    <xslt> 
     <extensionElement namespace="http://saxon.sf.net/sql" factory="net.sf.saxon.option.sql.SQLElementFactory"/> 
    </xslt> 
</configuration> 

Это файл XSLT

<xsl:stylesheet 
    xmlns:sql="http://saxon.sf.net/sql" 
    version="2.0" 
    xmlns:exsl="http://exslt.org/common" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:saxon="http://saxon.sf.net/" 
    xmlns:java="http://saxon.sf.net/java-type" 
    extension-element-prefixes="saxon sql" 

> 
    <xsl:param name="driver" select="'com.mysql.jdbc.Driver'"/> 
    <xsl:param name="database" select="'jdbc:mysql://localhost:3307/Hr'"/> 

    <xsl:template match="/"> 
     <xsl:if test="not(element-available('sql:connect'))"> 
      <xsl:message>sql:connect is not available</xsl:message> 
     </xsl:if> 

     <xsl:variable name="connection"> 
      <sql:connect driver="{$driver}" database="{$database}" user="'root'" password="'root'"></sql:connect> 
     </xsl:variable> 
     <xsl:variable name="partner"> 
      <sql:query connection="$connection" table="Partner" column="*" row-tag="Partner" column-tag="col"/> 
     </xsl:variable> 

     <Invoice> 
      <Header> 
       <InvoiceNumber>123456</InvoiceNumber> 
       <InvoiceDate>2016-07-15</InvoiceDate> 
      </Header> 
      <Partners> 
       <partner> 
        <xsl:copy-of select="$partner"/> 
       </partner> 
      </Partners> 
     </Invoice> 
    </xsl:template> 
</xsl:stylesheet> 

И это код Java

  Source configSource = new StreamSource(new File(configPath)); 
      EnterpriseConfiguration config = new EnterpriseConfiguration(); 
      config.readConfiguration(configSource); 
      EnterpriseTransformerFactory factory = new EnterpriseTransformerFactory(config); 

      Source xslt = new StreamSource(new File(inputXSL)); 
      Transformer transformer = factory.newTransformer(xslt); 

      Source text = new StreamSource(new File(dataXML)); 
      transformer.transform(text, new StreamResult(new File(outputHTML))); 

ответ

0

скорее всего, объяснение заключается в том, что файл saxon9-sql.jar не находится в вашем пути к классам.

Это поможет узнать, как это происходит.

+0

Спасибо Mr.Michael .. Я добавил его как файл jar в проекте, но я не работал –

+0

Как я уже сказал, это помогло бы узнать, как он терпит неудачу. –