XML Schema 是 SGML DTD 的子集吗?

Is XML Schema a subset of SGML DTD?

XML 是 SGML 的子集。有效的 XML 文档也是有效的 SGML 文档,但反之亦然。

即使我使用 XML 架构而不是 DTD,这是否仍然成立?

怀疑源于 XML DTD 是 SGML DTD 的子集,但 XML 架构允许无法在 XML 中定义的内容DTD.

那么 XML Schema 仍然是一个子集吗?我可以用 SGML DTD 做我用 XML Schema 能做的一切吗?

Is XML Schema a subset of SGML DTD?

不,XML 架构远不是 DTD 的子集。 XML Schema 使用与 DTD 完全不同的语法,XML Schema 可以表达许多 DTD 中不可能的约束。

A valid XML document is also a valid SGML document

您的意思可能是格式正确,而不是有效Well-formed is not the same as valid. 这里可能是您要进行子集声明的地方。 XML 被设计为 SGML 的一个子集,是的。

Can I do with SGML DTD everything I can do with XML Schema?

不,甚至不接近。仅举一个例子,,但是 XML Schema 可以很简单。 XML Schema 通常比 DTD 更具表现力。