我有一个XSD文件,其中包含4个xsd:schema
个元素,这些元素是相关的并互相使用。我试图用ReadXmlSchema
方法将该模式绑定到数据集中,但我遇到了这个错误:
有多个根元素
原因是一个文件中有4个xsd:schema
。我无法将它们组合或拆分。
你有什么建议吗?
答案 0 :(得分:2)
原因是一个文件中有4个xsd:schema。我无法结合或 分开他们。
你可以而且你必须分开它们。 XSD本身必须是well-formed XML文档,格式良好的XML文档只能有一个根元素。
创建一个使用<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="FirstEE" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>FirstEE</non-jta-data-source>
<!-- <exclude-unlisted-classes>false</exclude-unlisted-classes> -->
<class>com.jason.Entity.User</class>
<class>com.jason.ManagedBean.Login</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/yash" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="root" />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="eclipselink.logging.level" value="FINEST" />
<property name="eclipselink.ddl-generation" value="create-tables" />
</properties>
</persistence-unit>
</persistence>
或xs:include
引入其他XSD的主XSD。阅读有关差异的更多信息here。示例如下......
xs:import
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="1.xsd"/>
<xs:include schemaLocation="2.xsd"/>
<!-- ... -->
</xs:schema>