Difference between dtd and xsd

umarali1981 30,850 views 2 slides Aug 22, 2012
Slide 1
Slide 1 of 2
Slide 1
1
Slide 2
2

About This Presentation

This document provides difference between DTD and XSD


Slide Content

Difference between DTD and XSD
S.NoDTD XSD
1 Abbreviation:
DTD stands for Document Type
Definition
Abbreviation:
XSD stands for Xml Schema
Definition
2 Markup validation:
Can specify only the root element
in the instance document. No
ambiguous content support.
Markup validation:
Any global element can be root. 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.
Namespace support :
XSD uses its own set of namespaces
and elements for defining the schema.
4 Code reuse:
Poorly supported. Can use
parameter entities.
Code reuse:
Can reuse definitions using named
types.
5 Datatype Support :
No real datatype support. DTD
has only #PCDATA as the data
type for the elements.(it is used
for string datatype)
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:
In DTD, no such restrictions
Datatype Validation:
XSD allows us to specify restriction

on data .
Example: <price></price> tag. we can
write only digits here.
7 Uses:
DTD is more suitable for small
XML Data
ex:bookname,companyname etc.
Uses:
XSD is used in large XML Data ex:
ADO.NET DataSets, Web Services.
8 Strongly / Weakly typed:
DTD is weaky typed.
DTD lacks strong typing
capabilities, and has no way of
validating the content to data
types.
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:
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.
Provisions of Inline Definitions:
XML Schema does not allow inline
definitions
And, further updates on difference between questions and answers, please visit my blog @
http://onlydifferencefaqs.blogspot.in/