138 Create XML schema documents and XML DTDs to correspond t
13.8. Create XML schema documents and XML DTDs to correspond to the hierarchies shown in Figures 13.14 and 13.15(c).
Figure 13.14 Hierarchical (tree) view with SECTION as the root. Ssn Name Class Grade SECTION 1 1 Students attended STUDENT Number Year Qtr Course number Course name 1 COURSESolution
XML Schema for Fig 13.14 :
 <?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<xs:element name=\"SECTION\">
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"Number\" type=\"xs:positiveInteger\"/>
 <xs:element name=\"Year\" type=\"xs:positiveInteger\"/>
 <xs:element name=\"Qtr\" type=\"xs:positiveInteger\"/>
<xs:element name=\"Student\" maxOccurs=\"unbounded\">
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"Ssn\" type=\"xs:string\"/>
 <xs:element name=\"Name\" type=\"xs:string\"/>
 <xs:element name=\"Class\" type=\"xs:string\"/>
 <xs:element name=\"Grade\" type=\"xs:character\"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
<xs:element name=\"COURSE\" maxOccurs=1>
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"Course_name\" type=\"xs:string\"/>
 <xs:element name=\"Course_number\" type=\"xs:positiveInteger\"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
</xs:schema>
 XML Schema for Fig 13.15(c) :
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<xs:element name=\"STUDENT\">
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"SECTION\" >
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"INSTRUCTOR\" type=\"xs:string\"/>
 <xs:element name=\"COURSE1\" type=\"xs:string\"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name=\"DEPARTEMNT\" >
 <xs:complexType>
 <xs:sequence>
 <xs:element name=\"INSTRUCTOR1\" type=\"xs:string\"/>
 <xs:element name=\"COURSE\" type=\"xs:string\"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:schema>
 XML DTD for Fig 13.14 :
 <!DOCTYPE SECTION [
 <!ELEMENT SECTION (Number,Year,Qtr,Student*,Course*)>
 <!ELEMENT Number(#PCDATA)>
 <!ELEMENT Year(#PCDATA)>
 <!ELEMENT Qtr(#PCDATA)>
 <!ELEMENT Student(Ssn,Name,Class,Grade)>
 <!ELEMENT Course(Course_name,Course_number)>
 <!ELEMENT Ssn(#PCDATA)>
 <!ELEMENT Name(#PCDATA)>
 <!ELEMENT Class(#PCDATA)>
 <!ELEMENT Grade(#PCDATA)>
 <!ELEMENT Course_name(#PCDATA)>
 <!ELEMENT Course_number(#PCDATA)>
 ]>
 XML DTD for Fig 13.15(c) :
<!DOCTYPE STUDENT[
 <!ELEMENT STUDENT(SECTION*,DEPARTMENT*)>
 <!ELEMENT SECTION(INSTRUCTOR,COURSE1)>
 <!ELEMENT DEPARTMENT(INSTRUCTOR1,COURSE)>
 <!ELEMENT INSTRUCTOR(#PCDATA)>
 <!ELEMENT COURSE1(#PCDATA)>
 <!ELEMENT INSTRUCTOR1(#PCDATA)>
 <!ELEMENT COURSE(#PCDATA)>
 ]>


