gpt4 book ai didi

xml - 为什么 clojure.data.xml 在解析 RDF 文件时不返回 xml 命名空间?

转载 作者:数据小太阳 更新时间:2023-10-29 01:48:28 24 4
gpt4 key购买 nike

我正在为 clojure 开发一个语义 Web 库,我想检查是否 data.xml返回被解析文档的 XML namespace ,所以我拼凑了一个快速程序来解析来自 W3Schools RDF tutorial 的 RDF 文档

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>

我明白了。 (格式化以便于阅读。)

{:tag :RDF, 
:attrs {},
:content ({:tag :Description,
:attrs {:rdf/about "http://www.recshop.fake/cd/Empire Burlesque"},
:content ({:tag :artist,
:attrs {},
:content ("Bob Dylan")}
{:tag :country,
:attrs {},
:content ("USA")}
{:tag :company,
:attrs {},
:content ("Columbia")}
{:tag :price,
:attrs {},
:content ("10.90")}
{:tag :year,
:attrs {},
:content ("1985")})}
{:tag :Description,
:attrs {:rdf/about "http://www.recshop.fake/cd/Hide your heart"},
:content ({:tag :artist,
:attrs {},
:content ("Bonnie Tyler")}
{:tag :country,
:attrs {},
:content ("UK")}
{:tag :company,
:attrs {},
:content ("CBS Records")}
{:tag :price,
:attrs {},
:content ("9.90")}
{:tag :year,
:attrs {},
:content ("1988")})})}

因此,如果我想从已解析的文档创建三元组,我做不到,因为 data.xml 中的解析器不会从文档的根目录返回命名空间。这是为什么?

最佳答案

clojure.data.xml 现在支持这个,但在问这个问题时它不支持。

0.1.0-beta1(2016 年 1 月)中引入了对命名空间的支持,而我们现在已经达到了 0.2.0-beta5,可以肯定地说它是相当成熟和经过实战检验的。

关于xml - 为什么 clojure.data.xml 在解析 RDF 文件时不返回 xml 命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21743532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com