AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题 / 76953673
Accepted
twfurst
twfurst
Asked: 2023-08-22 21:10:21 +0800 CST2023-08-22 21:10:21 +0800 CST 2023-08-22 21:10:21 +0800 CST

如何在 Oxygen 中通过 Saxon 正确运行 SQL 扩展

  • 772

我正在尝试通过 Oxygen 测试 Saxon EE 的 sql 扩展的使用情况。我收到驱动程序加载失败的错误:

引擎名称:Saxon-EE 11.4
严重性:致命
问题 ID:SXSQ0003
描述:无法加载 JDBC 驱动程序 org.sqlite.JDBC
起始位置:30:106
URL: http: //www.saxonica.com/html/documentation/javadoc/网/SF/撒克逊/trans/SaxonErrorCode.html#SXSQ0003

这是我的 XSL:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:sql="http://saxon.sf.net/sql"
    xmlns:saxon="http://saxon.sf.net/"
    exclude-result-prefixes="xs"
    version="3.0">
    
    <xsl:param name="user"/>
    <xsl:param name="password"/>
    
    <xsl:variable name="driver" select="'org.sqlite.JDBC'"/>
    <xsl:variable name="database" select="'jdbc:sqlite:S1000D.db'"/>
    
    <xsl:template match="/">
        <test-output>
            <xsl:apply-templates/>
        </test-output>
    </xsl:template>
    
    <xsl:template match="xref">
        <xsl:variable name="xrefid" select="@xrefid"/>
        <xsl:if test="not(element-available('sql:connect'))">
            <xsl:message terminate="yes">sql:connect not available</xsl:message>
        </xsl:if>
        
        <xsl:message>Connecting to <xsl:value-of select="$database"/>...</xsl:message>
        
        <xsl:variable name="conn" as="java:java.sql.Connection" xmlns:java="http://saxon.sf.net/java-type">
            <sql:connect driver="{$driver}" database="{$database}" user="{$user}" password="{$password}">
                <xsl:fallback>
                    <xsl:message terminate="yes">SQL Extensions are not installed</xsl:message>
                </xsl:fallback>
                <xsl:message>Connected...</xsl:message>
            </sql:connect>
        </xsl:variable>
        
        <xsl:variable name="q">
            <sql:query connection="$conn" table="'DataModule'" column="'*'" where="'LmTask_ID = {$xrefid}'"/>
        </xsl:variable>
        
        <xsl:for-each select="$q">
            <dmRef>
                <dmcode>
                    <!-- Use values from the query to populate the dmcode attributes -->
                </dmcode>
            </dmRef>
        </xsl:for-each>
        
    </xsl:template>
    
</xsl:stylesheet>

这是我们项目中的 SaxonEE 配置文件:

<configuration edition="EE" xmlns="http://saxon.sf.net/ns/configuration" label="Saxon-EE (no threads)">
    <global allowMultiThreading="false" 
        timing="true" 
        validationWarnings="true" 
        validationComments="true" 
        allowExternalFunctions="true" 
        compileWithTracing="false" 
        lineNumbering="true" 
        traceExternalFunctions="true" 
        expandAttributeDefaults="true" 
        allowSyntaxExtensions="true"/>
    <xslt>
        <extensionElement namespace="http://saxon.sf.net/sql" factory="net.sf.saxon.option.sql.SQLElementFactory"/>
    </xslt>
</configuration>

我尝试将最新的 SQLite 驱动程序 jar (sqlite-jdbc-3.42.0.0.jar) 复制到 Oxygen lib 文件夹,但它抱怨。我将其移至 lib/connectors 文件夹。它没有抱怨它位于那里,但仍然失败。我不知道在哪里找到 jar 以便 Saxon 加载 JDBC。

任何帮助深表感谢。

xml
  • 1 1 个回答
  • 23 Views

1 个回答

  • Voted
  1. Best Answer
    Martin Honnen
    2023-08-22T23:17:01+08:002023-08-22T23:17:01+08:00

    文档https://www.oxygenxml.com/doc/versions/25.1/ug-editor/topics/application-reports-errors-on-startup.html建议,允许您将例如添加sqlite-jdbc-3.42.0.0.jar到 Oxygen XML 的 lib 文件夹并不要抱怨,您可以将文件放入文件夹中并编辑libraries.list其中的文件以;sqlite-jdbc-3.42.0.0.jar在列表末尾添加例如。我已经测试过,oXygen 随后可以成功运行 Saxon EE 11,与 sql 扩展元素建立 sqlite 连接。请注意,当我将 jar 放入 lib 文件夹并编辑时,libaries.list我关闭了 oXygen,然后重新启动它以使更改生效。

    尽管如此,请等待 oXygen 支持人员告诉他们他们认为让 Saxon 为 XSLT 场景选择 sqlite jdbc 驱动程序的最简单/直接的方法。

    • 0

相关问题

  • XML 架构:元素 A、元素 B 或两者

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    使用 <font color="#xxx"> 突出显示 html 中的代码

    • 2 个回答
  • Marko Smith

    为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类?

    • 1 个回答
  • Marko Smith

    您可以使用花括号初始化列表作为(默认)模板参数吗?

    • 2 个回答
  • Marko Smith

    为什么列表推导式在内部创建一个函数?

    • 1 个回答
  • Marko Smith

    我正在尝试仅使用海龟随机和数学模块来制作吃豆人游戏

    • 1 个回答
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 个回答
  • Marko Smith

    为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)?

    • 4 个回答
  • Marko Smith

    为什么库中不调用全局变量的构造函数?

    • 1 个回答
  • Marko Smith

    std::common_reference_with 在元组上的行为不一致。哪个是对的?

    • 1 个回答
  • Marko Smith

    C++17 中 std::byte 只能按位运算?

    • 1 个回答
  • Martin Hope
    fbrereto 为什么在传递 {} 时重载解析更喜欢 std::nullptr_t 而不是类? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 您可以使用花括号初始化列表作为(默认)模板参数吗? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi 为什么列表推导式在内部创建一个函数? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A fmt 格式 %H:%M:%S 不带小数 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python C++20 的 std::views::filter 未正确过滤视图 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute 为什么 'char -> int' 是提升,而 'char -> Short' 是转换(但不是提升)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa 为什么库中不调用全局变量的构造函数? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis std::common_reference_with 在元组上的行为不一致。哪个是对的? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev 为什么编译器在这里错过矢量化? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan C++17 中 std::byte 只能按位运算? 2023-08-17 17:13:58 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve