我在Eclipse中有一個PHP項目,其中有很多XML文件。現在,我所有的XML文件驗證失敗,並出現以下錯誤信息:XML/XSD publicId和systemId之間需要空格
White spaces are required between publicId and systemId
我,四處搜尋,publicId和的systenId似乎涉及到與DOCTYPE開始的XML文件。我的不。另一個SO posting表示將XSD添加到Eclipse中的XML目錄中,但這似乎沒有什麼區別。
一個示例XML如下:
<?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="Doctrine\Tests\Models\CMS\CmsAddress" 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中的錯誤。如果它有什麼不同,我使用Eclipse 3.7和PDT。失敗的XML文件都是庫的一部分,所以我認爲它必須是必須修改/糾正以解決問題的Eclipse配置細節,但我不知道該怎麼做。
任何建議,我可以嘗試讓我的XML文件驗證?
我不知道這裏有什麼問題,但它與您向我們顯示的XML文件無關。 – 2013-04-24 20:19:32
同意。就像我說的,我相當確信這是一個Eclipse配置問題,但我不知道是什麼。我在沒有它的情況下顯示XML文件b/c,第一個問題(正確)就是XML文件的樣子。鑑於這些是供應商生產的XML文件(以及其中幾個),我相當確信XML文件都是有效的。 – 2013-04-24 20:32:53
請注意,這不是一個有效性問題,而是一個良構問題。在你的鞋子裏,我會看看,如果我能夠識別系統可能會想到的每一個XML文檔,從請求來驗證文檔到你看到的錯誤信息。正在驗證的文檔(如果您演示的示例是典型的,問題不在此處),定義模式的模式文檔(同上),Eclipse的配置文件和Eclipse中的驗證模塊... – 2013-04-24 21:40:24