DTD好,还是XSD好

解决方案 »

  1.   

    当然是Schema,DTD是较早的方式,不过用的也还是比较多
    XML Schema 比 DTD 更强大
    XML Schema 最重要的能力之一就是对数据类型的支持。
    通过对数据类型的支持:
    可更容易地描述允许的文档内容 
    可更容易地验证数据的正确性 
    可更容易地与来自数据库的数据一并工作 
    可更容易地定义数据约束(data facets) 
    可更容易地定义数据模型(或称数据格式) 
    可更容易地在不同的数据类型间转换数据
      

  2.   

    XML Schema本身的定义中,也是用到DTD的。
    比如XML Schema的定义文件中有如下语句:
            <!ATTLIST xs:simpleType id ID #IMPLIED>
            <!ATTLIST xs:maxExclusive id ID #IMPLIED>
            <!ATTLIST xs:minExclusive id ID #IMPLIED>
            <!ATTLIST xs:maxInclusive id ID #IMPLIED>
            <!ATTLIST xs:minInclusive id ID #IMPLIED>
            <!ATTLIST xs:totalDigits id ID #IMPLIED>
      

  3.   

    XSD建立在DTD之上,并且扩展了DTD。
    它的功能更加强大,就像高级语言比汇编的能力要强大。
    所以大部分情况下,还是推荐使用XSD。
    有人同意这种说法吗?
      

  4.   

    高级语言比汇编能力强大,这是谁说的啊?
    XSD的确是比DTD好,这一点你就不用质疑了。
      

  5.   

    汇编语言理论上能力和高级语言是等价的,并且更加灵活。
    但是高级语言的强大之处,难道是可以否认的吗?
    没有高级语言,难道指望你能用汇编写个现在的Windows出来?
      

  6.   

    本人推荐xsd,因为xsd本人就是用xml格式定义的,同处一体,并且比dtd好理解
      

  7.   

    那并不是高级语言能力的强大,而是对开发人员更容易而且。 这个和XSD和DTD之间的关系式没有可比性的,XSD在能力上就是要比DTD强,而高级语言在能力上根本就不必汇编强。
      

  8.   

    照你这么说DTD和XSD也是等价的,你能说说XSD强大在哪里吗?
      

  9.   


    随便说一个吧
    DTD它不能支持不同位置的重名问题,你就不得不用成XSD了,使用xsd的命名空间来解决。
      

  10.   

    小弟觉得:.xsd的优势是   内容是xml的文件格式  还有定义了元素的具体类型(String,float等) ,有命名空间       
      

  11.   

    把DTD扩展下,使用XML,就有了XSD。
    使用SGML中的其他标记语言(不是XML),就可以有何XSD完全等价的其他 ASD、BSD的
      

  12.   

    当然 schema 好了,现在很多的 XML 定义都改成了 schema 了。
      

  13.   

    你要说那种好,当然是xsd好但是要说实际用,我觉得还是看情况,毕竟DTD写起来简单多了
    没有到一定复杂度的东西,用xsd写实在太虐自己了
      

  14.   

    没看明白你想说什么,算了不争了,争论的目的是把它搞清楚,反正大家多用xsd少用dtd就是了。