用于Windows的命令行XML验证器
我一直发现对模式的验证对于thinkos来说是一个非常有价值的区域,并且希望将验证检查作为项目的一部分,我经常需要手写
XML文件长达几百行.我的文本编辑器有一个相当不错的CLI集成功能,所以我正在寻找一个命令行验证器.
当我没有通过Google找到任何明确的获奖者时,我在这里捅了一个similar question,但没有一个建议的工具非常适合我的需求: > libxml(通过cygwin) – 不报告行号;我不知道我的错误在哪里! (*我验证的模式使用替代组 – 不适当地,但它在项目外部,所以我无法更改它 – 这会导致xmlstarlet甚至阻止有效的文件.) 通常,这是解决一个问题的重点,我将放弃寻找一个现有的解决方案,并达到Python锤子,但Python的XML支持是众所周知的……实际上,让我们把它放在“臭名昭着” . 所以我回来寻找一个预先存在的工具.我的要求很简单: >在Win32(Windows XP SP3,具体)上运行 这样的工具是否存在?我宁愿不必安装Visual Studio和朋友(太blo肿,IMO),但是我已经安装了Cygwin和Python.
您的第一个选项xmllint(libxml2)确实给出了xml(以及xsd)中错误的行号.您可能只需要更高版本.我刚刚确认使用我的副本,这是:
> xmllint --version xmllint: using libxml version 20627 示例输出: invalidXml.xml:4: element c: Schemas validity error : Element 'c': This element is not expected. Expected is ( b ). invalidXml.xml fails to validate <?xml version="1.0"?> <invalidXmlEg> <a/> <!-- <b></b> --> <c/> </invalidXmlEg> xsd在哪里 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="invalidXmlEg"> <xs:complexType> <xs:sequence> <xs:element name="a" type="xs:string" /> <xs:element name="b" type="xs:string" /> <xs:element name="c" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 注意:我已经注意到,xmllint将接受它不应该的元素名称(例如“< invalidXml.xsd>”),但是这似乎不会影响你的任务. EDIT添加“编译”部分版本: compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- iis-7.5 – IIS获取失败请求的完整错误消息
- windows下nginx的安装及使用
- windows服务器下zabbix agent的安装调试
- 为什么在Windows上运行本地系统服务不好?
- 是否有Windows CMD相当于Unix shell的exec?
- winapi – 如何在不获取WER对话框的情况下在Windows-7上崩溃
- .net – 使用适用于Windows XP / 7的Metro UI开发应用程序
- 带有资源字典的wpf类库
- Microsoft SQL Server Native Client 10.0登录超时已过期
- windows-server-2003 – 如何创建PDF打印服务器?
- 如何在Windows中使用PuTTY创建SSH隧道?
- ExtJs面板 – 添加动态组件
- 适用于Windows的Vim / Ag g:ctrlp_user_command
- windows-8 – 启动另一个Windows应用商店应用
- windows-7 – 如何通过GPO禁用Windows 7中的Tcp
- 适用于小型办公室的Windows Server 2008上的VPN服
- winapi – Win32 ReadFile从管道读取时挂起
- .Net Core 获取项目所有程序集,排除Microsoft、
- AlwaysOn所在Windows Cluster失败后,如何在残存S
- windows-server-2003 – 对于Windows nslookup,“