我在 Eclipse 中有一个包含大量 XML 文件的 PHP 项目。现在,我所有的 XML 文件都未通过验证,并显示以下错误消息:
White spaces are required between publicId and systemId
我搜索了一下,publicId 和 systemId 似乎与以 DOCTYPE 开头的 XML 文件有关。我的没有。另一个SO 帖子表明将 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 中的错误。如果它有任何区别,我正在使用带有 PDT 的 Eclipse 3.7。失败的 XML 文件都是库的一部分,所以我认为它必须是 Eclipse 配置细节,必须修改/纠正才能解决问题,但我不知道是什么。
有什么建议我可以尝试验证我的 XML 文件吗?