Advanced XSD: Restrictions, Extensions, and Identity Constraints
Unit 3âĸCLO02, CLO05
Learning Objectives
Course Learning Outcomes
CLO02
CLO05
Course Outcomes
CO03
âšī¸
Introduction
Advanced schemas capture business rules. XSD can restrict values (ranges, patterns, enumerations), derive new types via extension/restriction, and enforce identity constraints like unique keys.
The Basics
Facets (restrictions)
Common facets:
minInclusive,maxInclusivepatternenumeration
Derivation
- extension: add new fields
- restriction: narrow allowed values
Technical Details
Restriction example
<xs:simpleType name="CgpaType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.0"/>
<xs:maxInclusive value="10.0"/>
</xs:restriction>
</xs:simpleType>
Enumeration example
<xs:simpleType name="DeptType">
<xs:restriction base="xs:string">
<xs:enumeration value="CSE"/>
<xs:enumeration value="ECE"/>
</xs:restriction>
</xs:simpleType>
Examples
Pattern example
<xs:simpleType name="PhoneType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{10}"/>
</xs:restriction>
</xs:simpleType>
Real-World Use
Practical
- Add restrictions to your schema (enum, range, pattern).
- Create one derived type using extension.
đ For exams
Exam
- Explain facets and type derivation.
- Discuss identity constraints (key/keyref) conceptually.
⨠Key points
Takeaways
- Restrictions encode business rules early.
- Type derivation improves reuse.