微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xsd – DTD或XML模式 哪一个更好?

什么是DTD和XML模式的优点/缺点(我甚至不知道后者的官方名称是什么!)?哪个更好?为什么我们需要两种方法来做同样的事情?

编辑:我发现这在一篇文章,我正在读,这是什么促使我问的问题:

Why W3C XML Schema Language?

The W3C XML Schema Language is not the
only schema language. In fact,the XML
specification describes document-type
deFinitions (DTDs) as the way to
express a schema. In addition,
pre-release versions of the JAXB
Reference Implementation worked only
with DTDs — that is,not with schemas
written in the XML Schema Language.
However,the XML Schema Language is
much richer than DTDs. For example,
schemas written in the XML Schema
Language can describe structural
relationships and data types that
can’t be expressed (or can’t easily be
expressed) in DTDs. There are tools
available to convert DTDs to the W3C
XML Schema Language,so if you have
DTD-based schemas that you used with
an earlier version of the JAXB
Reference Implementation,you can use
these tools to convert the schemas to
XML Schema Language. 07000

我想我想要的例子说明为什么XML-Schema更好(如果它确实是)。

http://weblogs.asp.net/rchartier/archive/2006/03/21/440782.aspx
  • DTD’s are not namespace aware.

  • DTD’s have #define,#include,and #ifdef — or,less C-oriented,the ability to define shorthand abbreviations,external
    content,and some conditional parsing.

  • A DTD describes the entire XML document (even if it leaves “holes”); a schema can define portions.

  • XSD has a type system.

  • XSD has a much richer language for describing what element or attribute content “looks like.” This is related to the type
    system.

  • You can put a DTD inline into an XML document,you cannot do this with XSD. This means DTD’s are more secure (you only
    have to protect one bytestream — the xml/dtd — and not
    multiple).

  • The official deFinition of “valid XML” requires a DTD. Since this may be impractical,if not impossible,you often have to
    settle for schema-valid,which is not quite the same.

对我来说,如果你有一个XSD,为一些XML编写一个验证器是非常简单的。我没有看到这与DTD,虽然我确定它存在。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类