June 2008
Intermediate to advanced
986 pages
27h 8m
English
Now we’ll create an element that has both text and
attributes. Remember, in order to create attributes, we have to create
an <xs:complexType>, so we
have to create a new type based on xs:string. Here’s how we do that:
<?xml version="1.0" encoding="UTF-8"?> <!-- content2.xsd --> <xs:schema xmlns="http://www.oreilly.com/xslt" targetNamespace="http://www.oreilly.com/xslt" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="content2"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="color” type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:schema>
Our new element is a complex type, but it uses what XML Schema
refers to as simple content. In other words, this
element is an extension of a simple type, xs:string. The extension to the simple type
is that we’re adding an attribute. Here’s how our document looks
now:
<?xml version="1.0" encoding="utf-8"?> <!-- content2.xml --> <content2 xmlns="http://www.oreilly.com/xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oreilly.com/xslt content2.xsd" color="blue"> Our element now contains some text! It's getting more useful all the time. </content2>
Read now
Unlock full access