官术网_书友最值得收藏!

Chapter 2. Creating an XML Schema

While XML has become the standard medium for exchanging data, it's the XML schema that defines the structure, content, and semantics of the XML documents. Before you create an XML document that conforms to an XML schema, create the XML schema with the procedure explained in this chapter. Why is it better to start off from an XML schema instead of directly creating the XML document without a schema? Consider a shipping company that sends XML documents containing details on a cargo shipment to a client. If the XML documents are not based on an XML schema, the shipping company might send XML documents containing different sets of elements and attributes. The client won't be able to interpret the XML documents if the XML documents contain different sets of elements and attributes. If the XML documents are based on an XML schema, the client would receive similar XML documents and be able to interpret them. An XML schema makes XML documents understandable to the different parties involved.

JDeveloper 11g provides various wizards for processing an XML schema. In the New Gallery a new schema file may be created. To construct a schema, select XML schema components from the schema Component Palette. A schema may be registered from the Tools menu. Subsequently, an XML document may be created from a registered schema.

In this chapter we shall create an XML schema in JDeveloper 11g. We shall register an XML document in JDeveloper and subsequently create an XML document instance from the XML schema. The example XML schema document that we shall create is catalog.xsd and is listed here:

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="catalog" type="catalogType"/>
<xsd:complexType name="catalogType">
<xsd:sequence>
<xsd:element ref="journal" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="journal" type="journalType"/>
<xsd:complexType name="journalType">
<xsd:sequence>
<xsd:element ref="article" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="title" type="xsd:string"/>
<xsd:attribute name="publisher" type="xsd:string"/>
<xsd:attribute name="edition" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="article" type="articleType"/>
<xsd:complexType name="articleType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="section" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>

The XML document instance that we shall generate from the schema is catalog.xml and is listed as follows:

<?xml version="1.0" encoding="utf-8"?>
<catalog>
<journal title="Oracle Magazine" publisher="Oracle
Publishing" edition="September-October 2008">
<article section="Features">
<title>Share 2.0</title>
<author>Alan Joch</author>
</article>
</journal>
<journal title="Oracle Magazine" publisher="Oracle
Publishing" edition="March-April 2008">
<article section="Oracle Developer">
<title>Declarative Data Filtering</title>
<author>Steve Muench</author>
</article>
</journal></catalog>
主站蜘蛛池模板: 若尔盖县| 湖口县| 科技| 长兴县| 手游| 昌邑市| 五家渠市| 嘉祥县| 金塔县| 登封市| 明星| 岑巩县| 德令哈市| 连云港市| 顺平县| 辛集市| 顺义区| 盐亭县| 阿克苏市| 辉县市| 印江| 宣汉县| 黄大仙区| 加查县| 忻城县| 会同县| 松滋市| 资兴市| 遂溪县| 大悟县| 咸宁市| 肇州县| 微博| 韩城市| 青川县| 桐城市| 丰都县| 蚌埠市| 巫溪县| 丹东市| 尼木县|