XML是SGML的一个子集。有效的XML文档也是有效的SGML文档,反之亦然。
即使我使用XML而不是DTD,这是否仍然是正确的呢?
产生疑问的原因在于,XML是SGML的一个子集,但是XML允许不能在XML中定义的内容。
那么仍然是一个子集吗?我能用SGML做所有我能用XML做的事情吗?
发布于 2016-03-16 18:44:39
是SGML的一个子集吗?
不,远不是DTD的一个子集。XML使用与DTD完全不同的语法,XML可以表示DTD中不可能实现的许多约束。
有效的XML文档也是有效的SGML文档。
你的意思可能是结构良好,无效。在这里,Well-formed is not the same as valid.可能是您想要创建子集语句的地方。XML被设计成SGML的一个子集,是的。
我能用SGML做所有我能用XML做的事情吗?
不,甚至不是很近。仅举一个例子,DTDs cannot restrict data to numeric types,但是XML可以是微不足道的。一般来说,XML比DTD更具表现力。
https://stackoverflow.com/questions/36043712
复制相似问题