問題描述
我在 Eclipse 中有一個包含大量 XML 文件的 PHP 項目.現(xiàn)在,我所有的 XML 文件都未通過驗證,并顯示以下錯誤消息:
I've got a PHP project in Eclipse with a lot of XML files. Right now, all my XML files are failing validation, with the following error message:
White spaces are required between publicId and systemId
我搜索了一下,publicId和systemId似乎與以DOCTYPE開頭的XML文件有關(guān).我的沒有.另一個 SO 張貼 表示將 XSD 添加到 Eclipse 中的 XML 目錄中,但這似乎沒有什么不同.
I've searched around, and publicId and systemId seem to be related to XML files that start with DOCTYPE. Mine don't. Another SO posting indicated to add the XSD to the XML catalog in Eclipse, but that doesn't seem to make a difference.
一個示例 XML 如下:
One sample XML is the following:
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="DoctrineTestsModelsCMSCmsAddress" table="cms_users">
<named-native-queries>
<named-native-query name="find-all" result-set-mapping="mapping-find-all">
<query>SELECT id, country, city FROM cms_addresses</query>
</named-native-query>
<named-native-query name="find-by-id" result-class="CmsAddress">
<query>SELECT * FROM cms_addresses WHERE id = ?</query>
</named-native-query>
<named-native-query name="count" result-set-mapping="mapping-count">
<query>SELECT COUNT(*) AS count FROM cms_addresses</query>
</named-native-query>
</named-native-queries>
<sql-result-set-mappings>
<sql-result-set-mapping name="mapping-find-all">
<entity-result entity-class="CmsAddress">
<field-result name="id" column="id"/>
<field-result name="city" column="city"/>
<field-result name="country" column="country"/>
</entity-result>
</sql-result-set-mapping>
<sql-result-set-mapping name="mapping-without-fields">
<entity-result entity-class="CmsAddress"/>
</sql-result-set-mapping>
<sql-result-set-mapping name="mapping-count">
<column-result name="count"/>
</sql-result-set-mapping>
</sql-result-set-mappings>
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
<field name="country" column="country" type="string" length="50"/>
<field name="city" column="city" type="string" length="50"/>
<field name="zip" column="zip" type="string" length="50"/>
<one-to-one field="user" target-entity="CmsUser" inversed-by="address">
<join-column referenced-column-name="id" />
</one-to-one>
</entity>
</doctrine-mapping>
我對接下來要嘗試什么感到有些困惑.我可以禁用 XML 驗證,但我討厭這樣做來解決 Eclipse 中的錯誤.如果它有任何區(qū)別,我正在使用帶有 PDT 的 Eclipse 3.7.失敗的 XML 文件都是庫的一部分,所以我認為它必須是 Eclipse 配置細節(jié),必須修改/糾正才能解決問題,但我不知道是什么.
I'm a bit stumped at what to try next. I can disable XML validation, but I hate doing things like that to resolve errors in Eclipse. If it makes any difference, I'm using Eclipse 3.7 with PDT. The XML files that fail are all part of libraries so I presume it must be an Eclipse configuration detail that had to be modified/rectified to resolve the issue, but I have no idea what.
有什么建議可以嘗試驗證我的 XML 文件嗎?
Any suggestions what I can try to have my XML files validate?
推薦答案
基本上順序應(yīng)該是這樣的--property 后跟property.xsd
Basically, the order should be like this - property and then followed by property.xsd
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
這篇關(guān)于XML/XSD publicId 和 systemId 之間需要空格的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!