+ All Categories
Home > Documents > Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co /...

Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co /...

Date post: 30-Aug-2019
Category:
Upload: others
View: 15 times
Download: 3 times
Share this document with a friend
65
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Tehnologii Web tehnologii XML – supliment alte mijloace de validare a datelor XML
Transcript
Page 1: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/Tehnologii Web

tehnologii XML – supliment

⎆alte mijloace de validare a datelor XML

Page 2: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

„Este de ajuns un dicționarpentru a conține toate cuvintele. Dar gândirii îi trebuie infinitul.”

Alexandr Puskin

Page 3: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Recomandare a Consorțiului Web (2001, 2004)

XML Schema Primerwww.w3.org/TR/xmlschema-0/

XML Schema Structureswww.w3.org/TR/xmlschema-1/

XML Schema Data Typeswww.w3.org/TR/xmlschema-2/

Page 4: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Scop: validarea documentelor XML,

folosind sintaxa XML

se utilizează spațiul de nume definit dehttp://www.w3.org/2001/XMLSchema

Page 5: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Schema

specificație formală a gramaticii asociateunui document XML

Page 6: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Schema

specificație formală a gramaticii asociateunui document XML

flexibilitate sporită față de DTD

stocată extern într-un fișier XML .xsd

Page 7: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Pentru a i se putea verifica validitatea, o instanță a unei clase de documente XML

trebuie să aibă asociată o schemă XML

Page 8: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

O schemă definește o clasă de documente XMLconformându-se unui model structural

va specifica modul de apariție și tipurile de datepe care le pot lua valorile construcțiilor XML

e.g., elemente, atribute etc.

Page 9: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

Definește un sistem de tipuri de dateîn termenii infoset-ului XML

Page 10: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: utilizări

Verificarea tipurilor de dateîn contextul bazelor de date (relaționale),

mașinilor virtuale (JVM, CLR) etc.

Page 11: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: utilizări

Serializarea automată a datelor+

Invocarea la distanță a metodelor

RMI (Remote Method Invocation), protocolul SOAP

Page 12: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: utilizări

Generarea și editarea „inteligentă” de cod-sursă

Page 13: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: utilizări

Validatoare generale de date(e.g., validarea formularelor)

Page 14: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

exemplu de schemă XML definind un cuprins de carte

Page 15: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: definirea unei scheme

Elementul rădăcină: <xsd:schema>

Definirea/instanțierea unui element: <xsd:element>

Definirea/instanțierea unui atribut: <xsd:attribute>

Valorile permise pentru un element/atributaparțin unui tip de date – simplu sau complex: <xsd:SimpleType>, <xsd:ComplexType>

Page 16: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Fiecare instanță de element trebuie să aparținăunei clase (tip) de elemente

<element name="nume" type="tip" />

Page 17: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Tipul poate fi:

simplu

nu permite ca un element să includăalte elemente și nici să aibă asociate atribute

Page 18: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Tipul poate fi:

complex

permite ca elementele să cuprindăalte elemente (via reguli de apariție)

și să aibă asociate atribute

Page 19: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Elementele de tip complex pot conține: declarații de elemente<element name="nume" type="tip" />

referințe la elemente definite<element ref="nume" reguli_aparitie="val" />

declarații de atribute<attribute name="nume" type="tip" />

Page 20: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Tipurile complexe nu pot fi utilizatepentru a specifica tipurile valorilor atributelor

Page 21: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Valorile de tip simplu sunt predefinitesau derivate din cele predefinite

Page 22: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri predefinite

Numerice: byte, unsignedByte, hexBinary, integer,positiveInteger, negativeInteger, unsignedInt,

long, decimal, float, double,…Logice: boolean

Data & timp: time, dateTime, duration, date, gYear,…Șiruri: string, token, Name, QName etc.

URI: anyURIConstrucții XML: ID, IDREF, ENTITY,…

detalii: www.w3.org/TR/xmlschema-2

Page 23: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

Page 24: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Definirea de tipuri simple derivate din cele predefinite se face via <xsd:restriction>care poate specifica:

un interval: <xsd:minInclusive>, <xsd:maxInclusive><xsd:minExclusive>, <xsd:maxExclusive>

un model (pattern):<xsd:pattern> (convenții privind regex din Perl)

o listă de valori: <xsd:enumeration>

Page 25: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri – exemple

Tipul desemnând numărul de capitol– un întreg în intervalul [0, 9]

<xsd:simpleType name="nrcapType">

<xsd:restriction base="xsd:integer">

<xsd:minInclusive value="0" />

<xsd:maxInclusive value="9" />

</xsd:restriction>

</xsd:simpleType>

Page 26: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri – exemple

Tipul desemnând numărul de capitol– un întreg în intervalul [0, 9]

reprezentarea grafică via aplicația <oXygen />

Page 27: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri – exemple

Tipul specificând o adresă de e-mail

<xsd:simpleType name="addrType">

<xsd:restriction base="xsd:string">

<xsd:pattern value=".+@.+\.(.){2,4}" />

</xsd:restriction>

</xsd:simpleType> expresieregulată Perl

Page 28: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: tipuri

Pentru tipurile simple pot fi definiteconstrângeri suplimentare – facets:

lungime: <xsd:length>lungime minimă: <xsd:minLength>lungime maximă: <xsd:maxLength>model (pattern): <xsd:pattern>mulțime de valori permise: <xsd:enumeration>controlul spațiilor albe: <xsd:whiteSpace>numărul de cifre: <xsd:totalDigits>numărul de cifre zecimale: <xsd:fractionDigits>

Page 29: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: reguli de apariție

Reguli (restricții) de aparițiea unei instanțe de element:

minOccurs="număr"maxOccurs="număr | unbounded"

Page 30: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: reguli de apariție

Reguli de apariție a unui atribut:

use="required | optional | prohibited"

Page 31: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Valoarea predefinită a unui atributse specifică prin atributul default

Stabilirea de valori particularepentru elemente sau atribute

se realizează via atributul fixed

Page 32: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Conținutul unui element – derivarea via <xsd:extension>

Dorim elementului <autor> să atașăm atributul emailInițial: <xsd:element name="autor" type="xsd:string" />Acum:

<xsd:element name="autor"><xsd:complexType>

<xsd:simpleContent><xsd:extension base="xsd:string">

<xsd:attribute name="email" type="addrType" /></xsd:extension>

</xsd:simpleContent></xsd:complexType>

</xsd:element>

Page 33: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Conținutul unui element – derivare via <xsd:extension>

Page 34: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Conținutul unui element – derivare via <xsd:restriction>(se folosesc constrângeri)

Titlul unui capitol va avea lungime de maxim 50 de caractere:

<xsd:element name="titlu"><xsd:complexType>

<xsd:simpleContent><xsd:restriction base="titluType">

<xsd:maxLength value="50" /></xsd:restriction>

</xsd:simpleContent></xsd:complexType>

</xsd:element>

Page 35: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Conținutul unui element

specificarea unui conținut mixt:

<xsd:complexType mixed="true">

Page 36: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Conținutul unui element

specificarea unui conținut vidse realizează prin <xsd:complexType>

care nu va conține decât eventuale declarații de atribute

Page 37: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Modele ale conținutului

alternativă: <xsd:choice>secvență: <xsd:sequence>

grupare: <xsd:group>apariție în orice ordine: <xsd:all>

Page 38: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: conținut

Exemplu: secvența de sub-elemente ale unui capitol

<!-- elementele trebuie să apară în ordine -->

<xsd:sequence>

<xsd:element name="nume"

type="xsd:string"/>

<xsd:element ref="autor"

minOccurs="1"

maxOccurs="unbounded"/>

<xsd:element name="descriere"

type="xsd:string"/>

</xsd:sequence>

Page 39: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

reprezentarea grafică a schemei XML definind structuradocumentului sitemap.xml folosit la indexarea unui sit Web

www.sitemaps.org

Page 40: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: alte facilități

Legături între construcții XML:identificatori (de tip ID) și

referințe la identificatori (IDREF)

Elemente/atribute cu apariții unice: <xsd:unique>

Valori nil pentru elemente: nillable="true"

avansat

Page 41: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: alte facilități

Relații între două multimi de valori(posibil de tipuri diferite)

un element/atribut poate fi constrâns să fie validnumai dacă valoarea lui se află în mulțimea valorilor

altui element/atributspecificarea de relații între chei

se folosesc <xsd:key> și <xsd:keyRef>

avansat

Page 42: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: alte facilități

Suportul pentru abstractizare

se recurge la atributul abstract="true"

elementele/atributele declarate ca fiind „abstracte”nu pot fi utilizate într-o instanță de document

pentru a putea fi folosite trebuie derivatevia o schemă suplimentară – prin <xsd:include>

avansat

Page 43: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: alte facilități

Specificarea unor elemente/atribute generice(ale altor tipuri de documente) se realizează

prin elementele <xsd:any> și <xsd:anyAttribute>

avansat

Page 44: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: documentarea schemelor

Se folosește elementul <xsd:annotation> care poate include elementele:

<xsd:documentation> pentru utilizatorii umani<xsd:appInfo> destinat instrumentelor de procesare

apare ca prim element-copil al unor elementeprecum <xsd:schema>, <xsd:element>, <xsd:attribute>

sau <xsd:simpleType>

Page 45: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

<xs:element name="ul">

<xs:annotation>

<xs:documentation>O listă neordonată</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element maxOccurs="unbounded" ref="li"/>

</xs:sequence>

<!-- poate include un grup de atribute -->

<xs:attributeGroup ref="attrs"/>

</xs:complexType>

</xs:element>

<xs:attributeGroup name="attrs">

<xs:attributeGroup ref="coreattrs"/> <!-- atribute de bază: id, class,…-->

<xs:attributeGroup ref="i18n"/> <!-- privind limba: lang -->

<xs:attributeGroup ref="events"/> <!-- evenimente: onclick etc. -->

</xs:attributeGroup>

fragment din schema XML referitoare la HTML

Page 46: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: procesul de validare

În vederea validarii, o instanță de document trebuiesă declare un spatiu de nume având un URI

ce va desemna schema utilizată:

<s:radacina xmlns:s="uri_schema"xmlns:xsi=

"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=

"uri_schema doc_schema.xsd">…

</s:radacina>

Page 47: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema: procesul de validare

În cadrul definiției schemei,prin elementFormDefault și attributeFormDefault

se poate specifica faptul caelementele/atributele să fie prefixate obligatoriu

de un spațiu de nume

avansat

Page 48: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

dtd: validare

validarea unui document XML folosind Visual Studio

Page 49: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

XML Schema versus DTD

Moduri diferite de specificare (formală)a structurii și conținutului documentelor XML

Multitudine de tipuri de date XML Schema predefinite

Schemele pot fi deschise (extinse)

Page 50: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

XML Schema versus DTD

Declarațiile spațiilor de nume nu pot fi exprimate în DTD

Schemele sunt mai ușor de validat/procesat, însă pot deveni „stufoase”

Page 51: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

xschema

XML Schema 1.1

cea mai recentă recomandare W3C (2012)

structuri:www.w3.org/TR/xmlschema11-1/

tipuri de date:www.w3.org/TR/xmlschema11-2/

Page 52: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

REgular LAnguage for XML Next Generation

standard OASIS (Organization for the Advancement of Structured Information Standards)

relaxng.org

Page 53: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Bazat pe expresii regulate – șabloane (patterns)

colecții de noduri având o structură internă specifică

Page 54: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Pattern-urile de bază vizândnodurile text, elemente și atribute:

text pattern

<text />

Page 55: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Pattern-urile de bază vizândnodurile text, elemente și atribute:

element pattern

<element name="nume">pattern*</element>

Page 56: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Pattern-urile de bază vizândnodurile text, elemente și atribute:

attribute pattern

<attribute name="nume"><text /></attribute>

Page 57: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Modul de apariție a elementelor:

apariție opțională (0 sau 1 ori)<optional>

măcar o apariție<oneOrMore>

zero sau mai multe apariții<zeroOrMore>

Page 58: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Alternativă: <choice>

Grup de elemente: <group>

Page 59: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Definirea de pattern-uri noi:<define name="elementul-student">

<element name="student"> <text /> </element>

<optional>

<element name="adresa"> <text /> </element>

</optional>

</define>

referite prin <ref name="elementul-student" />

Page 60: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Definițiile pattern-urilor sunt incluse într-o gramatică(<grammar>) pentru care trebuie precizat

și elementul de start ce desemneazărădăcina documentului XML specificat:

<grammar xmlns="http://relaxng.org/ns/structure/1.0">

<start>

<element name="..."> ... </element>

</start>

<define name="..."> ... </define>

</grammar>

Page 61: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Poate fi utilizată și o sintaxă compactă

start = element antologie {

poeme+,

attribute data { text } }

poeme = elem-poem+

elem-poem = element poem {

element titlu { text },

elem-vers+ }

elem-vers = element vers { text }

o antologie e compusădin cel puțin un poem

un poem include un titlu, urmat de mai

multe versuri

Page 62: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Reprezentarea grafica a schemei de validaregenerata de <oXygen /> XML Editor

reprezentarea grafică a schemei de validaregenerată de <oXygen /> XML Editor

Page 63: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

relax ng

Utilizat la definirea limbajelorRDF, DocBook, TEI (Text Encoding Initiative) etc.

poate specifica și modele nedeterministe

Page 64: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/

Pentru detalii suplimentare + exemple, a se studia

S. Buraga, Tehnologii XML: www.slideshare.net/busaco/sabin-buraga-tehnologii-xml

Page 65: Tehnologii Web - profs.info.uaic.robusaco/teach/courses/web/presentations/web... · ga .ro / ~ co / Tehnologii Web tehnologii XML –supliment ⎆ alte mijloace de validare a datelor

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co/rezumat

validarea datelor XML

⎆XML Schema și RELAX NG


Recommended