Enviar búsqueda
Cargar
01 sm3 xml_xp_02
•
0 recomendaciones
•
510 vistas
Niit Care
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 49
Recomendados
4. hbase overview
4. hbase overview
Anuja Gunale
Cluster analysis
Cluster analysis
Hohai university
Basics of MongoDB
Basics of MongoDB
Habilelabs
State Space Search and Control Strategies in Artificial Intelligence.pptx
State Space Search and Control Strategies in Artificial Intelligence.pptx
RSAISHANKAR
Lecture1 introduction compilers
Lecture1 introduction compilers
Mahesh Kumar Chelimilla
Introduction to MongoDB
Introduction to MongoDB
Ravi Teja
Artificial Intelligence- TicTacToe game
Artificial Intelligence- TicTacToe game
manika kumari
Relational Data Model Introduction
Relational Data Model Introduction
Nishant Munjal
Recomendados
4. hbase overview
4. hbase overview
Anuja Gunale
Cluster analysis
Cluster analysis
Hohai university
Basics of MongoDB
Basics of MongoDB
Habilelabs
State Space Search and Control Strategies in Artificial Intelligence.pptx
State Space Search and Control Strategies in Artificial Intelligence.pptx
RSAISHANKAR
Lecture1 introduction compilers
Lecture1 introduction compilers
Mahesh Kumar Chelimilla
Introduction to MongoDB
Introduction to MongoDB
Ravi Teja
Artificial Intelligence- TicTacToe game
Artificial Intelligence- TicTacToe game
manika kumari
Relational Data Model Introduction
Relational Data Model Introduction
Nishant Munjal
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
BIT Durg
Map Reduce
Map Reduce
Prashant Gupta
State Space Representation and Search
State Space Representation and Search
Hitesh Mohapatra
Tic tac toe simple ai game
Tic tac toe simple ai game
Seevaratnam Kajandan
Mongo Nosql CRUD Operations
Mongo Nosql CRUD Operations
anujaggarwal49
Dynamic multi level indexing Using B-Trees And B+ Trees
Dynamic multi level indexing Using B-Trees And B+ Trees
Pooja Dixit
Relational algebra ppt
Relational algebra ppt
GirdharRatne
Online Shopping Agent in AI
Online Shopping Agent in AI
Fazle Rabbi Ador
Informed and Uninformed search Strategies
Informed and Uninformed search Strategies
Amey Kerkar
Mongo db intro.pptx
Mongo db intro.pptx
JWORKS powered by Ordina
DT-08-Hashing.PPTX
DT-08-Hashing.PPTX
BhuvanBalan1
Application Logging Good Bad Ugly ... Beautiful?
Application Logging Good Bad Ugly ... Beautiful?
Anton Chuvakin
BFS and DFS
BFS and DFS
Abdullah Al Amin
Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)
Animesh Chaturvedi
10. XML in DBMS
10. XML in DBMS
koolkampus
Register allocation and assignment
Register allocation and assignment
Karthi Keyan
SQL vs MongoDB
SQL vs MongoDB
calltutors
Little o and little omega
Little o and little omega
Rajesh K Shukla
Symbol Table
Symbol Table
Akhil Kaushik
The vector space model
The vector space model
pkgosh
Xml session07
Xml session07
Niit Care
Xml session08
Xml session08
Niit Care
Más contenido relacionado
La actualidad más candente
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
BIT Durg
Map Reduce
Map Reduce
Prashant Gupta
State Space Representation and Search
State Space Representation and Search
Hitesh Mohapatra
Tic tac toe simple ai game
Tic tac toe simple ai game
Seevaratnam Kajandan
Mongo Nosql CRUD Operations
Mongo Nosql CRUD Operations
anujaggarwal49
Dynamic multi level indexing Using B-Trees And B+ Trees
Dynamic multi level indexing Using B-Trees And B+ Trees
Pooja Dixit
Relational algebra ppt
Relational algebra ppt
GirdharRatne
Online Shopping Agent in AI
Online Shopping Agent in AI
Fazle Rabbi Ador
Informed and Uninformed search Strategies
Informed and Uninformed search Strategies
Amey Kerkar
Mongo db intro.pptx
Mongo db intro.pptx
JWORKS powered by Ordina
DT-08-Hashing.PPTX
DT-08-Hashing.PPTX
BhuvanBalan1
Application Logging Good Bad Ugly ... Beautiful?
Application Logging Good Bad Ugly ... Beautiful?
Anton Chuvakin
BFS and DFS
BFS and DFS
Abdullah Al Amin
Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)
Animesh Chaturvedi
10. XML in DBMS
10. XML in DBMS
koolkampus
Register allocation and assignment
Register allocation and assignment
Karthi Keyan
SQL vs MongoDB
SQL vs MongoDB
calltutors
Little o and little omega
Little o and little omega
Rajesh K Shukla
Symbol Table
Symbol Table
Akhil Kaushik
The vector space model
The vector space model
pkgosh
La actualidad más candente
(20)
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Map Reduce
Map Reduce
State Space Representation and Search
State Space Representation and Search
Tic tac toe simple ai game
Tic tac toe simple ai game
Mongo Nosql CRUD Operations
Mongo Nosql CRUD Operations
Dynamic multi level indexing Using B-Trees And B+ Trees
Dynamic multi level indexing Using B-Trees And B+ Trees
Relational algebra ppt
Relational algebra ppt
Online Shopping Agent in AI
Online Shopping Agent in AI
Informed and Uninformed search Strategies
Informed and Uninformed search Strategies
Mongo db intro.pptx
Mongo db intro.pptx
DT-08-Hashing.PPTX
DT-08-Hashing.PPTX
Application Logging Good Bad Ugly ... Beautiful?
Application Logging Good Bad Ugly ... Beautiful?
BFS and DFS
BFS and DFS
Deterministic Finite Automata (DFA)
Deterministic Finite Automata (DFA)
10. XML in DBMS
10. XML in DBMS
Register allocation and assignment
Register allocation and assignment
SQL vs MongoDB
SQL vs MongoDB
Little o and little omega
Little o and little omega
Symbol Table
Symbol Table
The vector space model
The vector space model
Destacado
Xml session07
Xml session07
Niit Care
Xml session08
Xml session08
Niit Care
03 sm3 xml_xp_06
03 sm3 xml_xp_06
Niit Care
02 sm3 xml_xp_04
02 sm3 xml_xp_04
Niit Care
03 sm3 xml_xp_05
03 sm3 xml_xp_05
Niit Care
04 sm3 xml_xp_07
04 sm3 xml_xp_07
Niit Care
07 ds and algorithm session_10
07 ds and algorithm session_10
Niit Care
08 ds and algorithm session_11
08 ds and algorithm session_11
Niit Care
Destacado
(8)
Xml session07
Xml session07
Xml session08
Xml session08
03 sm3 xml_xp_06
03 sm3 xml_xp_06
02 sm3 xml_xp_04
02 sm3 xml_xp_04
03 sm3 xml_xp_05
03 sm3 xml_xp_05
04 sm3 xml_xp_07
04 sm3 xml_xp_07
07 ds and algorithm session_10
07 ds and algorithm session_10
08 ds and algorithm session_11
08 ds and algorithm session_11
Similar a 01 sm3 xml_xp_02
02 sm3 xml_xp_03
02 sm3 xml_xp_03
Niit Care
Tp2
Tp2
Bình Trọng Án
Xml session04
Xml session04
Niit Care
04 sm3 xml_xp_08
04 sm3 xml_xp_08
Niit Care
XML Validations.ppt
XML Validations.ppt
ssuser28ff7f
Global Attributes Window Event Attributes Form Events Ujjwal matoliya.pptx
Global Attributes Window Event Attributes Form Events Ujjwal matoliya.pptx
ujjwalmatoliya
Xml
Xml
soumya
User define data type In Visual Basic
User define data type In Visual Basic
Shubham Dwivedi
HTML Forms Tutorial
HTML Forms Tutorial
ProdigyView
Unit 5 xml (1)
Unit 5 xml (1)
manochitra10
XML Bible
XML Bible
LiquidHub
XXE
XXE
n|u - The Open Security Community
Xxe
Xxe
nullowaspmumbai
Xm lquickref
Xm lquickref
Arduino Aficionado
285109443-SAP-BW-Info-Object.ppt
285109443-SAP-BW-Info-Object.ppt
ntrnbk
Joel Landis Net Portfolio
Joel Landis Net Portfolio
jlshare
Web Technologies Unit 2 Print.pdf
Web Technologies Unit 2 Print.pdf
AnonymousXhmybK
Bca5020 visual programming
Bca5020 visual programming
smumbahelp
Bca5020 visual programming
Bca5020 visual programming
smumbahelp
Xml11
Xml11
Sudharsan S
Similar a 01 sm3 xml_xp_02
(20)
02 sm3 xml_xp_03
02 sm3 xml_xp_03
Tp2
Tp2
Xml session04
Xml session04
04 sm3 xml_xp_08
04 sm3 xml_xp_08
XML Validations.ppt
XML Validations.ppt
Global Attributes Window Event Attributes Form Events Ujjwal matoliya.pptx
Global Attributes Window Event Attributes Form Events Ujjwal matoliya.pptx
Xml
Xml
User define data type In Visual Basic
User define data type In Visual Basic
HTML Forms Tutorial
HTML Forms Tutorial
Unit 5 xml (1)
Unit 5 xml (1)
XML Bible
XML Bible
XXE
XXE
Xxe
Xxe
Xm lquickref
Xm lquickref
285109443-SAP-BW-Info-Object.ppt
285109443-SAP-BW-Info-Object.ppt
Joel Landis Net Portfolio
Joel Landis Net Portfolio
Web Technologies Unit 2 Print.pdf
Web Technologies Unit 2 Print.pdf
Bca5020 visual programming
Bca5020 visual programming
Bca5020 visual programming
Bca5020 visual programming
Xml11
Xml11
Más de Niit Care
Ajs 1 b
Ajs 1 b
Niit Care
Ajs 4 b
Ajs 4 b
Niit Care
Ajs 4 a
Ajs 4 a
Niit Care
Ajs 4 c
Ajs 4 c
Niit Care
Ajs 3 b
Ajs 3 b
Niit Care
Ajs 3 a
Ajs 3 a
Niit Care
Ajs 3 c
Ajs 3 c
Niit Care
Ajs 2 b
Ajs 2 b
Niit Care
Ajs 2 a
Ajs 2 a
Niit Care
Ajs 2 c
Ajs 2 c
Niit Care
Ajs 1 a
Ajs 1 a
Niit Care
Ajs 1 c
Ajs 1 c
Niit Care
Dacj 4 2-c
Dacj 4 2-c
Niit Care
Dacj 4 2-b
Dacj 4 2-b
Niit Care
Dacj 4 2-a
Dacj 4 2-a
Niit Care
Dacj 4 1-c
Dacj 4 1-c
Niit Care
Dacj 4 1-b
Dacj 4 1-b
Niit Care
Dacj 4 1-a
Dacj 4 1-a
Niit Care
Dacj 1-2 b
Dacj 1-2 b
Niit Care
Dacj 1-3 c
Dacj 1-3 c
Niit Care
Más de Niit Care
(20)
Ajs 1 b
Ajs 1 b
Ajs 4 b
Ajs 4 b
Ajs 4 a
Ajs 4 a
Ajs 4 c
Ajs 4 c
Ajs 3 b
Ajs 3 b
Ajs 3 a
Ajs 3 a
Ajs 3 c
Ajs 3 c
Ajs 2 b
Ajs 2 b
Ajs 2 a
Ajs 2 a
Ajs 2 c
Ajs 2 c
Ajs 1 a
Ajs 1 a
Ajs 1 c
Ajs 1 c
Dacj 4 2-c
Dacj 4 2-c
Dacj 4 2-b
Dacj 4 2-b
Dacj 4 2-a
Dacj 4 2-a
Dacj 4 1-c
Dacj 4 1-c
Dacj 4 1-b
Dacj 4 1-b
Dacj 4 1-a
Dacj 4 1-a
Dacj 1-2 b
Dacj 1-2 b
Dacj 1-3 c
Dacj 1-3 c
Último
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Último
(20)
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
01 sm3 xml_xp_02
1.
Ensuring Consistency of
Data in XML Documents Objectives In this lesson, you will learn to: Declare elements and attributes in a Document Type Definition (DTD) Create an XML Schema ©NIIT eXtensible Markup Language/Lesson 2/Slide 1 of 49
2.
Ensuring Consistency of
Data in XML Documents Problem Statement 2.D.1 The head office of CyberShoppe sends the information about its products to the branch offices. The product details must be stored in a consistent format at all branches. Restrictions must be placed on the kind of data that can be saved in the data store to ensure uniformity and consistency of information. The products sold by CyberShoppe are organized into two categories, toys and books. The product details comprise the name of the product, a brief description about it, the price of the product, and the quantity available in stock. Every product is uniquely identified by a product ID. ©NIIT eXtensible Markup Language/Lesson 2/Slide 2 of 49
3.
Ensuring Consistency of
Data in XML Documents Task List Identify the elements required for storing structured data. Identify the attributes. Identify the method for storing consistent data. Identify the method for declaring elements to be used for storing structured data. Identify the method for declaring attributes. Identify the method to validate the structure of data. ©NIIT eXtensible Markup Language/Lesson 2/Slide 3 of 49
4.
Ensuring Consistency of
Data in XML Documents Task List (Contd.) Declare elements and attributes. Store data. Validate the structure of data. ©NIIT eXtensible Markup Language/Lesson 2/Slide 4 of 49
5.
Ensuring Consistency of
Data in XML Documents Task 1: Identify the elements required for storing structured data. Result: The elements required to store the details about products sold at CyberShoppe are as follows: Element Description PRODUCTDATA Indicates that data specific to various products is being stored in the document. Acts as the root element for all other elements. PRODUCT Represents the details (product name, description, price, and quantity) for each product. PRODUCTNAME Represents the name of each product. DESCRIPTION Represents the description of each product. PRICE Represents the price of each product. QUANTITY Represents the quantity of each product. ©NIIT eXtensible Markup Language/Lesson 2/Slide 5 of 49
6.
Ensuring Consistency of
Data in XML Documents Task 2: Identify the attributes. Result: In case of CyberShoppe, you need to store all details about products in an XML document. Each product needs to have a unique identification number for easy identification of a particular product. Therefore, PRODUCTID can be defined as an attribute of the PRODUCT element. The category classifies a product as Book or Toy. Therefore, CATEGORY can also be defined as an attribute of the PRODUCT element. ©NIIT eXtensible Markup Language/Lesson 2/Slide 6 of 49
7.
Ensuring Consistency of
Data in XML Documents Task 2: Identify the attributes. (Contd.) The following table specifies the attributes to be used in the XML document that stores product details: Attribute Description PRODUCTID Represents a unique identification value for each product. It must be specified for every product. CATEGORY Represents the category of a product, and specifies whether a product is a TOY or BOOK. ©NIIT eXtensible Markup Language/Lesson 2/Slide 7 of 49
8.
Ensuring Consistency of
Data in XML Documents Task 3: Identify the method for storing consistent data. Document Type Definition A DTD defines the structure of the content of an XML document, thereby allowing you to store data in a consistent format. XML allows you to create your own DTDs for applications. You can check an XML document against a DTD. This checking process is called validation. XML documents that conform to a DTD are considered valid documents. ©NIIT eXtensible Markup Language/Lesson 2/Slide 8 of 49
9.
Ensuring Consistency of
Data in XML Documents Task 3: Identify the method for… (Contd.) Result: As a DTD allows you to specify the structure and type of data elements, a DTD can be created to specify the structure of the document. ©NIIT eXtensible Markup Language/Lesson 2/Slide 9 of 49
10.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for declaring elements to be used for storing structured data. In DTD, elements are declared by using the following syntax: !ELEMENT elementname (content-type or content-model) Elements can be of following types: Empty Unrestricted Container ©NIIT eXtensible Markup Language/Lesson 2/Slide 10 of 49
11.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for… (Contd.) While declaring elements in a DTD, different symbols can be used to specify whether an element is mandatory or optional, and whether it can occur more than once. The following table lists the various symbols that can be used while defining the DTD: Symbol Meaning Example Description , “and” in specific PRODUCTNAME, PRODUCTNAME or order DESCRIPTION DESCRIPTION must occur in that order. | “or” PRODUCTNAME| Either PRODUCTNAME or DESCRIPTION DESCRIPTION. ©NIIT eXtensible Markup Language/Lesson 2/Slide 11 of 49
12.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for… (Contd.) Symbol Meaning Example Description ? “optional”, can DESCRIPTION? DESCRIPTION need not be occur only once. present, but if it is present, it can occur only once. * An element can (PRODUCTNAME| Any number of occur zero or DESCRIPTION)* PRODUCTNAME or multiple times. DESCRIPTION elements can be present in any order. + An element must DESCRIPTION+ DESCRIPTION can occur occur at least once. multiple times. There can be multiple occurrences. ©NIIT eXtensible Markup Language/Lesson 2/Slide 12 of 49
13.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for… (Contd.) As per the given scenario, the type of content for each element is given in the following table: Element Content Type Description PRODUCTDATA Element content Contains one or more PRODUCT elements. PRODUCT Element content Contains details of other products, and hence will contain other elements like PRODUCTNAME, DESCRIPTION, PRICE, and QUANTITY. PRODUCTNAME Data content Contains regular text that represents the name of a product. DESCRIPTION Data content Contains regular text that represents the description of a product. PRICE Data content Contains regular text that represents the price of a product. QUANTITY Data content Contains regular text that represents the quantity of a product. ©NIIT eXtensible Markup Language/Lesson 2/Slide 13 of 49
14.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for… (Contd.) You need to use the !ELEMENT statement for declaring elements in a DTD. For example, the PRODUCTNAME element used in the CyberShoppe scenario can be declared as follows: !ELEMENT PRODUCTNAME (#PCDATA) ©NIIT eXtensible Markup Language/Lesson 2/Slide 14 of 49
15.
Ensuring Consistency of
Data in XML Documents Task 5: Identify the method for declaring attributes. The syntax for declaring attributes in a DTD is as follows: !ATTLIST elementname attributename valuetype [attributetype] [“default”] The attributename valuetype [attributetype] [“default”] section is repeated as often as necessary to create multiple attributes for any given element. ©NIIT eXtensible Markup Language/Lesson 2/Slide 15 of 49
16.
Ensuring Consistency of
Data in XML Documents Task 5: Identify the method for declaring attributes. (Contd.) The value types that can be specified for attributes in a DTD are: PCDATA ID (enumerated) The attribute types are: REQUIRED FIXED IMPLIED ©NIIT eXtensible Markup Language/Lesson 2/Slide 16 of 49
17.
Ensuring Consistency of
Data in XML Documents Task 5: Identify the attribute types and… (Contd.) Result: In the case of CyberShoppe, the attribute and their value types will be as follows: Attribute Attribute Type Value Type Description PRODUCTID #REQUIRED ID Product ID must have a unique value and has to be specified for every product. CATEGORY #REQUIRED (enumerated) Category must be TOYS or BOOKS. You need to use the !ATTLIST statement for declaring attributes in a DTD. ©NIIT eXtensible Markup Language/Lesson 2/Slide 17 of 49
18.
Ensuring Consistency of
Data in XML Documents Task 6: Identify the method to validate the structure of data. To validate the structure of data in an XML document you need to use parsers. Parsers are software programs that check the syntax used in an XML file. There are two types of parsers. They are: Non-validating parsers: Check whether an XML document is well-formed. Validating parsers: Check for well-formedness and validity of an XML document. ©NIIT eXtensible Markup Language/Lesson 2/Slide 18 of 49
19.
Ensuring Consistency of
Data in XML Documents Task 6: Identify the method to validate… (Contd.) Result: In order to check whether the data sent by the branches of CyberShoppe conforms to the structure specified in the DTD, you need a validating parser. ©NIIT eXtensible Markup Language/Lesson 2/Slide 19 of 49
20.
Ensuring Consistency of
Data in XML Documents Task 7: Declare elements and attributes. Internal and External DTDs You can declare elements and attributes in a DTD. A DTD can be classified into two types. They are: ® Internal DTD ® External DTD ©NIIT eXtensible Markup Language/Lesson 2/Slide 20 of 49
21.
Ensuring Consistency of
Data in XML Documents Task 7: Declare elements and attributes. (Contd.) Differences between internal and external DTDs are given in the following table: Internal DTD External DTD This DTD is a part of the XML document. This DTD is maintained as a separate file. A reference to this file in included in the XML document. This DTD can be used only by the document This DTD can be used across multiple in which it is created and cannot be used documents. across multiple documents. ©NIIT eXtensible Markup Language/Lesson 2/Slide 21 of 49
22.
Ensuring Consistency of
Data in XML Documents Task 7: Declare elements and attributes. (Contd.) To ensure that the structure of an XML document conforms to the DTD, you must associate the DTD with the XML document. The !DOCTYPE declaration is used to define the internal DTD. It can also be used to reference an external DTD. The syntax for defining an internal DTD in an XML document is as follows: !DOCTYPE rootelement [element and attribute declarations] ©NIIT eXtensible Markup Language/Lesson 2/Slide 22 of 49
23.
Ensuring Consistency of
Data in XML Documents Task 7: Declare elements and attributes. (Contd.) The syntax for referencing an external DTD in the XML document is as follows: !DOCTYPE rootelement PUBLIC|SYSTEM path- of-file Action: Type the code for creating the DTD. Save the file as products.dtd. ©NIIT eXtensible Markup Language/Lesson 2/Slide 23 of 49
24.
Ensuring Consistency of
Data in XML Documents Task 8: Store data. Action: Write the code for creating the XML document. Save the file as products.xml. ©NIIT eXtensible Markup Language/Lesson 2/Slide 24 of 49
25.
Ensuring Consistency of
Data in XML Documents Task 9: Validate the structure of data. Action: Open index.htm in Internet Explorer. Click the DTD Validator link. Type the name of the XML document that you want to parse in the text box. Click the Validate button. ©NIIT eXtensible Markup Language/Lesson 2/Slide 25 of 49
26.
Ensuring Consistency of
Data in XML Documents Just a Minute… The branches of CyberShoppe send information about books sold by them to the head office. The book details must be stored in a consistent format. Restrictions must be placed on kind of data that can be saved in the data store to ensure uniformity and consistency of information. The details of the books sold by CyberShoppe consist of the name of the book, ISBN of the book, first and last names of the author of the book, and the price of the book. The ISBN should be unique for each book. In addition, you need to ensure that the book category contains HISTORY, SCIENCE, or FICTION as its valid values. Create a DTD for declaring the elements to be used for storing book details in an XML document. ©NIIT eXtensible Markup Language/Lesson 2/Slide 26 of 49
27.
Ensuring Consistency of
Data in XML Documents Introduction to XML Schemas An XML schema is used to define the structure of an XML document. Microsoft has developed a language that is used to define the schema of an XML document. This language is called the XML Schema Definition (XSD) language. ©NIIT eXtensible Markup Language/Lesson 2/Slide 27 of 49
28.
Ensuring Consistency of
Data in XML Documents Advantages of XML Schemas over DTDs Some of the advantages of an XML schema created by using XSD over DTD are as follows: XSD provides more control over the type of data that can be assigned to elements and attributes as compared to DTD. DTD does not enable you to define your own customized data types. XSD enables you to create your own data types. XSD also allows you to specify restrictions on data. ©NIIT eXtensible Markup Language/Lesson 2/Slide 28 of 49
29.
Ensuring Consistency of
Data in XML Documents Advantages of XML Schemas over DTDs (Contd.) The syntax for defining a DTD is different from the syntax used for creating an XML document. However, the syntax for defining an XSD is the same as the syntax of the XML document. ©NIIT eXtensible Markup Language/Lesson 2/Slide 29 of 49
30.
Ensuring Consistency of
Data in XML Documents Problem Statement 2.D.2 The head office of CyberShoppe sends information about its products to its branch offices. The product details must be stored in a consistent format. Restrictions must be placed on the kind of data that can be saved in the data store to ensure uniformity and consistency of information. The product details comprise the name of the product, a brief description about it, the price of the product, and the quantity available in stock. The price of the product must always be greater than zero. ©NIIT eXtensible Markup Language/Lesson 2/Slide 30 of 49
31.
Ensuring Consistency of
Data in XML Documents Task List Identify the elements required to store data. Identify the data type of the contents of an element. Identify the method for declaring a simple type element. Identify the method for declaring a complex type element. Create the XML schema. Create an XML document conforming to the schema. Validate an XML document against the schema. ©NIIT eXtensible Markup Language/Lesson 2/Slide 31 of 49
32.
Ensuring Consistency of
Data in XML Documents Task 1: Identify the elements required to store data. Result: As per the problem, the elements required in the XML document are: Element Description PRODUCTDATA This element indicates that data specific to various products is being stored in the document. Therefore, it contains more elements and acts as the root element PRODUCT Represents the details (product name, description, price, and quantity) for each product. PRODUCTNAME Represents the name of each product. DESCRIPTION Represents the description of each product. PRICE Represents the price of each product QUANTITY Represents the quantity of each product. ©NIIT eXtensible Markup Language/Lesson 2/Slide 32 of 49
33.
Ensuring Consistency of
Data in XML Documents Task 2: Identify the data type of the contents of an element. Every element declared in XSD, must be associated with a data type. XSD provides a list of pre-defined data types. Primitives Data Types: Fundamental data types of XSD, such as string, decimal, float, and boolean. Derived Data Types: Defined by using other data types. Atomic Data Types: Data types that cannot be broken further. List Data Types: Contain a set of values. Union Data Types: Derived from list and atomic data types. ©NIIT eXtensible Markup Language/Lesson 2/Slide 33 of 49
34.
Ensuring Consistency of
Data in XML Documents Task 2: Identify the data type of the… (Contd.) XSD also allows definition of custom data types. These custom data types can be classified as follows: Simple data type: A data type that contains only values. Complex data type: A data type that contains child elements, attributes, and also the mixed content. ©NIIT eXtensible Markup Language/Lesson 2/Slide 34 of 49
35.
Ensuring Consistency of
Data in XML Documents Task 2: Identify the data type of the… (Contd.) Result: The data type for the contents of the elements will be: Element Data Type Description PRODUCTDATA Complex data type A complex type element that can hold other elements, attributes, and mixed content. This element will hold a complex data type, which will be defined in the later session. PRODUCT Complex data type A complex type element that can hold other elements, attributes, and mixed content. This element will hold a complex data type, which will be defined in the later session. PRODUCTNAME String A simple type element that contains values of data string type. DESCRIPTION String A simple type element that contains values of string data type. PRICE Positiveinteger A simple type element that contains values of positiveInteger data type (product price must be greater than zero. QUANTITY Integer A simple type element that contains values of integer data type. ©NIIT eXtensible Markup Language/Lesson 2/Slide 35 of 49
36.
Ensuring Consistency of
Data in XML Documents Task 3: Identify the method for declaring a simple type element. A simple element does not contain any child elements or attributes. Simple elements contain only values such as numbers, strings, and dates. The syntax for declaring elements with a simple data type is as follows: xsd:element name=”element-name” type=”data type” / ©NIIT eXtensible Markup Language/Lesson 2/Slide 36 of 49
37.
Ensuring Consistency of
Data in XML Documents Task 3: Identify the method for declaring a simple type element. (Contd.) You can associate an element with a user-defined simple data type. To do so, you must define the new simple data type. You can use the simpleType element of XSD to create a user-defined simple data type. ©NIIT eXtensible Markup Language/Lesson 2/Slide 37 of 49
38.
Ensuring Consistency of
Data in XML Documents Task 3: Identify the method for declaring a simple type element. (Contd.) Result: As per the problem, the simple elements can be declared in the XSD as follows: xsd:element name=PRODUCTNAME type=xsd:string/ xsd:element name=DESCRIPTION type=xsd:string/ xsd:element name=PRICE type=xsd:positiveInteger/ xsd:element name=QUANTITY type=xsd:nonNegativeInteger/ ©NIIT eXtensible Markup Language/Lesson 2/Slide 38 of 49
39.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for declaring a complex type element. A complex type element is one that contains other markup elements, attributes, and mixed content. To declare a complex type element, you need to first define a complex data type. After you define a complex data type, you can declare a complex element by associating this data type with the element. You can define a complex data type by using the syntax given below: xsd:complexType name=”data type name” Content model declaration /xsd:complexType ©NIIT eXtensible Markup Language/Lesson 2/Slide 39 of 49
40.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for declaring a complex type element. (Contd.) To declare an element as a complex type element, the element must be associated with a complex data type. For example, to declare the element PRODUCT as a complex type element you can associate this element with the prdt data type as shown below: xsd:element name=PRODUCT type=prdt/ Result In the CyberShoppe scenario, you require two complex type elements, PRODUCTDATA and PRODUCT. ©NIIT eXtensible Markup Language/Lesson 2/Slide 40 of 49
41.
Ensuring Consistency of
Data in XML Documents Task 4: Identify the method for declaring a complex type element. (Contd.) You can create complex type elements by associating them with complex data types. You can use the element element of XSD to declare a complex type element. You can use the complexType element of XSD to create the complex data type. ©NIIT eXtensible Markup Language/Lesson 2/Slide 41 of 49
42.
Ensuring Consistency of
Data in XML Documents Task 5: Create the XML Schema. The Schema element The integration of the various components of the XSD is done using the schema element. The declaration of an XML schema starts with the schema element. The schema element uses the xmlns attribute to specify the namespace associated with the document. Action: Type the XML Schema in Notepad. Save the file as product.xsd. ©NIIT eXtensible Markup Language/Lesson 2/Slide 42 of 49
43.
Ensuring Consistency of
Data in XML Documents Task 6: Create an XML document conforming to the schema. To create a data structure that conforms to the XML schema, you should create an XML document and associate it with the XML schema. An XML file cannot be directly associated with the XML schema file. The XML file can be associated with the XML schema only through a validator. Action: Type the code in Notepad. Save the file as products.xml ©NIIT eXtensible Markup Language/Lesson 2/Slide 43 of 49
44.
Ensuring Consistency of
Data in XML Documents Task 7: Validate an XML document against the schema. Action: Open index.htm. Click the Schema Validator link. Type the name of the XML document and the XSD file. Click the Validate button. ©NIIT eXtensible Markup Language/Lesson 2/Slide 44 of 49
45.
Ensuring Consistency of
Data in XML Documents Problem Statement 2.P.2 The details of the books sold by CyberShoppe consist of the name of the book, the ISBN of the book, the first and last names of the author of the book, and the price of the book. The ISBN must start with the letter I and be followed by three digits. This data must be validated to ensure that it conforms to the standards specified in order to maintain data integrity. Also, the data types used for the data must be compatible with those used in databases. All data must be stored in a consistent format. ©NIIT eXtensible Markup Language/Lesson 2/Slide 45 of 49
46.
Ensuring Consistency of
Data in XML Documents Summary In this lesson, you learned that: Document type Definition (DTD) is method for defining the structure of the data in an XML document. There are two types of DTD: Internal DTD: It can be included as a part of the document. External DTD: it is stored as a separate file having the declaration of all elements and attributes that can be used in an XML document. There are three types of elements: empty, unrestricted, and container. ©NIIT eXtensible Markup Language/Lesson 2/Slide 46 of 49
47.
Ensuring Consistency of
Data in XML Documents Summary (Contd.) The !ELEMENT statement is used to declare an element in a DTD. The !ATTLIST statement is used to declare a list of attributes for an element in a DTD. The !DOCTYPE statement is used in an XML document to associate the XML document with a DTD. Non-validating XML parsers check whether an XML document is well-formed. Validating XML parsers are used to validate an XML document against a DTD or a schema. ©NIIT eXtensible Markup Language/Lesson 2/Slide 47 of 49
48.
Ensuring Consistency of
Data in XML Documents Summary (Contd.) Schema can be used to specify the list of elements and the order in which these elements must appear in the XML document. The language that is used to describe the structure of the elements in a schema is called the XML Schema Definition (XSD) language . The data types supported by schema are of the following types: Primitive Derived Atomic List ©NIIT eXtensible Markup Language/Lesson 2/Slide 48 of 49
49.
Ensuring Consistency of
Data in XML Documents Summary (Contd.) The simpleType element of XSD allows you to create user-defined simple data types. The complexType element of XSD allows you to create complex data types. The restriction element can be used to specify constraints on values that can be stored in elements and attributes. ©NIIT eXtensible Markup Language/Lesson 2/Slide 49 of 49