A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

XML Schema Documento XML válido

Apresentações semelhantes


Apresentação em tema: "XML Schema Documento XML válido"— Transcrição da apresentação:

0 Tecnologias XML XML Schema

1 XML Schema Documento XML válido
Um documento Schema especifica as regras para a validação de um documento XML Um Schema especifica: Os elementos e atributos que podem constar do documento A ordem e número dos elementos filhos Tipos de dados para os elementos e atributos Um Schema define uma classe de documentos. Documentos XML que referenciam esse Schema são instâncias dessa classe

2 XML Schema XML

3 <?xml version="1.0" ?> <xsd:schema xmlns:xsd=" targetNamespace= > <xsd:element name="pessoas" > <xsd:complexType> <xsd:sequence> <xsd:element name="pessoa" maxOccurs="unbounded"> <xsd:element name="nome" type="xsd:string" /> <xsd:element name="data-nascimento" > <xsd:element name="ano" type="xsd:int" /> <xsd:element name="mes" type="xsd:int" /> <xsd:element name="dia" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="bi" type="xsd:string" /> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:schema>

4 XML Schema Estrutura de um Schema Declaração XML <xsd:schema
<?xml version="1.0" ?> <xsd:schema xmlns:xsd= targetNamespace= elementFormDefault="qualified"> <xsd:element ... <!– definição de elementos e atributos --> ... </xsd:schema> Declaração XML Root schema namespace prefixo xsd

5 URI -> http://www.w3.org/2001/XMLSchema
XML Schema Namespaces XML Schema <xsd:schema xmlns:xsd=" Especifica as entidades para definir um Schema: element, schema,simpleType (XML Schema Schema) URI -> Prefixo por convenção é xsd:

6 XML Schema Instance Namespaces
xmlns:xsi= Deve ser referenciado por documentos instância (XML) que usam entidades definidas neste schema como: xsi:schemaLocation xsi:noNamespaceSchemaLocation

7 XML Schema Referenciar um Schema no XML – (1)
Atributo xsi:noNamespaceSchemaLocation pessoas.xml <?xml version="1.0" encoding="ISO "?> <pessoas xmlns:xsi=" xsi:noNamespaceSchemaLocation=“pessoas.xsd" > ... Documento pessoas.xsd

8 XML Schema Referenciar um Schema no XML – (2)
Atributo xsi:schemaLocation pessoas.xml pessoas.xsd <?xml version="1.0" encoding="ISO "?> <pessoas xmlns= xmlns:xsi= xsi:schemaLocation=" pessoas.xsd" > ... <?xml version="1.0" ?> <xsd:schema xmlns:xsd=" targetNamespace=" elementFormDefault="qualified">

9 XML Schema Elemento xsd:element
Definição de elementos Elemento xsd:element O atributo name especifica o nome do elemento no XML O atributo type define o tipo de dados do elemento <xsd:element name="montante" type="xsd:float"> <montante>123.56</montante>

10 Tipos simples primitivos
XML Schema Tipos simples primitivos <xsd:element name="ano" type="xsd:int" /> Tipos de dados para o conteúdo textual de um elemento ou atributo String float date (ccyy-mm-dd) anyURI decimal time (hh:mm:ss.sss) .... Hierarquia de tipos de dados primitivos anySimpleType –> decimal –> integer -> long ...

11

12 Tipos simples derivados
XML Schema Tipos simples derivados Derivação por restrição, lista ou união Elemento xsd:simpleType xsd:restriction define restrições adicionais aos valores do elemento <xsd:element name="percentagem"> <xsd:simpleType > <xsd:restriction base="xsd:int"> <xsd:minInclusive value="0" /> <xsd:maxInclusive value="100" /> </xsd:restriction> </xsd:simpleType> </xsd:element>

13 XML Schema Operadores de restrição – facets xsd:minInclusive - >=
xsd:maxInclusive - <= xsd:length – tamanho fixo (string, listas) xsd:totaldigits – o numero máximo de dígitos xsd:pattern – expressão regular xsd:fractionDigits - número de casas decimais. enumeration – valores numa enumeração

14 XML Schema Novos tipos de dados simples
Atributo name de xsd:simpleType Usados para definir tipos de dados de elementos <xsd:simpleType name="Toperador"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="91" /> <xsd:enumeration value="93" /> <xsd:enumeration value="96" /> </xsd:restriction> </xsd:simpleType > <xsd:element name="indicativo" type="Toperador">

15 XML Schema Exemplos de restrições xsd:length xsd:pattern
<xsd:simpleType name="Tcodigo"> <xsd:restriction base="xsd:string"> <xsd:length value="7" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="Tbi"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{7}"/> </xsd:restriction> </xsd:simpleType>

16 XML Schema Derivação por união Elemento xsd:union
A instância pode conter um dos valores especificados pelo atributo memberTypes <xsd:simpleType name="Tmes" > <xsd:union memberTypes="Tmesstr Tmesnum" /> </xsd:simpleType>

17 XML Schema Derivação por lista Elemento xsd:list Exemplo XML <web> <xsd:simpleType name="Tenderecosweb" > <xsd:list itemType="xsd:anyURI" /> </xsd:simpleType>

18 XML Schema Tipo Composto
Os elementos de tipo composto podem conter elementos filhos e atributos Um elemento com atributos é sempre do tipo composto declarado usando o elemento complexType <xsd:element name="data-nascimento" > <xsd:complexType> <xsd:sequence> <xsd:element name="ano" type="xsd:int" /> <xsd:element name="mes" type="xsd:int" /> <xsd:element name="dia" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element>

19 XML Schema Composição dos sub-elementos num tipo composto
sequence – especifica uma sequência com uma ordem fixa choice - especifica uma escolha de um elemento, entre os elementos declarados all – elementos não têm ordem fixa

20 <xs:choice> XML Schema <xs:group name="nameTypes">
<xs:element name="name" type="xs:string"/> <xs:sequence> <xs:element name="firstName" type="xs:string"/> <xs:element name="middleName" type="xs:string" minOccurs="0"/> <xs:element name="lastName" type="xs:string"/> </xs:sequence> </xs:choice> </xs:group>

21 XML Schema Definição de um elemento com conteúdo simples: texto e atributo <telefone operador="TMN" > </telefone> <xs:element name="telefone"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="operador" use="required" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>

22 XML Schema Restrições de ocorrência
definir o modo como os elementos ocorrem Atributos minOccurs e maxOccurs Usados nos operadores de composição ou na declaração de elementos <xsd:element name=“grupo” > <xsd:complexType> <xsd:sequence maxOccurs=“2” > <element name=“aluno” type=“Taluno”> <xsd:element name="autor" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />

23 Declaração de atributos
Elemento xsd:attribute O atributo name especifica o nome e o atributo type o tipo de dados o tipo de dados é do tipo simples primitivo ou derivado declaração é feita dentro do elemento complexType depois dos elementos Atributo use especifica a ocorrência required - o atributo é obrigatório optional - o atributo é opcional (por omissão) prohibited - o atributo deve ser omitido

24 Exemplo Schema com atributos
<xsd:element name="pessoa" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="nome" type="xsd:string" /> <xsd:element name=“dnascimento" type="xsd:date" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> Atributo depois dos elementos <pessoa id=“P123"> <nome>António José Silva</nome> <dnascimento> </dnascimento> </pessoa>

25 Validar XML em .Net private void ValidationCallBack(Object sender, ValidationEventArgs args) { //Display the validation error. This is only called on error m_Success = false; //Validation failed } private bool validateXml(String pathstr) { m_Success = true; XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create(pathstr, settings); // Parse the file. while (reader.Read()) ; reader.Close(); return m_Success;}


Carregar ppt "XML Schema Documento XML válido"

Apresentações semelhantes


Anúncios Google