©2003 Altova GmbH. All Rights Reserved. Architecting XML Schemas for Oracle XML DB September 10th, 2003 Alexander Falk President, CEO – Altova, Inc. Member W3C Advisory Committee
©2003 Altova GmbH. All Rights Reserved. Alexander Falk Bio ► Co-founded ALTOVA in 1992 ► Wrote XML Parser and XML Schema Validator used within XMLSPY ► Member of W3C XML Schema WG in 2001 ► Member of W3C Advisory Committee
©2003 Altova GmbH. All Rights Reserved. Agenda ► XML Schema Overview ► Schema Components ► Architecting XML Schemas ► Data Mapping & Transformations ► XML Schema & Oracle XML DB ► Tools for XML Schemas ► Live Demonstration ► Q&A
©2003 Altova GmbH. All Rights Reserved. What is XML Schema? ► DTDs not sufficient for data modeling ► XML-Data, XDR, SOX,... XML Schema ► Object-Oriented Features Distinction between types and instances Inheritance Support for static vs. Dynamic types ► Make it easy to translate from programming languages to XML and vice versa
©2003 Altova GmbH. All Rights Reserved. DTD‘s in a Nutshell ► Document Type Definitions (DTDs) Uses special syntax (SGML-like) Everything is a string (#PCDATA) Reuse only through macros (parameter entities) Concise syntax (although somewhat cryptic) ► Example:
©2003 Altova GmbH. All Rights Reserved. Cross-Referencing XML with DTD’s File “Person.xml” File “Person.dtd” Alexander Falk 34
©2003 Altova GmbH. All Rights Reserved. Schema in a Nutshell ► XML Schema Uses XML syntax Uses Datatypes: built-in and custom-defined Reuse through groups and inheritance Verbose syntax (more easily readable) ► Example:
©2003 Altova GmbH. All Rights Reserved. Cross-Referencing XML with Schemas File “Person.xml” File “Person.xsd” Alexander Falk 34 <xs:element name="Last“ type="xs:string"/>
©2003 Altova GmbH. All Rights Reserved. XML Schema - Benefits ► Huge industry support (Oracle, BEA, Microsoft, IBM, etc.) ► Information modeling in XML ► Representing OO capabilities in XML data ► Offloading consistency checking to the validation process in the XML parser ► Cost-saving through reduced development time
©2003 Altova GmbH. All Rights Reserved. Schema Components ► Elements and their content model One item of a purchase order with its details Needs to be specified in US$
©2003 Altova GmbH. All Rights Reserved. Schema Components ► Attributes and Attribute Groups
©2003 Altova GmbH. All Rights Reserved. Schema Components ► ComplexTypes and SubstitutionGroups
©2003 Altova GmbH. All Rights Reserved. Schema Components ► Extension of ComplexType
©2003 Altova GmbH. All Rights Reserved. Schema Components ► Defining your own SimpleTypes
©2003 Altova GmbH. All Rights Reserved. Architecting XML Schemas ► From Scratch Using established OO methodologies, using Schema design tools, from OO class libraries (Java, C++, etc.) ► By Example (Use-Cases) From any set of existing XML documents ► By Conversion From existing DTD, DCD, or other schema From SQL Database Schema
©2003 Altova GmbH. All Rights Reserved. Data Mapping & Transformations ► Schema-based mapping ► Integrate data from different sources ► Web Services
©2003 Altova GmbH. All Rights Reserved. XML Schema & Oracle XML DB ► XML Schema is central to Oracle 9i ► It describes how XML documents are stored inside the database ► It allows validation of XML documents in the database
©2003 Altova GmbH. All Rights Reserved. Extending XML Schema for Oracle 9i ► Use SQLName to specify column names ► Use SQLType to specify storage datatype <xs:schema xmlns:xs=" xmlns:xdb=" <xs:element name="First“ type="xs:string“ xdb:SQLName=“FIRST_NM" xdb:SQLType=“NVARCHAR2"/> <xs:element name="Middle“ type="xs:string“ minOccurs="0" xdb:SQLName=“MIDDLE_NM" xdb:SQLType="NVARCHAR2"/> <xs:element name="Last“ type="xs:string" xdb:SQLName=“LAST_NM" xdb:SQLType="NVARCHAR2"/> <xs:element name="Age“ type="xs:short" xdb:SQLName=“PERSON_AGE" xdb:SQLType=“NUMBER"/>
©2003 Altova GmbH. All Rights Reserved. XML Schema – Tools Overview ► Graphical Schema Editors Visual Studio.NET xmlspy ® 2004 ► Mapping & Transformation Tools mapforce ™ 2004 ► Parsers Oracle XML DB Xerces MSXML 4.0 & System.XML (.NET Framework)
©2003 Altova GmbH. All Rights Reserved. Demo Time Live Demonstration
©2003 Altova GmbH. All Rights Reserved. ► Q uestions & A nswers XMLSPY, AUTHENTIC, STYLEVISION, MAPFORCE, MARKUP YOUR MIND, AXAD, NANONULL, and ALTOVA are trademarks of Altova GmbH (registered in numerous countries). All other trademarks are the property of their respective owners.