XML是SGML的一个子集。一个有效的XML文档也是一个有效的SGML文档,但逆反之则不成立。
如果我使用XML Schema而不是DTD,这个结论是否依然成立?
疑问来源于XML DTD是SGML DTD的子集,但XML Schema允许定义在XML DTD中无法定义的东西。
那么XML Schema仍然是一个子集吗?我能用SGML DTD做到XML Schema所能做的一切吗?
XML是SGML的一个子集。一个有效的XML文档也是一个有效的SGML文档,但逆反之则不成立。
如果我使用XML Schema而不是DTD,这个结论是否依然成立?
疑问来源于XML DTD是SGML DTD的子集,但XML Schema允许定义在XML DTD中无法定义的东西。
那么XML Schema仍然是一个子集吗?我能用SGML DTD做到XML Schema所能做的一切吗?
XML Schema是SGML DTD的子集吗?
不是,XML Schema远非DTD的子集。 XML Schema使用完全不同于DTD的语法,并且XML Schema可以表达许多在DTD中不可能的约束。
一个有效的XML文档也是一个有效的SGML文档
您可能指的是格式良好,而不是有效。格式良好与有效不同。这里可能是您想要进行子集声明的地方。 是的,XML被设计为SGML的子集。
我能用SGML DTD做到XML Schema所能做的一切吗?
不行,甚至差得很远。 举个例子,DTD无法将数据限制为数字类型,但XML Schema可以轻松实现。 总体而言,XML Schema比DTD更加具有表现力。