工程下面有两个.xml文件,同时写了各自的xmd约束文件,文件时而报错,时而不报错..结构都是一样的

来源:3-2 Dom4j遍历XML

慕盖茨4178082

2019-04-17 16:03:46



http://img.mukewang.com/climg/5cb6dddc0001372403700023.jpg

<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE hr SYSTEM "hr.dtd">-->
<!-- 人力资源管理系统 -->

<hr xmlns="http://www.w3school.com.cn"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="hr.xsd">
<!--<hr>-->
   <employee no="1234">
     <name>李铁柱</name>
     <age>40</age>
     <salary>3600</salary>
     <department>
        <dname>人事部</dname>
        <address>XX大厦-B105</address>
     </department>
   </employee>
  <employee no="3302">
     <name>林海</name>
     <age>50</age>
     <salary>7000</salary>
     <department>
        <dname>财务部</dname>
        <address>XX大厦-B106</address>
     </department>
  </employee>
  <employee no="3303">
     <name>安娜</name>
     <age>24</age>
     <salary>4600</salary>
     <department>
        <dname>人事部</dname>
        <address>XX大厦-B105</address>
     </department>
  </employee>
  <employee no="3304">
     <name>张晓宇</name>
     <age>29</age>
     <salary>3000</salary>
     <department>
        <dname>后勤部</dname>
        <address>XX大厦-B108</address>
     </department>
  </employee>
  <employee no="3305">
     <name>赵子轩</name>
     <age>19</age>
     <salary>1500</salary>
     <department>
        <dname>后勤部</dname>
        <address>XX大厦-B108</address>
     </department>
  </employee>
  <employee no="3306">
     <name>张晓璇</name>
     <age>20</age>
     <salary>1700</salary>
     <department>
        <dname>后勤部</dname>
        <address>XX大厦-B108</address>
     </department>
  </employee>
  <employee no="3307">
     <name>张檬</name>
     <age>43</age>
     <salary>8700</salary>
     <department>
        <dname>会计部</dname>
        <address>XX大厦-B103</address>
     </department>
  </employee>
  <employee no="3308">
     <name>李梅</name>
     <age>33</age>
     <salary>8700</salary>
     <department>
        <dname>工程部</dname>
        <address>XX大厦-B104</address>
     </department>
  </employee>
  <employee no="3309">
     <name>张三</name>
     <age>31</age>
     <salary>4000</salary>
     <department>
        <dname>会计部</dname>
        <address>XX大厦-B103</address>
     </department>
  </employee>
  <employee no="3310">
     <name>李四</name>
     <age>23</age>
     <salary>3000</salary>
     <department>
        <dname>工程部</dname>
        <address>XX大厦-B104</address>
     </department>
  </employee>
</hr>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.w3school.com.cn"
        xmlns="http://www.w3school.com.cn"
        elementFormDefault="qualified">
  <xs:element name="hr">
     <!-- complexType标签含义是复杂节点,包含子节点时必须使用这个标签 -->
     <xs:complexType>
        <xs:sequence>
           <xs:element name="employee" minOccurs="1" maxOccurs="9999">
              <xs:complexType>
                 <xs:sequence>
                    <xs:element name="name" type="xs:string"></xs:element>
                    <xs:element name="age">
                       <xs:simpleType>
                          <xs:restriction base="xs:integer">
                             <xs:minInclusive value="18"></xs:minInclusive>
                             <xs:maxInclusive value="60"></xs:maxInclusive>
                          </xs:restriction>
                       </xs:simpleType>
                    </xs:element>
                    <xs:element name="salary" type="xs:integer"></xs:element>
                    <xs:element name="department">
                       <xs:complexType>
                          <xs:sequence>
                             <xs:element name="dname" type="xs:string"></xs:element>
                             <xs:element name="address" type="xs:string"></xs:element>
                          </xs:sequence>
                       </xs:complexType>
                    </xs:element>
                 </xs:sequence>
                 <xs:attribute name="no" type="xs:string" use="required"></xs:attribute>
              </xs:complexType>
           </xs:element>
        </xs:sequence>
     </xs:complexType>
  </xs:element>
</xs:schema>


<?xml version="1.0" encoding="UTF-8" ?>
<!--<!DOCTYPE teach-plan SYSTEM "plan.dtd" >-->
<teach-plan    xmlns="http://www.w3school.com.cn"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="plan.xsd">
<!--<teach-plan>-->
   <course id="001">
       <course-name>Java学习</course-name>
       <class-hour>88</class-hour>
       <exam-form>考试</exam-form>
   </course>
   <course id="002">
       <course-name>大学英语</course-name>
       <class-hour>36</class-hour>
       <exam-form>考试</exam-form>
   </course>
   <course id="003">
       <course-name>高等数学</course-name>
       <class-hour>70</class-hour>
       <exam-form>考试</exam-form>
   </course>
   <course id="004">
       <course-name>计算机应用基础</course-name>
       <class-hour>108</class-hour>
       <exam-form>上机考试</exam-form>
   </course>
</teach-plan>

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
          targetNamespace="http://www.w3school.com.cn"
          xmlns="http://www.w3school.com.cn"
          elementFormDefault="qualified">
   <xs:element name="teach-plan" >
       <xs:complexType>
           <xs:sequence>
               <xs:element name="course" minOccurs="1" maxOccurs="100">
                   <xs:complexType>
                       <xs:sequence>
                           <xs:element name="course-name" type="xs:string"></xs:element>
                           <xs:element name="class-hour">
                               <xs:simpleType>
                                   <xs:restriction base="xs:integer">
                                       <xs:minInclusive value="30"></xs:minInclusive>
                                       <xs:maxInclusive value="110"></xs:maxInclusive>
                                   </xs:restriction>
                               </xs:simpleType>
                           </xs:element>
                           <xs:element name="exam-form" type="xs:string"></xs:element>
                       </xs:sequence>
                       <xs:attribute name="id" type="xs:string" use="required"></xs:attribute>
                   </xs:complexType>
               </xs:element>
           </xs:sequence>
       </xs:complexType>
   </xs:element>
</xs:schema>




写回答

1回答

芝芝兰兰

2019-04-17

同学你好。schemaLocation 属性同学的使用方式有问题。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置。

修改前:

http://img.mukewang.com/climg/5cb6fc6a000126ff08530671.jpg

修改后:

http://img.mukewang.com/climg/5cb6fc91000170e309100637.jpg

如果解答了同学的疑问,望采纳~

祝学习愉快~


0

0 学习 · 10204 问题

查看课程