老师你看下我这为什么不报错?我是按照你写的和文档上面说的!定义子节点的时候我改来改去就是不报错!

老师你看下我这为什么不报错?我是按照你写的和文档上面说的!定义子节点的时候我改来改去就是不报错!

<!--hr.dtd-->

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT hr (employee +)>
<!ELEMENT employee (name,age,salary,department)>

<!--hr.xml-->

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hr SYSTEM "hr.dtd">
<!--人力资源管理系统-->
<hr>
 <employee no=3301>
  <name>张二</name>
  <age1>31</age1>
  <salary>4000</salary>
  <department>
   <dname>设计部</dname>
   <address>XX大厦</address>
  </department>
 </employee>
 <employee no=3302>
  <name>张三</name>
  <age1>11</age1>
  <salary>3500</salary>
  <department>
   <dname>统计部</dname>
   <address>XX大厦</address>
  </department>
 </employee>
 <employee no=3303>
  <name>张四</name>
  <age1>21</age1>
  <salary>3000</salary>
  <department>
   <dname>会计部</dname>
   <address>XX大厦</address>
  </department>
 </employee>
</hr>

正在回答

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

2回答

同学你好。你的dtd文件缺少如下设置:

<!ATTLIST employee no CDATA "">
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT salary (#PCDATA)>
<!ELEMENT department (dname,address)

因为同学已经定义了employee标签下面可以有name,age,salary,department等子标签,就需要定义出来这些子标签哦。

如果还有疑问,可以继续提问。如果解答了同学的疑问,望采纳~

祝学习愉快~


提问者 慕运维9457448 2019-03-22 13:45:43

老师我知道缺少那些,我想问的是他这个定义顺序,还有变量名字,顺序我打乱没报错,变量名字不对也没报错!是不是除了employee以外都不报错了!

  • 是的,对于编译器来说,你的这句:<!ELEMENT employee (name,age,salary,department)>没有定义完整,所以编译器就不做校验了。只做 <!ELEMENT hr (employee +)>的校验。同学可以试一下,把后面的标签定义补全,它就可以正常提示了呢。
    2019-03-22 14:01:16
  • 提问者 慕运维9457448 #2
    好的,多谢老师解答!?
    2019-03-22 14:03:36
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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