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

When should I use a cdata marked section?

635


What is xsl apply templates?

511


What is the best rss reader?

434


How do I open an xml file?

410


What is an xml namespace?

510






Does youtube have an rss feed?

488


What is dtd in html?

459


What is the difference between xlt and xls?

457


Can we encode mathematics using XML?

511


Explain XSL-FO Documents structure?

521


What is XmlReader class? Explain.

491


How do different xml technologies treat xml namespace declarations?

498


How do I create a rss link?

472


What is the difference between call template and apply template?

448


If XML attribute name itself has double quotes, then how it can be represented?

562