一个简单的XML的问题,急急急

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
一个带有内部DTD的XML文件代码如下<?xml version="1.0" encoding="gb2312"?><!DOCTYPE 事务 [<!ELEMENT 合同日期 (#PCDATA)><!ELEMENT 合同名 (#PCDATA)><!ELEMENT 合同编号 (#PCDATA)><!ELEMENT 合同类型 (#PCDATA)><!ELEMENT 事务 (合同编号,合同类型,合同名,合同日期)>]><事务><合同编号>20040414</合同编号><合同类型>FOB</合同类型><合同名>建筑材料购买合同</合同名><合同日期>2006年10月16日</合同日期></事务>但是我把它的内部DTD改成那样了,为什么还可以显示出来呢?<?xml version="1.0" encoding="gb2312"?><!DOCTYPE 事务 [<!ELEMENT 合同111日期 (#PCDATA)><!ELEMENT 合同11名 (#PCDATA)><!ELEMENT 合同编号 (#PCDATA)><!ELEMENT 合同55类型 (#PCDATA)><!ELEMENT 事务 (合同编55号,合同类55型,合同名,合同日期)>]><事务><合同编号>20040414</合同编号><合同类型>FOB</合同类型><合同名>建筑材料购买合同</合同名><合同日期>2006年10月16日</合同日期></事务>只有这么多分了,希望哪个大虾帮一下哈?

                                                                                                DTD是XML的规范,只能用来验证XML的有效性,不能起到限制的作用。例如当我拿到一个XML,可以用验证工具根据它对应的DTD判断他是否有效的XML文件。楼主的情况,改前验证为有效,改后验证为无效,但XML本身不会随之改变。用XMLSpy等软件可以自动根据DTD对XML进行有效化,楼主可以试试看。                                       
提问者对答案的评价:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行