在我基于GWT 2.8的项目中,Eclipse 2020-03向我显示了很多在Markers下的错误消息->语言服务器我确信这些不是错误。由于某种原因,Eclipse无法正确解释ui.xml文件。该应用程序可以编译并正常运行:
我用于XML验证的日食范围设置如下:
没有此项目的特定设置
这里是some.ui.xml文件的一个示例的摘录(不是完整的源代码!!)。该项目包含许多这些文件:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder
xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:b="urn:import:org.gwtbootstrap3.client.ui"
xmlns:a="urn:import:com.myapp.client.widgets"
ui:generateFormat="com.google.gwt.i18n.rebind.format.PropertiesFormat"
ui:generateKeys="com.google.gwt.i18n.server.keygen.MD5KeyGenerator"
ui:generateLocales="default" >
<ui:with type="com.myapp.resources.text.CommonMessages" field="msgs" />
<ui:with type="com.myapp.resources.text.SummaryMessages" field="sMsgs" />
<b:Modal closable="true" fade="true" dataBackdrop="STATIC" dataKeyboard="true"
b:id="dialog"
ui:field="dialog">
<b:ModalHeader title="{sMsgs.transferOwnership}" />
<b:ModalBody>
<g:HTML><ui:text from="{sMsgs.transferOwnershipDescription}"/></g:HTML>
<b:ListBox
ui:field="userListBox"
multipleSelect="false"
width="100%"
/>
<b:Alert type="DANGER" ui:field="participantWarning">
<b:Icon type="WARNING"/>
<g:HTML><ui:text from="{sMsgs.transferOwnershipNotParticipantWarning}" /></g:HTML>
</b:Alert>
</b:ModalBody>
<b:ModalFooter>
尽管上面已声明:[...]
xmlns:b="urn:import:org.gwtbootstrap3.client.ui"
[...]
导入:应用程序编译并运行良好。所以我只想抑制那些错误消息(显示错误),因为它们并不是真正的错误消息。 :-)
这些资源可能会有所帮助:
“必须声明”,表示在文档类型定义(DTD)或XML架构(也称为“语法”)中声明。
您引用的行:
xmlns:b="urn:import:org.gwtbootstrap3.client.ui"
它说有一个名称空间“ b”,但此行没有其他含义。例如,它没有声明哪个elements(例如Alert
)在该命名空间中有效。
如果您不担心验证XML,只希望关闭错误消息,建议您更改选项:
未指定语法:
警告→忽略
这将停止Eclipse尝试根据语法验证XML,但仍会显示格式错误 XML的错误(标记关闭两次等)。如果愿意,可以按项目配置此选项。
替代方法是提供DTD或Schema并在XML中引用它。除非gwtbootstrap3提供了一种语法(我认为不是),否则您可能必须自己编写这样的语法。
要清除现有的验证错误,您可能需要manually delete them。