如何使用spring.schemas?

时间:2018-06-05 08:51:26

标签: xml spring xsd

我的xml位于mypackages / package1 / src / main / myfolder / tests.xml

<?xml version="1.0" encoding="UTF-8"?>
<tests 
     xmlns="http://www.example.org/tests"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.example.org/tests file:///C:\mypackages/package2\src\main\resources\WEB-INF\myfolder\tests.xsd>
    <test testName="test2" testSize="17" />
    <test testName="test3" testSize="17" />
    <test testName="test4" testSize="17" />
    <test testName="test5" testSize="17" />
</tests>

此xsd位于mypackages / package2 / src / main / resources / WEB-INF / myfolder / tests.xsd

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.example.org/tests" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="test">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="testName" use="required"/>
          <xs:attribute type="xs:byte" name="testSize" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="tests">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tes:test" maxOccurs="unbounded" minOccurs="0" xmlns:tes="http://www.example.org/tests"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

根据我的理解,我可以替换该文件:// ...来自xsi:schemaLocation,其值可以从spring.schemas获取, 这是我的spring.schemas

http\://www.mycompany.com/schema/tests/tests.xsd=mypackages/package2/src/main/resources/WEB-INF/myfolder/tests.xsd

所以现在我用这个链接替换该文件http://www.mycompany.com/schema/tests/tests.xsd对吗? 这就是我所拥有的,我接下来想做的事情,让这项工作成功吗? 提前致谢

0 个答案:

没有答案