• Nenhum resultado encontrado

Conversão do DTD CatalogoLivros.dtd para XML Schema

<!ELEMENT CatalogoLivros(livro)*>

<!ELEMENT livro(titulo, autor, data, isbn, editora)

<!ELEMENT titulo (#PCDATA)

<!ELEMENT autor (#PCDATA)

<!ELEMENT data (#PCDATA)

<!ELEMENT isbn (#PCDATA)

<!ELEMENT editora (#PCDATA)

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org" xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name=“editora" type="xsd:string"/> </xsd:schema>

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org" xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name=”editora" type="xsd:string"/> </xsd:schema>

<!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT data (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT editora (#PCDATA)> <!ELEMENT livro (titulo, autor, data,

ISBN, editora)> <!ELEMENT CatalogoLivros (Book)*>

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org" xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="editora" type="xsd:string"/> </xsd:schema>

Todos XML Schemas têm "schema" como elemento raiz..

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org" xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="editora" type="xsd:string"/> </xsd:schema>

Os elementos que são usados para criar um XML Schema vêm do XMLSchema namespace

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org” xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="editora" type="xsd:string"/> </xsd:schema> indica que os elementos declarados neste schema (CatalogoLivros, livro, titulo, autor, data, ISBN, editora) vão para este namespace

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org” xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="editora" type="xsd:string"/> </xsd:schema>

Este está referenciando uma declaração de um elemento livro. livro em qual

namespace? Uma vez que não há um qualificador de namespace, é uma referência ao elemento livro no namespace default, que é o targetNamespace! O namespace default é http://www.publishing.org que é o targetNamespace! Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org” xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”livro" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”livro"> <xsd:complexType> <xsd:sequence>

<xsd:element ref=”titulo" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”autor" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”data" minOccurs="1" maxOccurs="1"/> <xsd:element ref="ISBN" minOccurs="1" maxOccurs="1"/> <xsd:element ref=”editora" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:complexType> </xsd:element>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name="editora" type="xsd:string"/> </xsd:schema>

Esta é uma diretiva para instâncias de documentos que usam este schema: Quaisquer elementos usados

pela instância de documento que foi declarada por este schema deve ser qualificada pelo namespace especificado

Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

Esquema alternativo ...

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.publishing.org" xmlns="http://www.publishing.org" elementFormDefault="qualified"> <xsd:element name="CatalogoLivros"> <xsd:complexType> <xsd:sequence>

<xsd:element name=”livro" maxOccurs="unbounded"> <xsd:complexType>

<xsd:sequence>

<xsd:element name=”titulo" type="xsd:string"/> <xsd:element name=”autor" type="xsd:string"/> <xsd:element name=”data" type="xsd:string"/> <xsd:element name="ISBN" type="xsd:string"/> <xsd:element name=”editora" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> Aplicações Baseadas em XML

M.L.M.Campos & Paulo Pires

Atributos

Documentos relacionados