使用Accellera命名空间的XML验证失败,ipxact2md工具报错求助
IP-XACT转Markdown时Schema验证错误的解决方法
尝试用ipxact2md工具转换IP-XACT XML到Markdown,执行命令:
python ./vcg-env/bin/ipxact2md --use-schemaloc -s $gitroot/output-files/ip_xact_test.xml -d $gitroot/output-files/registers_markdown.md
遇到错误:
ip_xact_test.xml:3:0:ERROR:SCHEMASV:SCHEMAV_CVC_ELT_1: Element '{http://www.accellera.org/XMLSchema/IPXACT/1685-2014}component': No matching global declaration available for the validation root.
即使简化XML只保留<ipxact:component>元素,错误依然存在。
问题原因
IP-XACT 2014版的schema中,<component>不是合法的根元素——完整的IP-XACT文档必须以<ipxact:ipxact>作为根节点,<component>是它的子元素之一。当前XML缺少外层根节点包裹,导致schema验证失败。
解决方案
- 修正XML结构:添加外层
<ipxact:ipxact>元素,将<component>包裹在内,示例如下:
<?xml version="1.0" encoding="UTF-8"?> <!--Generated by PeakRDL IP-XACT (https://github.com/SystemRDL/PeakRDL-ipxact)--> <ipxact:ipxact xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.accellera.org/XMLSchema/IPXACT/1685-2014 http://www.accellera.org/XMLSchema/IPXACT/1685-2014/index.xsd"> <ipxact:component> <!--原有的component内容--> </ipxact:component> </ipxact:ipxact>
- 跳过schema验证:查看
ipxact2md工具是否提供跳过验证的参数(如--no-validate),若有则添加该参数,绕开验证直接转换。
内容的提问来源于stack exchange,提问作者mriley800
相关产品推荐
相关产品推荐

