Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理基于XML的DSL_Xml_Svg_Swi Prolog - Fatal编程技术网

处理基于XML的DSL

处理基于XML的DSL,xml,svg,swi-prolog,Xml,Svg,Swi Prolog,SWI Prolog作为一个通用的XML处理器提供了很多功能 librarysgml用于读/写XML结构化格式,libraryxpath用于导航等。。。但是,如果我尝试读取SVG,确认它是有效的XML,我会得到以下消息: ERROR: SGML2PL(xml): ...my_file...svg:2: file "...myfile.path.../http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" does not exist 错 有人对此有什

SWI Prolog作为一个通用的XML处理器提供了很多功能

librarysgml用于读/写XML结构化格式,libraryxpath用于导航等。。。但是,如果我尝试读取SVG,确认它是有效的XML,我会得到以下消息:

ERROR: SGML2PL(xml): ...my_file...svg:2: file "...myfile.path.../http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" does not exist


有人对此有什么暗示吗?我还想重写最终修改的文件内容,当然要保留独特的DTD。

我找到了一个解决方案,在本地保存我用curl获得的DTD文件,我可以请求SGML库使用它

...
    new_dtd(svg, DTD),
    path(Dir, 'svg11.dtd', DtdFile),
    load_dtd(DTD, DtdFile),

    path(Dir, 'html_labels.svg', SvgFile),
    load_structure(SvgFile, [Svg], svg:[dtd(DTD), dialect(xmlns), xml_no_ns(quiet)]),
...
正如我所说,我是这样得到svg11.dtd的

$ curl http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd > svg11.dtd