What is difference between xsd and dtd?

Answer Posted / umarali1981

DTD:

1. Abbreviation: DTD stands for Document Type Definition
2. Markup validation: Can specify only the root element in
the instance document. No ambiguous content support.
3. Namespace support : DTD does not support namespace
instead it has its own set of keywords for defining a schema

example:
!DOCTYPE for root tag
!ELEMENT for an element
!ATTLIST for an attribute
!ENTITY for defining variables.
4. Code reuse: Poorly supported. Can use parameter entities.
5. Datatype Support :No real datatype support. DTD has only
#PCDATA as the data type for the elements.(it is used for
string datatype)
6. Datatype Validation: In DTD, no such restrictions
7. Uses: DTD is more suitable for small XML Data
ex:bookname,companyname etc.
8. Strongly / Weakly typed: DTD is weaky typed.DTD lacks
strong typing capabilities, and has no way of validating the
content to data types.
9. Provisions of Inline Definitions:DTD allows inline
definitions.This is good when working with small files, as
it allows us to contain both the content and the schema
within the same document, but when it comes to larger
documents, this can be a disadvantage, as we pull content
every time we retrieve the schema. This can lead to serious
overhead that can degrade performance.

XSD:

1. Abbreviation: XSD stands for Xml Schema Definition
2. Markup validation: Any global element can be root. No
ambiguous content support.
3. Namespace support :XSD uses its own set of namespaces and
elements for defining the schema.
4. Code reuse:Can reuse definitions using named types.
5. Datatype Support :Provides flexible set of datatypes.

1. primitive / fundamental data types:
string,decimal,float,boolean
2. Custom Data types
i. complex type : a data type that contains child elements
or attributes and
also the mixed contents
ii. simple type : a data type that contains only values.

Provides multi-field key cross references. No co-occurrence
constraints.
6. Datatype Validation: XSD allows us to specify restriction
on data .

Example: tag. we can write only digits here.
7. Uses: XSD is used in large XML Data ex: ADO.NET DataSets,
Web Services.
8. Strongly / Weakly typed: XML Schema is strongly typed.An
XML Schema can define the data type of certain elements, and
even constrain it to within specific lengths or values. This
ability ensures that the data stored in the XML document is
accurate.
9. Provisions of Inline Definitions: XML Schema does not
allow inline definitions

Reference:
http://onlydifferencefaqs.blogspot.in/2012/08/difference-between-dtd-and-xsd.html

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the difference between csv and xml?

451


How do I open a xsl file?

483


How do I convert excel to xml?

449


What is an rss file extension?

471


Explain about the dtd features?

503






How do I find the rss feed for my blog?

437


What is mean by xsl?

461


What does xls mean?

473


What is Simple Element?

529


Is html xml subset?

427


How are documents accessed and manipulated in xml?

455


What is xslt and xpath?

445


What is excel xml map?

444


What atom 1.0 files look like?

448


What is dom parsing?

450