Sunteți pe pagina 1din 66

D

r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
Tehnologii Web
tehnologii XML supliment

alte mijloace de validare a datelor XML


D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
Este de ajuns un dicionar
pentru a conine toate cuvintele.
Dar gndirii i trebuie infinitul.
Alexandr Puskin
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Recomandare a Consoriului Web (2001, 2004)
XML Schema Primer
http://www.w3.org/TR/xmlschema-0/
XML Schema Structures
http://www.w3.org/TR/xmlschema-1/
XML Schema Data Types
http://www.w3.org/TR/xmlschema-2/
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Scop:
validarea documentelor XML,
folosind sintaxa XML
se utilizeaz spaiul de nume definit de
http://www.w3.org/2001/XMLSchema
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Schema
specificaie formal a gramaticii asociate
unui document XML
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Schema
specificaie formal a gramaticii asociate
unui document XML
flexibilitate sporit fa de DTD
stocat extern ntr-un fiier XML .xsd
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Pentru a i se putea verifica validitatea,
o instan a unei clase de documente XML
trebuie s aib asociat o schem XML
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
O schem definete o clas de documente XML
conformndu-se unui model structural
va specifica modul de apariie i tipurile de date
pe care le pot lua valorile construciilor XML
e.g., elemente, atribute etc.
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
Definete un sistemde tipuri de date
n termenii infoset-ului XML
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: utilizri
Verificarea tipurilor de date
n contextul bazelor de date (relaionale),
mainilor virtuale (JVM, CLR) etc.
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: utilizri
Serializarea automat a datelor
+
Invocarea la distan a metodelor
RMI (Remote Method Invocation), protocolul SOAP
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: utilizri
Generarea i editarea inteligent de cod-surs
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: utilizri
Validatoare generale de date
(e.g., validarea formularelor)
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
exemplu de schem XML definind un cuprins de carte
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: definirea unei scheme
Elementul rdcin:
<xsd:schema>
Definirea/instanierea unui element:
<xsd:element>
Definirea/instanierea unui atribut:
<xsd:attribute>
Valorile permise pentru un element/atribut
aparin unui tip de date simplu sau complex:
<xsd:SimpleType>, <xsd:ComplexType>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Fiecare instan de element trebuie s aparin
unei clase (tip) de elemente
<element name="nume" type="tip" />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Tipul poate fi:
simplu
nu permite ca un element s includ
alte elemente i nici s aib asociate atribute
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Tipul poate fi:
complex
permite ca elementele s cuprind
alte elemente (via reguli de apariie)
i s aib asociate atribute
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Elementele de tip complex pot conine:
declaraii de elemente
<element name="nume" type="tip" />
referine la elemente definite
<element ref="nume" reguli_aparitie="val" />
declaraii de atribute
<attribute name="nume" type="tip" />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Tipurile complexe nu pot fi utilizate
pentru a specifica tipurile valorilor atributelor
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Valorile de tip simplu sunt predefinite
sau derivate din cele predefinite
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
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: anyURI
Construcii XML: ID, IDREF, ENTITY,
detalii: www.w3.org/TR/xmlschema-2
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
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> (convenii privind regex din Perl)
o list de valori:
<xsd:enumeration>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri exemple
Tipul desemnnd numrul 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>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri exemple
Tipul desemnnd numrul de capitol
un ntreg n intervalul [0, 9]
reprezentarea grafic via aplicaia <oXygen />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri exemple
Tipul specificnd o adres de e-mail
<xsd:simpleType name="addrType">
<xsd:restriction base="xsd:string">
<xsd:pattern value=".+@.+\.(.){2,4}" />
</xsd:restriction>
</xsd:simpleType>
expresie
regulat Perl
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: tipuri
Pentru tipurile simple pot fi definite
constrngeri suplimentare facets:
lungime: <xsd:length>
lungime minim: <xsd:minLength>
lungime maxim: <xsd:maxLength>
model (pattern): <xsd:pattern>
mulime de valori permise: <xsd:enumeration>
controlul spaiilor albe: <xsd:whiteSpace>
numrul de cifre: <xsd:totalDigits>
numrul de cifre zecimale: <xsd:fractionDigits>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: reguli de apariie
Reguli (restricii) de apariie
a unei instane de element:
minOccurs="numr"
maxOccurs="numr | unbounded"
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: reguli de apariie
Reguli de apariie a unui atribut:
use="required | optional | prohibited"
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Valoarea predefinit a unui atribut
se specific prin atributul default
Stabilirea de valori particulare
pentru elemente sau atribute
se realizeaz via atributul fixed
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Coninutul unui element derivarea via <xsd:extension>
Dorimelementului <autor> s atam atributul email
Iniial: <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>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Coninutul unui element derivare via <xsd:extension>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Coninutul unui element derivare via <xsd:restriction>
(se folosesc constrngeri)
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>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Coninutul unui element
specificarea unui coninut mixt:
<xsd:complexType mixed="true">
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Coninutul unui element
specificarea unui coninut vid
se realizeaz prin <xsd:complexType>
care nu va conine dect eventuale declaraii de atribute
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Modele ale coninutului
alternativ: <xsd:choice>
secven: <xsd:sequence>
grupare: <xsd:group>
apariie n orice ordine: <xsd:all>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: coninut
Exemplu: secvena 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>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
reprezentarea grafic a schemei XML definind structura
documentului sitemap.xml folosit la indexarea unui sit Web
http://www.sitemaps.org/
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: alte faciliti
Legturi ntre construcii XML:
identificatori (de tip ID) i
referine la identificatori (IDREF)
Elemente/atribute cu apariii unice: <xsd:unique>
Valori nil pentru elemente: nillable="true"
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: alte faciliti
Relaii ntre dou multimi de valori
(posibil de tipuri diferite)
un element/atribut poate fi constrns s fie valid
numai dac valoarea lui se afl n mulimea valorilor
altui element/atributspecificarea de relaii ntre chei
se folosesc <xsd:key> i <xsd:keyRef>
vezi exemplele
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: alte faciliti
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 derivate
via o schem suplimentar prin <xsd:include>
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: alte faciliti
Specificarea unor elemente/atribute generice
(ale altor tipuri de documente) se realizeaz
prin elementele <xsd:any> i <xsd:anyAttribute>
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: documentarea schemelor
Se folosete 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 elemente
precum<xsd:schema>, <xsd:element>, <xsd:attribute>
sau <xsd:simpleType>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
<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
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: procesul de validare
n vederea validarii, o instan de document trebuie
s declare un spatiu de nume avnd 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>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema: procesul de validare
n cadrul definiiei schemei,
prin elementFormDefault i attributeFormDefault
se poate specifica faptul ca
elementele/atributele s fie prefixate obligatoriu
de un spaiu de nume
vezi exemplele
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
dtd: validare
validarea unui document XML via <XMLPlayground />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
XML Schema versus DTD
Moduri diferite de specificare (formal)
a structurii i coninutului documentelor XML
Multitudine de tipuri de date XML Schema predefinite
Schemele pot fi deschise (extinse)
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
XML Schema versus DTD
Declaraiile spaiilor de nume nu pot fi exprimate n DTD
Schemele sunt mai uor de validat/procesat,
ns pot deveni stufoase
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
xschema
XML Schema 1.1
recomandare W3C (2012)
structuri:
http://www.w3.org/TR/xmlschema11-1/
tipuri de date:
http://www.w3.org/TR/xmlschema11-2/
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
REgular LAnguage for XML Next Generation
standard OASIS (Organization for the Advancement of
Structured Information Standards)
http://relaxng.org/
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Bazat pe expresii regulate abloane (patterns)
colecii de noduri avnd o structur intern specific
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Pattern-urile de baz viznd
nodurile text, elemente i atribute:
text pattern
<text />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Pattern-urile de baz viznd
nodurile text, elemente i atribute:
element pattern
<element name="nume">pattern*</element>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Pattern-urile de baz viznd
nodurile text, elemente i atribute:
attribute pattern
<attribute name="nume"><text /></attribute>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Modul de apariie a elementelor:
apariie opional (0 sau 1 ori)
<optional>
mcar o apariie
<oneOrMore>
zero sau mai multe apariii
<zeroOrMore>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Alternativ:
<choice>
Grup de elemente:
<group>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
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" />
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Definiiile pattern-urilor sunt incluse ntr-o gramatic
(<grammar>) pentru care trebuie precizat
i elementul de start ce desemneaz
rdcina documentului XML specificat:
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="..."> ... </element>
</start>
<define name="..."> ... </define>
</grammar>
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
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 puin un poem
un poem include
un titlu, urmat de mai
multe versuri
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Reprezentarea grafica a schemei de validare
generata de <oXygen /> XML Editor
reprezentarea grafic a schemei de validare
generat de <oXygen /> XML Editor
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
Utilizat la definirea limbajelor
RDF, DocBook, TEI (Text Encoding Initiative) etc.
poate specifica i modele nedeterministe
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
relax ng
erori de validare semnalate de <XMLPlayground />
http://xmlplayground.com/
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
alternative
Validarea datelor XML folosind specificaii multiple:
NVDL
(Namespace-based Validation Dispatching Language)
www.nvdl.org
Convertirea dintr-un format n altul
(asigurarea inter-operabilitii): Trang
www.thaiopensource.com/relaxng/trang.html
ambele sunt oferite i de instrumentul <oXygen />
avansat
D
r
.

S
a
b
i
n

B
u
r
a
g
a

w
w
w
.
p
u
r
l
.
o
r
g
/
n
e
t
/
b
u
s
a
c
o
rezumat
validarea datelor XML

XML Schema i RELAX NG

S-ar putea să vă placă și