为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Netbeans 8.2中使用XSD 1.1?

如何在Netbeans 8.2中使用XSD 1.1?

largeQ 2021-04-29 21:18:11
Netbeans似乎拒绝了XSD 1.1支持的某些XSD标签,例如“ assert”:cvc-complex-type.2.4.a:从元素“ xs:assert”中发现无效的内容。值'{“ http://www.w3.org/2001/XMLSchema”:attribute,“ http://www.w3.org/2001/XMLSchema”:attributeGroup,“ http://www.w3”之一.org / 2001 / XMLSchema “:anyAttribute}”。[205]我尝试使用其中一些示例,但没有成功。我该怎么做才能解决我的问题?据我所知,我在XSD架构中无需指定使用XSD 1.1的某些功能:<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

这完全取决于您“在NetBeans 8.2中使用XSD 1.1”的意思,但是我假设您想针对具有XSD 1.1功能(例如assert)的某些* .xsd文件使用上下文菜单项Validate XML in NetBeans 。如果执行此操作,则会看到您报告的相同“ cvc-complex-type.2.4.a:发现无效内容...”错误。

无法自定义Validate XML命令使用的验证器,显然,它使用JDK的javax.xml API进行验证。NetBeans 8.2使用Java 8,但是即使使用JDK 9,也无法验证XSD 1.1功能

Java 9。

...最大的新闻是,我们终于更新了Xerces的内部端口。甲骨文公司(以及之前的Sun公司)在忽略这一点上一直很懈怠:出于善意,Java在Xerces 2.7.n中停留了11年之久。新端口等效于Apache Xerces 2.11.0。(注:XSD仍然仅是1.0,尚未部署XSD 1.1更新,但这可能反映了Apache Xerces缓慢地正式进行更改的步伐。)

使用Apache NetBeans 9.0 RC1时会发生相同的问题,因此只有在以下两种情况下,此问题才可能得到解决:

  • NetBeans使用JDK,该JDK使用支持XSD 1.1功能验证的Xerces版本。

  • NetBeans使用不同的方法进行XSD验证。

我也看不到任何有帮助的NetBeans插件。当然,仍然有一些第三方工具和(可能)用于Maven项目的配置可能会有所帮助,但是我看不到仅使用NetBeans的解决方案。


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信