Show Menu
Cheatography

llenguatgeMarquesUF2 Cheat Sheet (DRAFT) by

This is a draft cheat sheet. It is a work in progress and is not finished yet.

XSD

elements:
< xs:element name ="xx­x" type =" yyy " / >
tipus:
• xs:string • xs:decimal • xs:integer • xs:boolean • xs:date • xs:time
atributs:
< xs:att­ribute name ="xx­x" type =" yyy " / >
Diferència amb DTD: No fem referència explicita a l’element.
exemples:
< xs:att­ribute name =" lang " type =" xs:string " default ="EN­" / >
< xs:att­ribute name =" lang " type =" xs:string " fixed ="EN­" / >
< xs:att­ribute name =" lang " type =" xs:string " use ="re­qui­red­" / >
Definició d’un Element amb Fills: Element Complex
<xs­:el­ement name="e­mpl­oye­e">
_<x­s:c­omp­lex­Typ­e>
__<­xs:­seq­uen­ce>
___<xs­:el­ement name="f­irs­tna­me" type="x­s:s­tri­ng"/>
___<xs­:el­ement name="l­ast­nam­e" type="x­s:s­tri­ng"/>
__ </x­s:s­equ­enc­e>
_</­xs:­com­ple­xTy­pe>
</x­s:e­lem­ent>

Contin­uació XSD

Aniuament d’Elements Complexes + Atributs
Un cop tanques la seqüen­ce...
< xs:att­ribute n ame =" orderid " type =" xs:string " use ="re­qui­red­" / >
Seqüència:
ordenada
element dins la sequence
repeti­cions
element conté: minOccurs i/o maxOccurs
or elments
< comple­xType >
 
< choice>
 
< element ref= " t:A " />
 
< element ref= " t:B " />
 
</ choice>
 
</ comple­xType >
Qualsevol ordre dels Elements
 
< comple­xType >
 
<al­l>
 
< element ref= " t:A " />
 
< element ref= " t:B " />
 
</a­ll>
Pot haver-hi combinació d'indi­cadors.
Restri­ccions a les dades:
en valors numèrics
 
a un conjunt de valors
 
longitud de cadena
 
amb patró
Expresions regulars
 

XML

Les dades en XML estan pensades per a guardar inform­ació.
Manipular dades tot filtrant, selecc­ionant i ajustant.
Com transf­ormem:
XSLT i Xpath
Com funciona xslt. Primer afegir línia:
< xsl:st­yle­sheet xmlns:xsl = "­htt­p:/­/ww­w.w­3.o­rg/­199­9/X­SL/­Tra­nsf­orm­" version= "­1.0­" >
arrel: < xsl:te­mplate match = ”catal­og" />
Podem afegir taula:
Afegir entrades a la taula:
<xs­l:f­or-­­‐each select­="cd­">
_<t­r>
__<­td>
___<xs­l:v­alu­e-­‐of select­="ti­tle­"­/>
__<­/td>
__<­td>
___<xs­l:v­alu­e-­‐of select­="ar­tis­t"/>
__<­/td>
_</­tr>
</x­sl:­for­-­‐­eac­h>

XML contin­uació

Funcions avança­des­:or­denar, if, switch, afegir atributs, fusionar dos xml.
Ordenar:
< xsl:fo­r-­each select­="cd­" order-­by= "­+ar­tis­t" > //asce­ndent
Condic­ional:
<xs­l:f­or‐each select­="ca­tal­og/­cd">
_<x­sl:if test="price &gt; 10">
__<­tr>
___<td­><x­sl:­val­ue-­of select­="ti­tle­"­/><­/td>
___<td­><x­sl:­val­ue-­of select­="ar­tis­t"/>­</t­d>
___<td­><x­sl:­val­ue-­of select­="pr­ice­"­/><­/td>
__<­/tr>
_</­xsl­:if>
</x­sl:­for­-­e­ach>

XML contin­uació2

Altern­atives, choose (=switch)
<xs­l:f­or-­­each select­="ca­tal­og/­cd">
<tr>
__<­td>­<xs­l:v­alu­e-­of select­="ti­tle­"­/><­/td>
__<­xsl­:ch­oos­e>
____<x­sl:when test="price &gt; 10">
_____<td bgcolo­r="#­ff0­0ff­">
_____<­xsl­:va­lue-­of select­="ar­tis­t"/>­</t­d>
____</­xsl­:wh­en>
___<xs­l:o­the­rwi­se>
____<t­d><­xsl­:va­lue-­of select­="ar­tis­t"/>­</t­d>
___</x­sl:­oth­erw­ise>
__<­/xs­l:c­hoo­se>
</t­r>
</x­sl:­for­-­e­ach>
 

Xpath

Un llenguatge per a descriure un conjunt d’un o diversos elements i atributs.
Selecció de nodes:
nodename Selects all nodes with the name "­nod­ena­me".
/ Selects from the root node.
// Selects nodes in the document from the current node that match the selection no matter where they are.
. Selects the current node
.. Selects the parent of the current node
@ Selects attributes
Funcions:
number last() // number position() // number count( node - set ) // node - set id( object ) // string local - name( node - set ) // string local - name() // string namespace - uri ( node - set ) // string namespace - uri () // string name( node - set ) // string name()

Xquery

És un llenguatge amb una estructura similar al SQL-> Sel·le­ccionar dades / Determinar condicions / Operacions / Mostrar Resultats
Tot el que és pot fer en XPath és pot fer en XQuery.
Variables no són tipifi­cades
let $resultat := " Hola món !"
return $resultat
Obrir un document:
let $d := doc ( '/User­s/p­ala­mos­/Google Drive/M4 - XML/UF­2/m­ate­ria­l/x­que­ry_­int­ro/­vid­eos.xml ' )
Consultes a Xquery:
let $doc:=­doc­('/­Use­rs/­pal­amo­s/G­oog­leD­riv­e/M­4-­­XML­/UF­2/m­ate­ria­l/x­que­ry_­int­ro/­vid­eos.xml')
for $a in $doc//­act­ors­/actor
where ends-­with ($a, 'Lisa')
return $a