idea在xml中报错,xsd中没有错误
<?xml version="1.0" encoding="UTF-8"?> <hr xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hr-schema.xsd"> <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大厦-B105</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>
正在回答
同学你好,很抱歉老师刚才以为同学使用的是eclipse运行的,老师将代码粘贴到idea中,同学编写的没有问题哦~
eclipse和idea的检查语法规则有些不同,idea的语法比较严格,同学最开始的编写方式是正确的。
具体如下:
如果同学的代码报错,建议重新启动一下编译器试试哦~
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
我将课堂的文件和作业的文件放在一个项目下了,hr的引用hr.xsd,plan的应用plan.xsd,可是hr的xmlns="http://www.w3school.com.cn" 指向的却是plan.xsd文件。
我将plan.xsd删除,hr.xml就不再报错,正常了。这是为什么?同一个项目下不能同时存在多个不同xml的不同约束文件吗?引用的文件指向都是正确的,但是属性为什么只能指向一个文件呢?还是我配置错了什么
同学你好,代码编写的不错,报错的原因是xsd文件头中不需要设置targetNamespace、xmlns:xs、 elementFormDefault等内容了,因为xml中noNamespaceSchemaLocation引用的是没有目标名称空间的hr-schema.xsd,所以也就不需要设置targetNamespace、xmlns:xs、 elementFormDefault等内容了。并且在xml的内容中也不需要自定义的方式来命名作用空间。
如:
修改后的代码如下:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="hr"> <!-- complexType标签含义是复杂节点,包含子节点时必须使用这个标签 --> <complexType> <sequence><!-- 这里面的子节点必须按顺序书写 --> <element name="employee" minOccurs="1" maxOccurs="9999"> <complexType> <sequence> <element name="name" type="string"></element> <element name="age"> <simpleType> <restriction base="integer"> <minInclusive value="18"></minInclusive> <maxInclusive value="60"></maxInclusive> </restriction> </simpleType> </element> <element name="salary" type="integer"></element> <element name="department"> <complexType> <sequence> <element name="dname" type="string"></element> <element name="address" type="string"></element> </sequence> </complexType> </element> </sequence> <attribute name="no" type="string" use="required"></attribute> </complexType> </element> </sequence> </complexType> </element> </schema>
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星