如何用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
相关产品推荐
相关产品推荐

