Introduction to XML
XML or Extensible Markup Language, can define their own set of tags Make it possible for people or programs to understand these tags.
XML Scope and Application
Valuable both to the Internet and large corporate intranet environments.
Provides interoperability using a flexible, open, standards-based format.
Applications can be built more quickly.
Easier to maintain
Can easily provide multiple views of the structured data using different style sheets
Examples for the use of XML:
Chemical Markup Language
A model used to describe the structure of a database. Defines internal structures such as tables, fields and the relationship between them.
Need for schema
XML schema is a technology created by Microsoft that implements a subset of a W3C note
Improves upon many weaknesses of DTDs such as the cryptic syntax, the lack of data typing, the closed content model, and the lack of support for namespaces
Supports a wide range of data types such as integers, floating point numbers, dates and times
Includes support for other features, such as an open content model and namespace integration
Benefits of schema
Created using XML syntax, so, the processing of XML Schemas and XML Instances by the same software tool is possible.
Less expenditure for the data management and data administration results in overall low programming expenditure.
As XML Schemas were finalized after the Namespace Recommendation, the concept of namespaces was available to be included in the design. Thus, XML Schemas enables to define vocabularies that utilize namespace declarations.
XML Schemas allow you to validate text element content based on built-in and user-defined data types.
XML Schemas allows to easily create complex and reusable content models.
XML Schemas allows to model concepts such as object inheritance and type substitution.
Features of schema
XML schema documents are created using XML syntax, so, no need to learn cryptic language such as EBNF.
Can be passed and manipulated just like any other XML document.
Provides richer data types such as boolean, numbers, dates and times, URIs, integers, decimal numbers, real numbers and also time intervals.
Provides Archetypes that allow to define user-defined datatype from pre-existing data types.
Enables attribute grouping so that all the elements can have common attributes.
Provides refinable archetypes