老师,为啥我的xml的里节点全是红色的,应用xsd后,引用不成功

老师,为啥我的xml的里节点全是红色的,应用xsd后,引用不成功

<?xml version="1.0" encoding="UTF-8"?>
<!-- 教学计划课程信息 -->
<!DOCTYPE teaching-plan SYSTEM "plan.dtd">

<teaching-plan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="plan.xsd">
  <course>
    <course-name>大学英语</course-name>
    <exam-form>考试</exam-form>
    <class-hour>36</class-hour>
  </course>
  <course>
    <course-name>高等数学</course-name>
    <exam-form>考试</exam-form>
    <class-hour>70</class-hour>
  </course>
  <course>
    <course-name>计算机应用基础</course-name>
    <exam-form>上机考试</exam-form>
    <class-hour>108</class-hour>
  </course>
</teaching-plan>
<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
  <element name="teaching-plan">
    <complexType>
      <sequence>
        <element name="course" maxOccurs="100">
          <complexType>
            <sequence>
              <element name="course-name" type="string"></element>
              <element name="exam-form" type="string"></element>
              <element name="class-hour">
                <simpleType>
                  <restriction base="integer">
                    <minExclusive value="20"></minExclusive>
                    <maxExclusive value="110"></maxExclusive>
                  </restriction>
                </simpleType>
              </element>
            </sequence>
            <attribute name="id" type="string" use="required"></attribute>
          </complexType>
        </element>
      </sequence>
    </complexType>
  </element>
</schema>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小班 2019-09-25 19:25:49

同学你好,这里老师修改完整的代码如下所示:

    1、在之前修改的xsd文件中,老师忘记为子节点id的类型添加xs:

    2、修改后,在xml中还会报出没有id的错误,这里就需要同学在xml中添加id属性哟

http://img1.sycdn.imooc.com//climg/5d8b4eac098df53505110435.jpg

修改后的代码如下所示:

xsd:

<?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="teaching-plan">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="course" maxOccurs="100">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="course-name" type="xs:string"></xs:element>
                            <xs:element name="exam-form" type="xs:string"></xs:element>
                            <xs:element name="class-hour">
                                <xs:simpleType>
                                    <xs:restriction base="xs:integer">
                                        <xs:minExclusive value="20"></xs:minExclusive>
                                        <xs:maxExclusive value="110"></xs:maxExclusive>
                                    </xs:restriction>
                                </xs:simpleType>
                            </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>

xml:

<?xml version="1.0" encoding="utf-8"?>
<teaching-plan xmlns="http://www.w3school.com.cn"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:noNamespaceSchemaLocation="plan.xsd">
    <course id="1">
        <course-name>大学英语</course-name>
        <exam-form>考试</exam-form>
        <class-hour>36</class-hour>
    </course>
    <course id="2">
        <course-name>高等数学</course-name>
        <exam-form>考试</exam-form>
        <class-hour>70</class-hour>
    </course>
    <course id="3">
        <course-name>计算机应用基础</course-name>
        <exam-form>上机考试</exam-form>
        <class-hour>108</class-hour>
    </course>
</teaching-plan>

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 思思_0005 #1
    老师。我这里不报错,但是引用不成功了。用的是IDEA
    2019-09-26 10:34:44
  • 好帮手慕小班 回复 提问者 思思_0005 #2
    同学你好,这里老师测试是可以正常引用,同学这里是哪里引用不成功呐,是xml文件中 xsi:noNamespaceSchemaLocation="plan.xsd"这个plan.xsd没有引用成功吗,这里同学文件名plan.xsd有没有书写正确呐,还是说同学的文件名称并不是这个呐。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-09-26 16:02:07
提问者 思思_0005 2019-09-25 18:28:39
好帮手慕小班 2019-09-25 18:22:08

同学你好,这里老师复制贴出代码,并没有报错呐,例如:

http://img1.sycdn.imooc.com//climg/5d8b3e750951904d11650509.jpg

请问这里同学是使用的什么工具呐,是eclipse吗,在eclipse中并没有报错呐,如果同学使用的是idea的话,idea的语法更严格,每个标签前需要加上xs: --》xsd文件的如下修改:

<?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="teaching-plan">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="course" maxOccurs="100">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="course-name" type="xs:string"></xs:element>
                            <xs:element name="exam-form" type="xs:string"></xs:element>
                            <xs:element name="class-hour">
                                <xs:simpleType>
                                    <xs:restriction base="xs:integer">
                                        <xs:minExclusive value="20"></xs:minExclusive>
                                        <xs:maxExclusive value="110"></xs:maxExclusive>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="string" use="required"></xs:attribute>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 思思_0005 #1
    我改了之后还是红色的,我用的是idea
    2019-09-25 18:29:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师