You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XSLT 3从API获取JSON?Saxon EE调用报错求助

如何用XSLT 3从API获取JSON文件?

我需要用XSLT 3从指定API获取JSON文件,对应的Python实现示例如下:

import urllib.request, json 
with urllib.request.urlopen("http://dme-intern.mozarteum.local/digital-editions/api/work-info/4087") as url:
    data = json.load(url)
    print(data)

我首先尝试使用doc('http://dme-intern.mozarteum.local/digital-editions/api/work-info/4087'),但由于该函数期望XML文档,出现报错:

Content is not allowed in prolog.

之后我尝试使用dp:url-open扩展指令,但在Saxon EE 11.4中执行XSLT转换时出现报错:

Unknown extension instruction

我推测需要为Saxon声明该扩展指令,但查阅Saxon文档未找到相关方法。以下是我的测试XSLT代码:

<?xml version="1.0" encoding="UTF-8"?>
<stylesheet exclude-result-prefixes="xs xd dme functx dp" version="3.0"
  xmlns:dp="http://www.datapower.com/extensions" extension-element-prefixes="dp"
  xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:dme="http://www.mozarteum.at/ns/dme"
  xmlns:functx="http://www.functx.com" xmlns:map="http://www.w3.org/2005/xpath-functions/map"
  xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xpath-default-namespace="http://www.music-encoding.org/ns/mei">

 <template match="/">
    <variable name="test">
      <dp:url-open target="http://dme-intern.mozarteum.local/digital-editions/api/work-info/4087"/>
    </variable>
  <copy-of select="$test"/>
</template>

</stylesheet>

附:我使用oXygen XML editor 25.0(版本号2023013006)执行转换。

内容的提问来源于stack exchange,提问作者oleksii.sapov-erlinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:08:47