我的XML
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xsi="http://www.w3.org/2001/XMLSchema-instance"
schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Entities\Aplikasi" table="aplikasi">
<field name="nama" type="string" column="nama" length="20" precision="0" scale="0" unique="1"/>
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
</entity>
</doctrine-mapping>
尝试通过Netbeans
验证时,我得到了这个结果XML validation started.
Checking file:/home/meh/doctrine2/Entities/Mappings/Entities.Apliksi.dcm.xml...
cvc-elt.1: Cannot find the declaration of element 'doctrine-mapping'. [5]
XML validation finished.
我也未能在http://www.validome.org/xml/validate/
验证XML如何确保其有效?
答案 0 :(得分:1)
我必须做一些更改来验证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://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="EntitiesAplikasi" table="aplikasi">
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
<field name="nama" type="string" column="nama" length="20" unique="1"/>
</entity>
</doctrine-mapping>
我必须在xmlns
之前添加前缀xsi
,在xsi
之前添加前缀schemaLocation
,然后我将id移到字段上方并删除精度和比例属性。< / p>
如果您在Web浏览器中导航到the schema并选择查看源代码或只是下载它,您可以阅读架构以确定有效的XML应该是什么样的。
答案 1 :(得分:1)
使用Netbeans验证任何XML架构(XSD文件,如any-xml-schema-name.xsd)时会出现同样的问题。
在使用您的解决方案之前,我的代码是:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
但总是无法验证,错误消息:“无法找到元素'xs:schema'的声明”
现在,使用您的解决方案,我只是将上面相同的代码更改为:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd"
它正在发挥作用。
谢谢!
Marcio Wesley Borges
http://marciowb.info