1. Llenguatge de marques\nIntroducció als llenguatges de marques. Classificació\nVegeu la recomanació de l’W3C relativa a l’XML en la secció “Adreces d’interès” del web del mòdul.\nXML són les sigles d’extensible markup language (llenguatge d’etiquetatge extensible). És un llenguatge estàndard, una recomanació del World Wide Web Consortium (W3C, www.w3.org/TR/REC-xml). Està basat en l’estàndard ISO SGML.\nL’XML està tan basat en SGML que qualsevol document XML és un alhora un document SGML correcte (encara que a l’inrevés no passa).\nL’XML va sorgir per intentar superar els problemes que tenia l’HTML a l’hora de processar automàticament la informació que contenen les pàgines web, però que a més pogués funcionar de la mateixa manera que es fa servir l’HTML. A més, s’hi van afegir altres requisits, com que:\nFos fàcil crear documents XML i que els humans els poguessin llegir i entendre fàcilment.\nNo fos complicat fer programes d’ordinador que treballessin amb XML.\nL’XML es pogués fer servir en el màxim possible de camps d’aplicació i mantingués la compatibilitat amb SGML.\nEl resultat ha estat que l’XML:\nDefineix la sintaxi genèrica per marcar les dades amb valors comprensibles per als humans.\nÉs una manera de donar format als documents que és prou flexible per ser personalitzada per a diferents destinacions: web, impressores, bases de dades, etc.\nEstà pensat perquè tothom el pugui fer servir sigui quina sigui la seva àrea d’interès.\nEn realitat l’XML no és un llenguatge de marques, sinó que és un llenguatge que ens permetrà definir els nostres llenguatges de marques propis. Això vol dir que podrem definir llenguatges de marques específics per a cada un dels camps d’interès. Si treballem en el món dels gràfics podem definir el nostre llenguatge específic per definir aquests gràfics, i si treballem en el món de la premsa podrem definir el nostre llenguatge per representar les notícies.\nPer aquest motiu sovint es diu que l’XML és un metallenguatge, ja que ens permet definir l’estructura i el vocabulari d’altres llenguatges de marques.\nL’XML és un llenguatge per crear llenguatges de marques.\nAquesta llibertat a l’hora de definir les marques que ens interessin és un dels punts forts d’XML, que el fan molt més potent i adaptable a les diferents complexitats dels entorns en els quals pugui caldre.\nLa base de l’XML són els elements. Un element normalment estarà format per l’obertura d’una etiqueta –amb atributs o sense–, un contingut –que també pot ser un grup d’etiquetes–, i el tancament de l’etiqueta.\nEn aquest exemple podem veure el que acabem de comentar. Definim una etiqueta nom, després el contingut Pere Martí i posteriorment tanquem l’etiqueta:\nAquest és un dels punts forts de l’XML: queda bastant clar que el contingut de dins de l’etiqueta és un nom.\nEs podria fer l’exemple una mica més complex afegint-hi un atribut.\nEls atributs s’afegeixen sempre en l’obertura de l’etiqueta.\n<nom càrrec="director">Pere Marti</nom>\nUn altre dels aspectes bàsics de l’XML és que no es preocupa de la presentació sinó que parteix de la idea que l’important és el contingut de les dades i no la manera com es visualitzaran. Aquesta característica el fa ideal per presentar la informació i posteriorment per mitjà d’algun procés convertir la informació en un format de presentació específic com HTML, PDF, PostScript, etc. A més, aporta una característica molt interessant des del punt de vista de la informàtica: permet tenir les dades separades de la manera de representar-les.\nL’XML permet separar el contingut de la manera com serà presentat aquest contingut als usuaris.\nLes etiquetes es defineixen dins del document XML i es defineix un format per separar-les clarament del contingut de dades. Estrictament parlant hi ha dos tipus d’etiquetes:\nLes etiquetes d’obertura\nLes etiquetes de tancament\nLa informació es distribueix entre els dos tipus d’etiquetes. Així s’aconsegueix una manera senzilla de definir quines parts del document són dades i quines són estructura.\nLes etiquetes d’obertura es defineixen amb els símbols de més petit ”<” i més gran ”>” amb un nom d’etiqueta al mig.\nI les etiquetes de tancament es defineixen igual que les d’obertura però a l’hora de començar l’etiqueta s’hi especifiquen dos símbols: un símbol de més petit i una barra ”</”. D’aquesta manera es poden distingir fàcilment els dos tipus d’etiquetes i queda clar en quin lloc s’ha d’afegir el contingut.\nL’XML no defineix cap etiqueta sinó que permet que les defineixi cadascú en funció del que necessiti representar. Això fa més senzill crear documents XML, ja que no cal conèixer cap etiqueta per poder començar a treballar i perquè permet adaptar-se a qualsevol tasca.\nA l’hora de definir les etiquetes es pot deixar un espai o un salt de línia darrere del nom de l’etiqueta però mai abans ni al mig. Per tant aquestes etiquetes serien correctes:\nI en canvi aquestes altres no serien correctes:\nCom s’acaba de veure, l’especificació XML defineix clarament com s’han de crear les etiquetes en els documents XML, però en canvi no defineix cap tipus ni significat associat a cap de les etiquetes. Si, per exemple, fem servir en HTML l’etiqueta <b>, aquesta ens està indicant que el contingut que contindrà s’haurà de representar en negreta. Això obliga que per fer documents XML s’hagin de conèixer les etiquetes.\nPer a l’XML les etiquetes només són una manera de separar el contingut i definir l’estructura de les dades que conté. La interpretació de què signifiquen les dades i com s’han de representar es deixa a qui llegeixi el document (independentment que aquest sigui un humà o bé un programa).\nEl tractament d’excepcions que s’ha de fer per interpretar HTML és una de les coses que fa més complexa la tasca de programar els navegadors web actuals.\nA pesar de la llibertat a l’hora de deixar que els usuaris triïn les seves pròpies etiquetes, l’XML és molt més rigorós que altres llenguatges a l’hora de definir com s’han d’escriure. L’objectiu de tenir regles d’escriptura està determinat per la necessitat que els documents XML en un moment o un altre seran processats per un programa, i els programes es fan més complexos a l’hora de tractar amb excepcions. Per tant, una de les coses que fa l’XML és evitar les excepcions tant com sigui possible.\nLes etiquetes que s’obrin sempre s’hauran de tancar.\nPer evitar les excepcions una de les regles bàsiques d’XML és que qualsevol etiqueta que s’obri sempre s’ha de tancar. De manera que aquest no seria un document XML vàlid:\nI en canvi aquest sí:\nA pesar que no hi ha etiquetes definides, ja que l’XML permet crear les etiquetes que ens facin falta, per un motiu de llegibilitat i d’interpretació de les dades es recomana que les etiquetes siguin autoexplicatives i pronunciables. Això és per evitar coses com la de l’exemple següent:\nSegons aquest segon exemple, com determinem què és “Figueres”? Per a un programa d’ordinador segurament no seria un problema massa gran perquè simplement agafaria la dada i la interpretaria tal com l’hagin programat però en canvi per a un humà un document amb etiquetes com aquesta seria impossible d’interpretar.\nEs recomana triar els noms de les etiquetes de manera que puguin ser interpretades per qui les llegirà independentment de si les processa una persona o un programa.\nL’exemple anterior serà més fàcil d’interpretar si canviem l’etiqueta:\nEl contingut d’un element serà tot allò que hi hagi entre les etiquetes d’obertura i de tancament. En el contingut podem tenir simplement text com aquí:\nO bé el contingut poden ser altres elements. En l’exemple següent l’element <persona> conté dos elements més: <nom> i <cognom>, que a més tenen contingut dins seu:\nUna tercera possibilitat seria combinar els dos casos anteriors i que el contingut sigui una mescla de text i elements.\nTambé és possible definir etiquetes sense contingut de manera que el seu significat està determinat pel nom de l’etiqueta.\nEls elements buits també es poden definir fent servir el símbol /> en tancar l’etiqueta. De manera que no hi ha cap diferència entre definir <director> d’aquesta manera:\nEls elements buits, encara que es defineixin amb el seu format especial, han de seguir les mateixes normes que els elements normals. Per tant, serien correctes les definicions següents:\nI no ho serien aquestes:\nL’XML no defineix cap restricció a l’hora de definir el contingut dels elements. Per tant:\nPodem fer servir qualsevol caràcter representable amb el codi de caràcters.\nEl contingut pot ser tan llarg com ens faci falta.\nEs pot escriure en qualsevol idioma del món.\nNo importa que hi hagi espais en blanc o salts de línia dins del contingut.\nL’única cosa que s’ha de tenir en compte a l’hora de definir continguts és que hi ha una sèrie de caràcters que poden provocar que hi hagi confusions a l’hora d’interpretar el document XML, i per tant s’han declarat il·legals. No cal oblidar que un dels objectius de l’especificació és “que sigui fàcil escriure programes que processin els documents”, i per tant s’han d’evitar les interpretacions.\nSi passem el codi següent a un programa d’ordinador tindrem un problema\nx<y i y>z\nPer a un humà això no seria un problema perquè pot interpretar les dades per mitjà del seu coneixement, però en canvi un programa en llegir el contingut del document interpretaria que <y i y> és el començament d’una nova etiqueta.\nPer evitar aquest problema s’han definit una sèrie de valors, anomenats entitats, que es fan servir per poder incloure els caràcters problemàtics dins del contingut de les etiquetes (taula).\nReferències de caràcters\nEn realitat qualsevol caràcter es pot representar com una entitat fent servir el seu valor numèric en Unicode, emprant els símbols &# i els tres dígits del seu valor numèric. Per exemple: &#169\nTaula: Entitats definides en XML\nEs pot donar el cas que el contingut d’un element sigui HTML o bé codi en algun llenguatge de programació. Això obligaria a substituir per entitats una gran quantitat de símbols i a més restaria llegibilitat al document. Per evitar-ho l’XML permet fer servir les seccions CDATA dins del contingut d’un element. Tot el que estigui dins d’una secció CDATA no serà interpretat per cap programa.\nCDATA és un terme heretat d’SGML i resumeix el text character data.\nLes seccions CDATA funcionen com les etiquetes normals. Es defineixen començant per <![CDATA[ abans d’especificar el contingut i s’acaben amb la combinació de caràcters ]]>. Per tant, podem definir contingut amb símbols prohibits dins de les seccions CDATA sense problemes.\nif (x <y and y>z)\nA més es pot veure fàcilment que per a un humà és més difícil interpretar això:\n<titol>Els documents HTML comencen per <html></titol>\nQue el seu equivalent amb CDATA:\nEls documents HTML comencen per <HTML>\nUn altre problema que solucionen les seccions CDATA és que permeten afegir contingut en un llenguatge de marques que no cal que estigui ben format. Per exemple, si el contingut té etiquetes que no es tanquen només es poden definir en una secció CDATA o bé el programa les interpretarà com a etiquetes del document i donarà un error.\nLes seccions CDATA normalment es fan servir per al següent:\nDefinir grans fragments de text que requereixin moltes substitucions d’entitats.\nSi el contingut està en un llenguatge de marques i no està ben format.\nUna manera alternativa d’afegir contingut als documents XML és per mitjà dels atributs. Els atributs són un parell de valors separats per un = que només s’especifiquen en les etiquetes d’obertura.\nEl primer valor del parell ens indica quin és el nom del contingut i es farà servir per interpretar què indiquen les dades que té associades, mentre que el segon ens definirà el contingut de l’atribut.\n<nom carrec="professor">Frederic Garcia</nom>\nEs pot veure com l’atribut carrec dóna un nivell més d’informació a nom. Ara se sap que fa referència al nom d’un professor.\nPer especificar els atributs es poden fer servir tant les comentes dobles com les cometes simples. Això sí, sempre s’ha de tancar les cometes tal com s’han obert. <corredor posicio=“1”> o <corredor posicio=‘1’> però mai <corredor posicio=“1’>\nA diferència del que passa en altres llenguatges de marques com l’HTML, l’XML és molt més estricte i obliga que tots els valors dels atributs han d’estar envoltats per cometes. En altres llenguatges de marques es permet que els valors numèrics no vagin entre comentes però en XML no es pot fer. Per tant l’exemple següent seria incorrecte perquè l’atribut no té cometes.\n<corredor posicio=1>Manel Roure</corredor>\nSi es vol especificar s’ha de posar entre cometes simples:\n<corredor posicio='1'>Manel Roure</corredor>\n<corredor posicio="1">Manel Roure</corredor>\nFins i tot quan els atributs no cal que tinguin cap valor, perquè es considera que ja se’n pot interpretar el significat pel nom de l’atribut, s’hi ha d’especificar valor entre cometes. Per tant, l’exemple següent no seria correcte perquè l’atribut no té valor:\n<alumne delegat>Jaume Ravent</alumne>\nHo hauríem d’especificar amb la cadena buida:\n<alumne delegat="">Jaume Ravent</alumne>\nO posant-hi algun valor:\n<alumne delegat="si">Jaume Ravent</alumne>\nL’XML permet definir tants atributs com faci falta sense cap tipus de restricció. Les úniques condicions que hem de seguir és que cada un dels atributs ha d’estar separat dels altres almenys per un espai.\n<persona nom="Xavier" cognom="Sala"/>\nL’ordre en què apareixen els atributs no té cap importància, de manera que els dos codis següents serien equivalents:\n<persona nom="Xavier" cognom="Sala" />\n<persona cognom="Sala" nom="Xavier" />\nQuan s'han de fer servir atributs i quan elements?\nHi ha hagut molts debats sobre quan s’han de fer servir atributs i quan s’han de fer servir elements sense que s’hagi trobat cap argument totalment acceptat per tothom.\nAl final el resultat pràctic és que és virtualment el mateix fer això:\n<persona nom="Pere" />\nI per tant sempre es pot fer servir el mètode que ens agradi més.\nUna altra característica important dels atributs és que no es poden repetir els noms dels atributs dins d’un mateix element. De manera que no és correcte especificar dos atributs carrec:\n<politic carrec="alcalde" carrec="diputat">Jordi Rufi</polític>\nPer tant, s’ha de buscar una altra manera d’especificar-ho. Per exemple, amb una llista de valors:\n<politic carrec="alcalde diputat">Jordi Rufi</polític>\no bé posant noms d’atributs diferents:\n<politic alcalde="si" diputat="si">Jordi Rufi</polític>\nL’atribut xml:lang és un atribut predefinit i serveix per especificar l’idioma que s’ha fet servir per escriure el contingut tant de l’element com dels altres atributs.\nVegeu les formes definides per l’IETF en el BCP 47 en la secció “Adreces d’interès” del web del mòdul.\nEl valor de l’atribut xml:lang pot ser buit o bé ha d’estar en una de les formes definides per l’IETF en el BCP 47 (www.rfc-editor.org/rfc/bcp/bcp47.txt), que fan servir els codis ISO que defineixen les regions i els idiomes. Sense entrar-hi en profunditat això implica que hi podem definir el codi ISO d’un idioma o bé una combinació de codis ISO que defineixin la regió i l’idioma.\nL’atribut xml:lang ens permet definir en quin idioma està el contingut d’un element o d’un document XML.\nPer tant, el valor de l’atribut xml:lang d’aquest exemple seria vàlid perquè el codi ISO 639 de dues lletres per a la llengua catalana és ca.\nPerò també seria vàlid fer servir qualsevol de les combinacions de regió i idioma:\nL’atribut només fa referència a l’element en què s’ha especificat i al seu contingut, de manera que aquí:\nes pot considerar que els elements arribar i marxar tenen també l’atribut xml:lang perquè són contingut de <saludar>, i per tant el seu contingut i el valor dels seus atributs està en català.\nSempre es pot evitar aquesta forma d’herència de l’atribut redefinint l’atribut xml:lang com en aquest exemple:\nS’hi defineixen dos elements arribar, un que té el contingut en català, ja que l’ha heretat de l’element saludar, que els conté, i l’altre que té el contingut en anglès perquè se l’hi ha especificat l’idioma explícitament.\nL’objectiu de l’atribut xml:lang és permetre que els programes puguin interpretar l’idioma en el qual hi ha el contingut dels documents o dels elements XML. Hi ha molts programes que fan servir aquesta característica per poder fer que els programes adaptin el contingut que han de mostrar en l’idioma del qui els fa servir.\nSi es té un programa que vol mostrar missatges per pantalla en l’idioma que faci servir l’usuari se li podria preparar un fitxer de dades com el següent, que li permetria fer-ho un cop hagués determinat l’idioma del sistema operatiu:\n<missatge xml:lang="fr">Soyez le bienvenu</missatge>\nL’atribut xml:space fa referència a com s’han de tractar els espais que hi ha en el contingut d’un element determinat.\nQuan algú edita un document XML és corrent que faci servir espais i salts de línia perquè el document sigui més “bonic” però realment aquests espais i salts de línia no formen part del contingut. Amb l’ús de l’atribut xml:space es defineix si aquests espais són part del contingut o no.\nNomés hi ha dos valors acceptats per a l’atribut xml:space: default i preserve (taula).\nTaula: Valors acceptats per a l’atribut xml:space\ndefault Implica que el document ha de mostrar només un sol espai de separació entre les paraules. Qualsevol altra cosa ha de ser suprimida.\npreserve Fa que els espais es deixin tal com estan en el document. Per tant, si hi ha 5 espais després d’una paraula en el contingut s’han de preservar aquests espais.\nQualsevol altre valor es considerarà un error lleu i no es tindrà en compte.\nSeguint el que hem definit, en el document següent:\nCom que l’element <missatge> té de paràmetre xml:space=“default”, li estem especificant que se suprimeixin els espais, o sigui, que seria com tenir:\n<missatge>Hola: Com va tot?</missatge>\nEn canvi, si l’atribut hagués estat preserve el valor del contingut de <missatge> seria interpretat respectant els espais i els salts de línia.\nEls processadors XML han de passar tots els espais que no siguin etiquetes al programa que llegeixi el document. Per tant, a pesar del nom per defecte es fa servir preserve.\nNoms vàlids XML\nL’XML permet definir les nostres etiquetes i atributs lliurement però no totes les combinacions possibles són acceptables. Els noms de les etiquetes i dels atributs han de complir unes regles per ser considerats “correctes”.\nTot i que els dos punts estan acceptats no es recomana que es facin servir en la creació d’etiquetes perquè es reserven per ser usats en espais de noms.\nLes regles per definir noms correctes són senzilles:\nEls noms han de començar per una lletra de l’alfabet, el caràcter de subratllat (_) o un guió (-). També s’accepta el caràcter de dos punts (:), però està reservat.\nEls caràcters en majúscules són diferents dels caràcters en minúscules.\nNo hi pot haver espais enmig del nom.\nNo poden començar per la paraula XML tant si qualsevol de les lletres està en majúscules o en minúscules. Aquestes paraules es reserven per a estandarditzacions futures.\nSeguint aquestes regles tindrem que l’exemple següent:\n<Ciutat comarca="Alt Empordà">Figueres</Ciutat>\nL’etiqueta <Ciutat> és correcta perquè compleix totes les regles. La primera lletra del nom comença per un caràcter de l’alfabet, C, no hi ha cap espai enmig del nom, i no comença per les lletres xml.\nAlhora, l’atribut comarca també és correcte perquè comença amb un caràcter de l’alfabet, c, no té espais i no comença per xml.\nEn canvi no és correcta l’etiqueta <Alt Empordà> perquè té espais enmig del nom:\n<Alt Empordà></Alt Empordà>\nNi ho serien les etiquetes <1aPosicio> i <2aPosicio>, ja que comencen per un dígit:\nEn la taula hi ha exemples d’etiquetes correctes i incorrectes.\nTaula: Exemples d’etiquetes correctes i incorrectes\n<correu-electronic/> <correu electronic/>\n<element /> < element/>\n<svg:rectangle /> <xml-rectangle/>\nA pesar d’aquestes restriccions la llibertat que permet l’estàndard és prou important.\nLa versió 1.1 d’XML permet que siguin vàlids tota una sèrie de caràcters extra per adaptar-se a les noves versions de Unicode, però en general no aporten res si no fem servir algun idioma asiàtic.\nUna de les coses que no s’ha d’oblidar mai és que un dels objectius d’XML és fer que els documents amb XML puguin ser llegits i entesos fàcilment per les persones i, per tant, es recomana que no es facin servir noms que no tinguin sentit o que siguin difícilment entesos per una persona.\nSovint en els documents XML s’especifiquen dades extra que realment no formen part del document. Aquestes dades s’anomenen comentaris i es fan servir per a moltes coses diverses, com ara:\nGenerar documentació sobre el document.\nIndicar a la gent que pugui rebre el document què es volia fer en crear-lo.\nEls analitzadors XML són programes que, a partir de l’estructura dels documents XML, ens permeten l’accés al contingut a partir de les seves etiquetes.\nEl més habitual sol ser processar el document per generar-ne una sortida que pugui ser visualitzada més fàcilment, etc..\nGeneralment els analitzadors XML simplement solen descartar els comentaris, ja que l’especificació XML diu que no cal que siguin processats.\nEls comentaris s’especifiquen encloent-los entre els símbols <!— i —> i es poden posar comentaris en qualsevol lloc del document XML excepte dins de les etiquetes. Com a exemple, en el document següent s’ha inclòs el comentari “Llista d’alumnes” per a indicar en quin lloc comença la llista d’alumnes:\n<!-- Llista d'alumnes -->\nInstruccions de procés\nLes instruccions de procés són una manera de donar instruccions als programes que llegiran el document. Es defineixen dins dels símbols ”<?” i posteriorment sempre s’hi ha d’especificar a quin programa van dirigides amb l’única restricció que no poden ser les lletres “XML” en qualsevol combinació de majúscules o minúscules.\nPer tant, per afegir informació que vagi destinada a un programa anomenat php s’han de definir les instruccions de procés amb una instrucció de procés:\nAquest sistema permet que en un document XML es puguin afegir instruccions de procés diferents per a programes diferents:\n<?programa1 ... ?>\n<?programa2 ... ?>\nEl contingut de les dades pot ser qualsevol cosa que tingui sentit per al programa que les llegirà, i per tant no necessàriament ha de tenir sentit per als processadors XML. Com que no formen part del document XML en si poden aparèixer en qualsevol lloc del document excepte en mig d’una etiqueta.\nL’especificació és una línia que defineix una manera d’identificar que un document és XML per mitjà d’una etiqueta especial anomenada declaració XML, que serveix per indicar que un document és XML.\nLa declaració XML és opcional, tot i que es considera recomanable, ja que té alguns atributs que poden ajudar als programes a entendre característiques del document com el codi de caràcters que s’hi fa servir, la versió d’XML que s’ha usat, etc.\nSi la declaració és present s’ha de tenir en compte que:\nLa declaració ha d’estar en la primera línia del document i ha de començar en el primer caràcter del document.\nHa de tenir obligatòriament l’atribut version, que actualment només pot ser 1.0 o 1.1.\nPer tant, la declaració següent és errònia perquè deixa una línia en blanc, deixa espais davant de la declaració i no defineix l’atribut version:\nCom que la declaració és opcional podem trobar documents XML sense aquesta declaració. Si això passa els programes que llegeixin el document han de suposar que és tracta d’un document XML versió 1.0.\nAtributs de la declaració XML\nLa declaració XML permet definir tres atributs (taula).\nTaula: Atributs de la declaració XML\nversion Defineix quina versió d’XML s’ha fet servir per crear el document. Sí\nencoding Defineix el codi de caràcters que fa servir el document. No\nstandalone Serveix per indicar si el document no depèn d’altres documents. No\nL’atribut version serveix per especificar mitjançant quina versió d’XML s’ha d’interpretar el document. Tot i que la definició XML és opcional, si hi és aquest atribut esdevé obligatòria.\nPer tant, si es carrega el document següent en un programa li estem donant instruccions que ha de tractar el document segons les especificacions de la versió 1.1.\nSi no s’especifica la definició o bé el valor és incorrecte els programes poden ignorar el que hi hagi i suposar que la versió és la 1.0. Per tant, els dos documents següents han de ser interpretats com a 1.0:\n<?xml version="1.9" ?>\nL’atribut encoding permet definir amb quin codi de caràcters s’han codificat les dades.\nPer defecte tots els programes que llegeixin XML han de poder interpretar els codis de caràcters que estiguin en UTF-8 i UTF-16 i fins i tot detectar en quina de les dues codificacions està fet el document. Això implica que si el document està creat amb alguna d’aquestes codificacions no caldria especificar l’atribut encoding. Tot i això, per motius de llegibilitat del document sovint s’hi especifica igualment.\nCom que l’estàndard ASCII és un subconjunt d’UTF-8 els documents que estiguin en ASCII tampoc no requereixen cap declaració.\nEn canvi, si el document segueix alguna altra codificació l’atribut s’ha d’especificar explícitament. Per un document creat fent servir el codi de caràcters ISO-8859-15 és obligatori tenir definit l’atribut que indiqui el codi de caràcters que s’ha fet servir:\nEs poden fer servir les abreviacions de codis de caràcters de la taula.\nTaula: abreviacions de codis de caràcters acceptades per l’XML\nCodis de caràcters\nUnicode UTF-8, UTF-16, ISO-10646-UCS-2, i ISO-10646-UCS-4\nASCII i variants ISO-8859-1, ISO-8859-2, …, ISO-8859-n\nJIS X-0208-1997 ISO-2022-JP, Shitf_JIS, EUC-JP\nVegeu la definició de codificacions de l’IANA en la secció “Adreces d’interès” del web del mòdul.\nPer a altres codis de caràcters es recomana fer servir els noms que defineix l’IANA (www.iana.org/assignments/character-sets).\nSi a pesar d’això el codi de caràcters que es fa servir no està en la llista s’ha de fer començar el nom amb x-.\nEls documents d’esquemes poden fer que algunes de les etiquetes les hagin de tractar de manera diferent els programes. Per exemple, definint atributs per defecte en algunes etiquetes i que, per tant, no cal que siguin específicament declarades en el document XML.\nEn la definició del vocabulari es pot definir que l’element <persona> té un atribut versió que per defecte és home. En crear el document es podria definir l’etiqueta sense especificar-ne l’atribut perquè el seu valor està implícit.\nSi un programa tracta aquest document ha de tenir en compte aquest valor, i per tant haurà de llegir el document que declara els atributs per defecte.\nAmb l’atribut standalone s’està definint si el document XML es pot entendre per si sol o bé necessita que sigui interpretat amb l’ajuda d’algun altre document, i per aquest motiu només té dos valors possibles (taula).\nTaula: Valors possibles de l’atribut standalone\nyes El document és complet, i per tant no li calen altres documents per ser interpretat.\nno El document no es pot entendre per si sol i n’hem de llegir d’altres per poder-lo entendre.\nSi l’atribut no s’especifica es considera que el valor de l’atribut standalone és no.\nEls programes d’ordinador no tenen la flexibilitat que tenen els documents XML i necessiten poder treballar amb dades molt pautades, i precisament això és el que intenten fer les regles, evitar que hi hagi parts del document que puguin ser malinterpretades. Com que la majoria de les vegades els documents XML hauran de ser llegits per programes, és molt important tenir alguna manera de comprovar que aquest document XML estigui ben format, que compleixi les regles de definició de l’XML.\nComprovar la correctesa d’un document XML és comprovar que no s’incompleix cap de les regles de definició d’XML.\nEs considera que un document és correcte o ben format si compleix amb les regles bàsiques de creació d’un document XML. En general podem definir aquestes regles com:\nNomés hi pot haver un element arrel.\nTotes les etiquetes que s’obren s’han de tancar.\nLes etiquetes han d’estar imbricades correctament.\nEls noms de les etiquetes han de ser correctes.\nEls valors dels atributs han d’estar entre cometes.\nNomés hi pot haver un element arrel\nEn l’exemple següent:\nL’etiqueta que surt en primer lloc, <persona>, i que acaba al final, </persona>, defineix el que s’anomena element arrel. Que un element sigui arrel vol dir que no té cap element que el contingui.\nEn aquest altre exemple, en canvi, hi ha dos elements arrel, <persona> i <gos>:\nEs pot veure que tant <persona> com <gos> no tenen cap element que els contingui i, per tant, tots dos són elements arrel. Això fa que no sigui un document XML ben format.\nTambé hi ha dos elements arrel en el cas en què les etiquetes siguin les mateixes. Per exemple, en el document següent tenim dos elements arrel <persona>. Per aquest motiu, aquest document tampoc no està ben format.\n<cognom> Pérez </cognom>\nSi es volgués convertir el document anterior en un document ben format es podria posar un element nou que englobés els dos elements arrel. Per exemple, s’hi s’afegeix un element <persones> i així es crea un document XML ben format:\nTotes les etiquetes que s'obren s'han de tancar\nA pesar del que passa en altres llenguatges de marques, per exemple HTML, en l’XML totes les etiquetes que s’obrin han de ser tancades obligatòriament. Per tant, aquest seria un exemple correcte:\nMentre que aquest no seria correcte:\nEn alguns moments pot caldre reflectir alguna dada que no requereixi cap valor. Per exemple si tenim una llista d’alumnes ens podria interessar marcar quin d’ells és el delegat. Per definir-ho no ens caldria cap dada, ja que simplement l’alumne que tingui l’etiqueta <delegat> és el delegat. Per tant, per definir que en Frederic Pi és el delegat podríem estar temptats de fer això:\nAixò és incorrecte. Si obrim una etiqueta l’hem de tancar; per tant, hauríem de fer:\nO bé fer servir la versió de definició d’etiquetes buides acabant l’etiqueta amb ”/>”:\nLes etiquetes han d'estar imbricades correctament\nPer mantenir la jerarquia, l’XML defineix que les etiquetes no es poden tancar si encara hi ha alguna etiqueta que forma part del contingut que no ha estat tancada. Això és perquè no es permet que un element tingui una part del seu contingut en un element i una altra part en un altre, ja que això trencaria la jerarquia de dades.\nTancament de les etiquetes desordenat\nAlguns llenguatges de marques sí que permeten obrir i tancar les etiquetes en qualsevol ordre. Per exemple, les versions anteriors a la 4.0 d’HTML permetien obrir i tancar etiquetes en l’ordre que volguéssim sempre que s’acabessin tancant totes. Però a partir de la versió 4.0 ja no s’accepta, a pesar que la majoria dels navegadors sí que ho permeten.\nPer tant, sempre que s’obri una etiqueta dins d’un element aquesta ha de ser tancada abans d’acabar l’element. Aquest exemple seria correcte perquè l’element <persona> en el seu contingut obre l’etiqueta <nom> però abans d’acabar tanca </nom>:\nEn canvi, si les etiquetes no es tanquen en l’ordre correcte, encara que es compleixi la regla que s’han de tancar totes les etiquetes, no tenim un document XML ben format.\nEn l’exemple que acabem de veure s’està creant un bucle, ja que <persona> conté una part de <nom> i alhora <nom> conté una part de <persona>. Això trenca amb la idea de jerarquia de les dades que defineix l’XML i, per tant, no és correcte.\nPer facilitar l’escriptura de documents XML i minimitzar els possibles errors per culpa de tancaments desordenats, els documents XML sovint es representen sagnats.\nLa sagnia consisteix a escriure les etiquetes de manera sagnada en funció del seu nivell dins de la jerarquia d’elements. A mesura que es van creant nous elements dins d’altres es van afegint sagnies.\nEn l’XML la sagnia es fa en funció del nivell en què es troben les dades. En general cada un dels fills fa que s’incrementi la sagnia. Per exemple:\nFent servir la sagnia és més fàcil determinar en quin lloc s’ha produït un error de tancament d’etiquetes i arreglar-ho. Com podem veure en l’exemple següent, si les etiquetes de tancament no estan en la mateixa columna que les d’obertura és que hi ha alguna cosa malament.\nEn general la sagnia aporta dos avantatges a l’XML:\nEvita que es cometin errors a l’hora de tancar les etiquetes.\nFa que sigui més fàcil veure d’un cop d’ull l’estructura del document.\nEls noms de les etiquetes i dels atributs han de ser correctes\nL’XML dóna molta llibertat a l’hora de definir els noms dels elements i dels atributs però no tots els noms són acceptats.\nVegeu l’apartat “Noms vàlids XML” en aquest apartat.\nEn general tindrem que:\nNo es poden posar noms que no comencin per un caràcter ni que continguin espais dins seu.\nLes majúscules i les minúscules són caràcters diferents per a XML.\nEls noms que comencin per xml estan reservats.\nPer tant, seria incorrecte escriure una etiqueta en minúscules i després tancar-la en majúscules:\nEls noms han d’estar escrits de la mateixa manera:\nNo es poden posar etiquetes ni atributs que comencin per xml perquè estan reservats per l’estàndard.\nEn l’exemple següent hi ha un error en el nom de l’atribut xmlpersona:\nDe fet, ja hi ha alguns atributs començats per xml que s’accepten perquè estan definits en l’estàndard i tenen un objectiu clar: xml:lang, xml:space, xmlns…\nEls valors dels atributs han d'estar entre cometes\nEn l’apartat de definició dels atributs ja es comenta que els valors dels atributs sempre han d’anar entre cometes però podem resumir el més important.\nVegeu l’apartat “Atributs” en aquest apartat.\nNo importa quines siguin les cometes que fem servir, dobles o simples, sempre que es facin servir les mateixes en obrir que en tancar.\n<classe nom="Llenguatges de marques">\n<alumne delegat='si'>Pere Garcia</alumne>\nEncara que el contingut dels atributs sigui un valor numèric s’ha d’especificar entre cometes:\n<alumne nota="10">Maria Puigdevall</nom>\nPodem especificar tants atributs com calgui en una etiqueta i l’ordre en què s’especifiquen no té importància:\n<alumne nom="Pere" cognom="Garcia" nota="6" />\nL’objectiu principal de totes les regles que defineixen com s’ha d’escriure un document XML és definir una manera d’escriure documents XML que puguin ser llegits i interpretats per un programa d’ordinador. Els programes encarregats de detectar si un document XML està ben format s’anomenen genèricament processadors d’XML, tot i que sovint es fa servir el nom en anglès, parsers.\nUn processador d’XML és un programa que permet llegir un document XML i accedir-ne a l’estructura i a les dades que conté. Això ho fa llegint tot el document i determinant quins dels caràcters que hi troba són part de l’estructura i quins són realment dades.\nXML permet definir etiquetes sense cap restricció però en canvi els programes només poden funcionar amb les etiquetes per les que han estat programats.\nPer aquest motiu els programes defineixen quins conjunts d’etiquetes accepten. La llista d’etiquetes que s’accepten en un determinat llenguatge s’anomenen vocabularis.\nGeneralment es classifiquen els processadors en dos grans grups:\nProcessadors validadors: comproven que els documents compleixen les regles i restriccions definides en l’esquema del vocabulari que se li ha associat i, per tant, a part de la lectura del document XML també han de llegir l’esquema contra el qual es valida.\nProcessadors no validadors: revisen que el document no incompleix cap de les normes i regles de definició d’XML.\nSempre que no es tingui cap tipus de definició de vocabulari associada a un document XML es pot comprovar que el document és correcte amb un processador que no validi. En canvi, si tenim el vocabulari ens caldrà un processador validador que comprovarà que realment estem posant les etiquetes allà on poden anar.\nLes tasques dels processadors XML es fan sempre abans que el programa que ha de treballar realment amb les dades faci res. Per tant, el procediment sempre serà: primer passar el document pel processador, i si el processador el dóna per correcte llavors es passa al programa (figura).\nFigura Pas d’un document XML a un programa\nA part de definir com s’han de crear els fitxers XML l’especificació també defineix com han de reaccionar els processadors davant dels diferents errors que puguin detectar en tractar un fitxer XML. Els errors es defineixen en dos grups:\nErrors lleus: els errors lleus són els que incompleixen alguna de les regles definides com a recomanacions. Si algun document XML incompleix alguna recomanació l’analitzador pot continuar analitzant el document intentant recuperar-se de l’error.\nErrors greus: es generen quan s’incompleix alguna de les regles obligatòries de l’especificació. Es defineix que en cas de trobar algun error greu l’analitzador s’ha d’aturar immediatament i no continuar amb el procés d’anàlisi. En general qualsevol error que faci que el document no sigui “ben format” serà un error d’aquest tipus.\nUn cop s’ha creat un document XML normalment caldrà comprovar que aquest document està ben format segons les regles d’XML fent servir un processador XML.\nLa manera més senzilla de comprovar que un document està ben format és carregar-lo des d’un navegador. La majoria dels navegadors porten un processador XML incorporat i detecten automàticament que un document és XML i el comproven (figura).\nFigura Document correcte des d’un navegador\nEn cas de produir-se un error els navegadors mostren quin error s’hi ha produït i en quina línia es troba l’error (figura).\nFigura En carregar un document XML incorrecte en el navegador Google Chrome ens mostra els errors.\nEn comptes de fer servir un navegador web per comprovar els documents XML sovint es fa servir un processador. La majoria dels processadors formen part de biblioteques que els programadors poden usar des dels seus programes per carregar els documents XML i comprovar-los.\nA vegades els processadors porten utilitats que permetran comprovar ràpidament si un document està ben format o no sense haver de desenvolupar un programa per fer-ho.\nVolem destacar els processadors següents:\nlibxml2 forma part del projecte Gnome i és un processador de codi obert que està escrit en llenguatge C, però que es pot fer servir des de diferents llenguatges de programació com Perl, Ruby, Python, C#, PHP… i des de diferents sistemes operatius com Windows, Linux o Mac OS X. Està instal·lat per defecte en moltes de les distribucions de Linux.\nEntre les utilitats que inclou n’hi ha una que funciona des de l’entorn d’ordres, anomenada xmllint, que és un analitzador i validador de documents XML.\nEs pot comprovar si un document està ben format simplement especificant-lo com a paràmetre. Per validar el document següent:\n$ xmllint persona.xml\nSi el document és correcte mostrarà el document XML per pantalla (es pot evitar aquest comportament amb el paràmetre –noout):\nEn el cas que hi hagi algun error es mostrarà per pantalla i donarà informació sobre en quin lloc es troba i quin és l’error. Si modifiquem el document XML perquè tingui un error:\nQuan el passem a xmllint, aquest ens informarà que hi ha un error a la línia 3 perquè ha detectat que s’ha tancat <persona> però <nom> no està tancat.\npersona.xml:3: parser error : Opening and ending tag mismatch: nom line 2 and persona\npersona.xml:4: parser error : Premature end of data in tag persona line 1\nTambé es pot fer servir xmllint per veure que els processadors intenten arreglar els errors lleus que hi pugui haver en un document. Si eliminem la declaració XML del document (no estem provocant cap error, ja que la declaració només és una recomanació):\nEn passar-lo per xmllint es pot veure que ha detectat que la declaració no hi era i l’ha afegida automàticament:\n$ xmllint  persona.xml\nSota el nom de Xerces la fundació Apache manté un projecte de desenvolupament de processadors XML per a Java, C++ i Perl. Es tracta d’una de les biblioteques més usades per processar XML.\nXML Parser Toolkit són unes biblioteques per fer servir XML des del llenguatge de programació C i Perl.\nEl fan servir alguns dels programes d’ús comú, com per exemple el servidor web Apache HTTP Server, el navegador Mozilla i les biblioteques dels llenguatges de programació Perl, Python i PHP.\nPer exemple, en l’Ubuntu, en instal·lar la biblioteca, també s’instal·la un programa anomenat xmlwf que permet comprovar si un document està ben format des de la línia d’ordres. Si no diu res el fitxer està ben format.\n$ xmlwf persona.xml\nEn cas d’error mostrarà en quina línia i columna es troba:\npersona.xml:3:2: mismatched tag\nMicrosoft XML Parser és la biblioteca oficial per processar XML en molts dels productes de Microsoft. Es tracta d’una biblioteca inclosa en el sistema operatiu, i per tant s’actualitza via Windows Update. N’han anat sortint versions en què s’han anat afegint funcions. Es pot fer servir des de diferents llenguatges de programació, llenguatges de scripts o des de llenguatges basats en .NET\nFan servir MSXML productes com Microsoft Windows, Microsoft Office, Microsoft SQL Server, Microsoft Internet Explorer…\nMolts dels programes que processen XML en sistemes Windows solen fer servir aquesta biblioteca (especialment si treballen en .NET).\nCom que Internet Explorer fa servir aquesta biblioteca, simplement carregant un document XML amb Internet Explorer en realitat s’està comprovant amb l’MSXML (figura).\nFigura L’Internet Explorer ens permet comprovar documents amb l’MSXML\nEstructura dels documents XML\nUna de les coses que s’aconsegueixen en forçar que els documents XML segueixin les seves normes és fer que la informació que conté un document s’organitzi de manera jeràrquica.\nPer exemple, tenim el document XML següent:\n<?xml versión="1.0" encoding="UTF-8" ?>\nGràcies al fet que les etiquetes tenen noms clars es pot deduir que en aquest document XML s’estan definint estructuradament una classe amb un professor i tres alumnes. Hi ha un element arrel anomenat <classe> que engloba tot el document, i com a contingut té dos elements més, <professor> i <alumnes>.\nEls elements que formen part del contingut d’un node s’anomenen fills.\nPer tant, <classe> té dos elements fills: <professor> i <alumnes>. Alhora l’element <professor>, que és un dels fills de <classe>, també té dos fills: <nom> i <cognom>.\nPer equivalència amb les relacions humanes els fills dels fills d’un element s’anomenen néts. Per tant, <nom> i <cognom> són fills de <professor> i néts de classe:\nclasse -> professor -> nom\nEls elements <nom> i <cognom> no tenen nodes fills sinó que contenen les dades del document. En aquest cas dues cadenes de text Marcel i Puig. Els nodes finals s’anomenen fulles i generalment seran sempre nodes de dades.\nEs pot fer amb l’altre element fill de <classe>, però amb la diferència que té un nivell més. Ara es té una estructura més llarga:\nclasse -> alumnes -> alumne -> nom\nTots els elements que pengen d’un element s’anomenen genèricament descendents. Per tant, <alumnes>, <alumne> i <nom> són descendents de <classe>.\nCom podeu veure, és relativament senzill interpretar quines són les dades que conté un document XML, gràcies al fet que es fan servir noms d’etiqueta que tenen sentit per a un possible lector, però també es pot deduir quina és l’estructura de les dades i les relacions que tindran aquestes dades entre si.\nEl fet de seguir aquest sistema, que és flexible en determinats moments, però estricte en d’altres, ens permet fer que un programa d’ordinador també pugui de manera senzilla detectar ràpidament quina part del document són dades i quina són metadades, però que a més pugui establir quina és la relació entre aquestes dades.\nEn cap moment no s’ha especificat res sobre de quina manera s’hauran de representar les dades, ja que aquesta és una de les bases fonamentals del llenguatge XML:\nL’objectiu de l’XML és representar l’estructura de les dades oblidant-se de com es farà per presentar-les.\nRepresentació en forma d'arbre\nUna de les característiques interessants dels documents XML és que, en tenir les dades estructurades de manera jeràrquica, aquesta jerarquia fa que els documents XML puguin ser representats gràficament en forma d’arbre. La representació en arbre és útil per comprendre millor quina és l’estructura del document.\nPer fer la representació en forma d’arbre sempre es parteix del node arrel, que en aquest cas és classe (figura).\nFigura Es comença definint l’element arrel com un node\nA partir del node arrel s’agafen els fills directes que tingui i s’enllacen amb un arc, que serà el que indicarà la relació que tenen els elements entre ells (figura).\nFigura S’hi afegeixen els fills\nEl mateix es pot fer per als fills de cada un dels nodes. Per exemple, professor té dos fills més, que són nom i cognom, que s’uniran a professor amb un arc per indicar que tenen relació pare/fill (figura). De fet, es fa és més o menys el mateix que es faria per crear un arbre genealògic.\nFigura I es va fent el mateix amb els fills de cada node\nCom que ja no hi ha més elements per representar ja es poden pintar els nodes de dades, que generalment s’acostumen a pintar de color diferent (figura).\nFigura Els nodes de dades se solen representar d’una manera especial\nSi se segueix amb el document el resultat serà un arbre que ens representarà gràficament la relació que tenen els elements entre si (figura).\nFigura El resultat és la representació del document en forma d’arbre\nRepresentació en els navegadors\nUna representació semblant a la de l’arbre és la que han triat els navegadors per mostrar els documents XML si no els diem el contrari afegint-hi algun full d’estil. Quan s’obre un document XML en un navegador automàticament és representa sagnat i s’hi afegeixen nodes davant dels elements pares que permetran mostrar o ocultar els fills que conté (figura).\nFigura Representació d’un document XML correcte en el navegador Mozilla Firefox\nEn la vista d’arbre que ofereixen els navegadors normalment es poden plegar i desplegar els fills dels nodes per poder personalitzar la visió del document (figura).\nFigura El Firefox permet plegar i desplegar els fills dels nodes\nCreació de documents XML\nGeneralment els documents XML seran creats i llegits des de programes d’ordinador, però algunes vegades també es pot donar el cas que s’hagin de crear manualment.\nCrear un document XML manualment és molt més senzill que crear un document binari, ja que no difereix gaire de crear un document de text. Simplement necessitem un editor de text que no enriqueixi el text.\nEls documents XML són simples documents de text en què hem afegit algun tipus de metadades. Això permet que la creació de documents XML sigui realment senzilla, ja que es pot fer servir l’editor més senzill que trobem en qualsevol sistema operatiu per poder crear els nostres documents.\nA pesar d’això també han aparegut tota una sèrie d’editors pensats per fer l’edició de documents XML més senzilla. Aquests editors són molt diversos i normalment ofereixen diferents tipus d’assistència per evitar que es cometin errors en crear el document: comprovar interactivament que el document sigui correcte, aconsellar etiquetes, acolorir…\nMolts dels editors especialitzats en XML normalment a més ofereixen moltes altres funcions com generació d’expressions XPath, creació de fulls d’estil, depurament de transformacions, peticions XQuery…\nL’única cosa que cal per crear un document XML és un editor de text normal i corrent que no enriqueixi el text. Els documents de text que permeten afegir format, com ara text en negreta, canviar el tipus de lletra, etc., com per exemple el Microsoft Word, l’OpenOffice.org Writer, el LibreOffice Writer, etc., solen generar documents de text enriquit que es concentren més en com s’ha de mostrar el document que no pas en les dades. A més, aquests programes sovint canvien automàticament alguns caràcters del text que anem escrivint (les cometes solen ser canviades sistemàticament) per fer-lo més “agradable” a l’hora d’imprimir-lo, com es pot veure a la figura.\nFigura L’OpenOffice.org modifica les cometes per fer-les més “agradables” a la vista\nPer tant, aquests programes no són els més adequats per crear documents XML, tot i que és possible fer-ho si a l’hora de desar els documents es va amb compte d’especificar que es volen desar com a “text” (figura).\nFigura Es pot fer servir l’OpenOffice.org però anant en compte a l’hora de desar el document\nLa realitat és que per crear documents XML van molt millor els editors més senzills (Gedit, Bloc de notes, vi, etc.) que no pas els editors de text enriquit.\nEn alguns casos aquests editors més senzills fins i tot detecten que s’està editant un document XML i marquen amb colors diferents les etiquetes i les dades (figura).\nFigura L’editor Gedit de Gnome fins i tot ofereix acoloriment de text en els fitxers XML\nEditors amb suport d'XML\nTambé hi ha un segon grup d’editors que, tot i no estar especialitzats en XML, hi poden tenir suport. Aquests editors normalment ofereixen una assistència mínima en editar XML, com acoloriment de les diferents seccions, comprovació automàtica del tancament de les etiquetes, o fins i tot se’n poden trobar amb autocompletament d’etiquetes.\nAquest comportament és típic dels editors pensats per ser usats pels programadors, com per exemple el Komodo IDE (figura), l’Eclipse o el Visual Studio.\nL’èxit d’XML ha fet que alguns editors hagin incrementat el seu suport per a XML. Per exemple, les noves versions del Microsoft Visual Studio a més de l’autocompletament d’etiquetes permeten definir esquemes i depurar transformacions des de l’entorn integrat (figura).\nFigura Molts dels editors dels entorns de programació ofereixen suport als documents XML. Per exemple, l’editor de codi obert Komodo\nFigura Microsoft ha afegit al Visual Studio suport per a diverses tecnologies XML\nEditors especialitzats en XML\nTot i que amb els altres editors es poden crear documents XML, quan es vol fer un treball professional normalment s’ha d’acabar recorrent a un editor d’XML. Aquests editors estan dissenyats específicament per crear i editar documents XML de manera eficient i senzilla minimitzant les possibilitats que es cometin errors en l’edició. Generalment tots ofereixen un entorn amb un grup de finestres amb diferents vistes de l’edició per intentar que no es perdi la visió de conjunt del que s’està creant (figura).\nFigura L’editor EditiX ens va creant l’arbre XML alhora que anem escrivint el document XML\nA part de la simple edició de documents XML, aquests editors permeten tot un ampli ventall de tasques amb les tecnologies relacionades amb l’XML com editar documents XML restringint les etiquetes que s’hi fan servir; definir un esquema; crear, convertir i depurar esquemes XML, XSLT, XPath, XQuery, WSDL, SOAP… També ofereixen ajudes per crear documents en vocabularis basats en XML, etc.\nUna característica interessant que ofereixen és la possibilitat d’editar documents XML des de diferents punts de vista. El més corrent sol ser fer-ho per mitjà de vistes de text o diferents vistes gràfiques destinades a amagar la complexitat dels documents XML als usuaris que fan servir l’editor.\nL’edició en la vista de text (figura) no sol diferir gaire de l’edició en un editor normal i corrent però sol oferir alguns avantatges afegits com autocompletament d’etiquetes, acoloriment del contingut, finestres d’ajuda que mostren l’estructura del document, etc.\nFigura La vista de text és la ideal per editar els arxius veient clarament el format XML\nA part de l’edició de text molts editors també ofereixen vistes que permeten que un usuari pugui crear dades estructurades de manera gràfica sense que l’usuari ni tant sols sàpiga que està creant un document XML. Una d’aquestes vistes alternatives és la vista d’arbre (figura). La vista d’arbre permet editar el document visualment a partir de l’estructura jeràrquica, de manera que no cal que el que està creant l’arbre conegui la sintaxi XML. Mentre l’usuari va creant l’arbre, l’editor en segon pla va creant el document XML corresponent (figura i figura).\nFigura L’usuari va creant les dades de manera estructurada i l’editor crea el document XML per ell\nFigura La vista d’arbre està pensada per als usuaris que no coneixen el llenguatge XML\nAmb la mateixa idea de fer que l’edició dels documents XML sigui més fàcil per als usuaris no especialitzats, també hi ha la vista de graella (figura).\nFigura Vista de graella\nLa vista de graella està pensada per a usuaris que només es volen preocupar de l'estructura del document i no de com crear-lo.\nLa popularitat del format XML està fent que el nombre d’editors especialitzats no pari de créixer i que per tant es faci difícil triar l’editor que s’adapta més bé a les necessitats que un usuari pugui tenir. Afortunadament la majoria dels editors comercials ofereixen un temps de prova abans d’obligar a comprar el programa, i per tant es poden provar diferents editors abans de decidir quin és el que s’adapta millor a les necessitats que tenim. A més, alguns editors tenen versions limitades gratuïtes o de codi obert que en molts casos poden ser suficients per satisfer les necessitats que es puguin tenir.\nEntre els editors comercials normalment es destaquen aquests:\noXygen XML Editor (Windows, Linux, Mac OS X)\nEditix XML Editor (Windows, Linux, Mac OS X)\nAltova XMLSpy XML editor (Windows)\nStylus Studio (Windows)\nXMLmind (Windows, Linux, Mac OS X)\nLiquid XML Studio (Windows)\nSerna Enterprise XML Document Editor (Windows, Linux, Mac OS X, Solaris)\nTambé n’hi ha algun de codi obert però sovint les seves prestacions solen ser molt inferiors:\nSerna Free Open Source XML Editor (Windows, Linux, Mac OS X, Solaris)\nEdició d'un document amb un editor d'XML\nSi bé és cert que podem crear un document XML amb un editor de text senzill, en aquest exemple es farà servir un editor especialitzat per veure’n les possibilitats. L’editor que farem servir per fer l’exemple és l’oXygen XML Editor.\nA pesar que en l’exemple es fa servir l’oXygen, la majoria dels editors funcionen d’una manera similar.\nGeneralment els editors d’XML divideixen l’espai de treball en finestres en les quals cada una té una funció específica (figura).\nFigura Pantalla inicial de l’oXygen XML Editor, on es veuen els diferents espais\nA l’hora de crear un fitxer nou els editors d’XML normalment obren un assistent (figura) que permet crear fitxers de diversos tipus, de manera que un cop se n’ha triat un se li afegiran automàticament les opcions predeterminades del tipus de document triat.\nFigura Assistent de creació d’arxius de l’oXygen\nEn crear un document XML s’afegeix la capçalera XML automàticament (figura).\nFigura Document XML creat per l’assistent d’oXygen\nEn editar, un assistent anirà oferint les possibilitats que consideri adients en cada punt concret (figura).\nFigura L’assistent d’edició ens indicarà què podem escriure en cada punt del document\nL’edició no té secrets, ja que el que es fa és simplement editar un arxiu de text amb un assistent que ofereix ajudes diverses:\nEn crear una etiqueta d’obertura es crearà l’etiqueta de tancament.\nMentre s’edita es van comprovant automàticament els errors que sorgeixin.\nHi sol haver alguna manera de comprovar si un document està ben format, i un panell en el qual es poden veure els errors (figura).\nFigura Els errors en l’edició\nEls errors en l'edició són detectats per l'editor en escriure o bé quan li demanem que comprovi si el document està ben format.\nCreació d'un document XML\nA l’hora de definir un grup de dades dins d’un document XML caldrà fer tota una sèrie de passes prèvies que permetin determinar quines són les dades que cal emmagatzemar i posteriorment definir quina és l’estructura que s’ha de donar a aquestes dades; així doncs:\nDeterminació de les dades\nDeterminació de l’estructura\nÉs bàsic abans de crear un document XML saber clarament quines són les dades que s’hi han de posar. Sovint això estarà determinat pel programa que les ha de processar posteriorment, però també pot ser que el programa encara no existeixi i per tant la creació estigui determinada per les preferències personals, etc.\nSi no s’està restringit per un programa que ja determini l’estructura del document XML, el que cal és determinar quines dades s’han d’emmagatzemar. Hi ha molts sistemes per fer-ho però el més senzill és fer una llista amb totes les dades rellevants.\nDocument XML per desar les dades d'una biblioteca\nVolem crear una biblioteca en què es puguin emmagatzemar les dades dels llibres que hi ha. Per tant, fem una llista amb les dades que considerem que cal que hi hagi en el document:\nUna altra de les coses bàsiques a l’hora de crear un document XML és definir quina és l’estructura que hauran de tenir les dades. Aquesta estructura estarà determinada per les necessitats del programa o de la persona que farà servir el document XML. De manera que les possibilitats a l’hora de crear una estructura per a les dades que volem fer servir són moltes: agrupar per autor, agrupar per llibre, agrupar per editorial, agrupar per tema…\nTria de l'estructura\nEn una biblioteca podem fer l’estructura des de molts punts de vista. Per exemple, la podem fer a partir dels autors, com aquesta:\nO bé podem la fer a partir dels llibres d’aquesta manera:\nLa primera opció és la que s’ha triat per desenvolupar en aquest exemple.\nCreació del document\nCom que s’ha triat una forma d’organització per mitjà dels autors el que queda clar és que el primer nivell serà una llista d’elements autor més o menys d’aquesta manera:\nDins de cada un dels autors les dades per emmagatzemar seran les dades personals de l’autor (el nom, en el nostre exemple) i la llista dels llibres de l’autor que hi hagi a la biblioteca:\n<nom>Nom de l'autor</nom>\nEn el darrer nivell es poden posar totes les dades del llibre obviant les que ja estan implícites perquè estan en etiquetes superiors. En l’exemple, l’autor ja queda implícit i, per tant, no cal tornar-lo a posar:\n<titol>Titol del llibre</titol>\n<any>Any en què s'ha publicat el llibre</any>\n<idioma>Idioma en què està escrit</idioma>\n<nom>Nom de l'editorial</nom>\n<col·lecció>Adreça de l'editorial</col·lecció>\nEn qualsevol moment es poden crear nivells nous per agrupar les dades segons algun sentit que interessi marcar. Per exemple, això és el que s’ha fet amb l’editorial.\nCal tenir en compte que no cal preocupar-se gaire que en alguns casos les dades no tinguin sentit o no existeixin, ja que en crear el document simplement es poden eliminar les etiquetes que no tinguin sentit.\nPer tant, el document final podria quedar d’aquesta manera:\n<nom>John Ronald Reuel Tolkien</nom>\n<nom>Edicions de la magrana</nom>\n<titol>El senyor dels anells</titol>\n<subtitol>La germandat de l'anell</subtitol>\n<nom>Editorial Vicens Vives</nom>\nAmb l’XML es poden crear les etiquetes amb el nom que es vulgui en el moment en què calguin. Per tant, si tenim un document XML en el qual s’especifiquen habitacions de lloguer podríem tenir un document com aquest:\nO sigui, en el darrer document XML estem especificant que hi ha una habitació de lloguer al carrer Escudillers, 23, de Figueres, que té forma rectangular amb dues finestres i una porta.\nTot i que teòricament el sistema sembla perfecte, en la pràctica té el problema que el llenguatge humà és limitat i a més moltes vegades hi ha paraules amb diversos sentits. Això fa que molta gent pugui triar les mateixes etiquetes per fer coses que siguin totalment diferents. Això d’entrada no és un problema fins que cal mesclar documents que vénen de fonts diferents.\nEn XML hi ha un llenguatge estàndard que serveix per representar gràfics 2D anomenat SVG (scalable vector gràfics). SVG serveix per definir gràfics vectorials, o sigui, que en comptes de desar els punts que formen les imatges es desa com s’han de dibuixar els gràfics fent servir figures geomètriques. Es poden veure alguns dels elements de SVG a la taula.\nTaula: Etiquetes bàsiques del format SVG per representar gràfics vectorials\nsvg L’arrel dels documents SVG.\nline Serveix per definir línies d’un punt a un altre.\nrect Es fa servir per definir rectangles a partir de quatre punts.\ncircle Amb aquesta etiqueta es defineixen cercles a partir del punt central i el radi.\nellipse Ens permet definir el·lipses a partir del punt central i els dos radis.\npolygon Permet dibuixar polígons a partir d’un grup de punts.\nPer tant, algú podria decidir que el document milloraria si s’hi afegeix una representació gràfica de la planta dels pisos, i que es pot aprofitar el llenguatge SVG per fer-la.\nCom que l’XML permet mesclar diferents vocabularis, simplement s’hi afegeix. Per fer-ho més estructurat, a més, s’ha definit l’etiqueta <imatge>:\n<rect x="0" y="0" width="30" height="60" />\nPer un a lector humà en llegir-ho no hi hauria cap problema perquè ràpidament pot detectar que la imatge està dins de l’element <imatge>, però per a un programa, determinar si l’etiqueta és del vocabulari original o bé d’SVG, és pràcticament impossible. Això vol dir que cal algun sistema de poder definir a quin vocabulari pertanyen les etiquetes. Això és el que fan els espais de noms.\nEls espais de noms permeten mesclar llenguatges XML en el mateix document i a més definir clarament a quin vocabulari pertany cada etiqueta.\nEl que fan els espais de noms és canviar els noms de les etiquetes perquè siguin únics. En teoria es podria fer servir qualsevol combinació de caràcters, però com que hi hauria el mateix problema que amb les etiquetes (algú les podria usar) generalment es fa per mitjà d’una URL (uniform resource locator), que en principi són úniques. Així es podria definir una URL única al nostre espai de noms (http://www.ioc.cat/lloguer) i la URL d’SVG (http://www.w3.org/2000/svg) davant dels elements i el programa ja no tindrà problemes per determinar a quin vocabulari pertany cada etiqueta:\n<http://www.w3.org/2000/svg:rect x="0" y="0" width="30" height="60" />\nCom que escriure totes les adreces cada vegada fa que es perdi la llegibilitat del document, l’XML permet definir àlies per a cada una de les URL. Els àlies es defineixen per mitjà de l’atribut xmlns dels elements i s’hereten a tot el contingut de l’element:\nPer tant, si es defineix l’atribut en l’arrel del document s’heretaran els àlies a tots els elements del document.\n<svg:rect x="0" y="0" width="30" height="60" />\nxmlns també permet un espai de noms per defecte i que, per tant, podrà fer servir les seves etiquetes sense àlies. Si algun atribut xmlns no defineix àlies es converteix en l’espai de noms per defecte.\nCom que els espais de noms es poden definir en qualsevol element, una possibilitat alternativa seria definir els espais de noms en les etiquetes adequades:\nD’aquesta manera tots els descendents de l’element <lloguer> segueixen el seu espai de noms excepte quan s’arriba a l’element <svg>, el qual canvia l’espai de noms per defecte per a ell i per als seus descendents.


Euro fort, dòlar dèbil - Any 2004 - Articles\nEuro fort, dòlar dèbil\nEl 2004, l’euro va registrar el valor més alt de la seva curta història davant el dòlar nord-americà. L’últim dia de l’any un euro equivalia a 1,36 dòlars, i la moneda europea havia reforçat també posicions respecte a la lliura esterlina (70,67 penics) i el ien (140), culminant així un cicle alcista d’un any i mig. El que mesos enrere confortava els responsables financers europeus, esdevenia ja un motiu clar de preocupació per les conseqüències que tenia en l’economia.\nDavant la puja regular del preu del petroli dels tres primers trimestres del 2004, l’enfortiment de l’euro va actuar positivament sobre els costos industrials i domèstics derivats de les energies, ja que l’encariment del petroli quedava en bona part compensat per l’abaratiment del dòlar, la moneda que s’utilitzava per comprar aquest producte. Però la caiguda del dòlar tenia també efectes negatius, especialment per a les exportacions europees, que resultaven cada cop més cares al mercat americà i a d’altres països, com els asiàtics, que tenien les seves monedes vinculades al dòlar.\nTots aquests països invertien i exportaven en dòlars, de manera que assolien uns millors preus de venda i un renovat poder de creixement, aprofitant les seves pròpies àrees de lliure comerç, APEC i ASEAN. Els Estats Units van ajudar en el procés, fent el gruix de les seves inversions a l’Àsia, no només financeres, sinó també productives, en abocar-hi deslocalitzacions industrials –informàtica i automoció, preferentment– i de serveis –gestió comptable–, ajudant a conformar així mateix una àrea dòlar a més de mig món, mentre que l’àrea euro reduïa la seva influència al continent i a uns quants països africans, sobretot els 14 francòfons de l´Àfrica subsahariana, que el 2004 van abandonar definitivament el franc CFA per passar-se a l’euro.\nDonada la paritat euro-dòlar de l’any, no va ser estrany que els eurobons superessin els bonodòlars, com tampoc no ho va ser que el dòlar representés el 88,7% de les transaccions mundials en valors, després que al juny el nombre d’euros en circulació pel món fos de 63.000 milions per 57.827 milions de dòlars, en una proporció inversa a la de les inversions estrangeres directes. El 2004, el primer país del món a acollir reserves de divises estrangeres era el Japó, amb un total de 800.059 milions de dòlars. Taiwan era el tercer, amb 233.006 milions de dòlars acumulats en divises; l’eurozona el quart, amb 175.000 milions de dòlars, i Rússia el cinquè, amb un total de prop de 100.000 milions de dòlars. La Xina era el segon, i a mitjans del 2004 va declarar reserves per valor de 450.000 milions de dòlars. Als Estats Units, els actius en reserves sumaven molt menys i, a finals d’octubre, eren de 84.607 milions de dòlars, 11.465 milions d’euros i 14.643 milions de iens. Així, el dòlar continuava apareixent com la moneda de les inversions i de les reserves, i l’euro com la més significada en l’estalvi regulat. Finalment, l’euro va tancar l’any en les posicions més altes de la seva història, mentre que Amèrica començava a apuntar una política de dòlar fort, alhora que col·locava els tipus d’interès al 2,25%, un quart de punt per sobre dels d’Europa.


Anomena i desa...: Acceleració Flash a Ubuntu, finalment !\nLa darrrera actualització de Flash, la 10.2, incorpora acceleració per maquinari que permet reproduir fitxers H.264 d'alta definició (per exemple 1080p, a youtube). Si voleu provar-lo, actualitzeu el vostre sistema o instal·leu manualment des de la web d'Adobe i comproveu que teniu una tarja compatible. Això inclou les darreres NVidea, ATI, Intel, però també les noves APU d'AMD (series E i C) i dispositius específics com els Broadcom BCM70012 i BCM70015.\nEl meu PC és un Atom N270, amb gràfics Intel GMA950, que originalment no reprodueix vídeo d'alta definició. Però l'he ampliat amb una tarja CrystalHD, concretament la BCM70015, i he compilat els darrers controladors a partir del codi font. Amb això i la darrera versió del Flash ja tinc youtube en HD!\nHeu de saber, però, que el suport linux del Flash 10.2 encara és experimental i que per defecte està desactivada l'acceleració per maquinari. Per poder activar-la cal editar o crear un fitxer de configuració. Ho podeu fer amb:\n$ gksudo gedit /etc/adobe/mms.cfg\nQuan s'bri l'editor afegim les línies següents, desem i ja ho tenim.\nPodeu provar-ho, reproduïnt aquest vídeo. Això sí, assegureu-vos de canviar la resolució a 720p/1080p:\nEtiquetes de comentaris: BCM70015, Flash, Ubuntu


II Congrés de Dones: no ens hi volen - Les aigües turbulentes\nFa algunes setmanes em vaig assabentar, mitjançant un anunci al metro, de la propera celebració del II Congrés de Dones de Barcelona, auspiciat, no cal dir-ho, per les administracions públiques. No vaig tardar ni un minut a treure la llibreteta que duc sempre a sobre per anotar idees per al meu bloc, mentre pensava “Jordi, aquí hi ha tema”. Les preguntes que em sorgien espontàniament eren moltes: algú recorda res del I Congrés? Quines millores reals va representar per les dones? I pel conjunt de la societat? Quan costarà l’organització d’aquest II Congrés? I la pregunta del milió: admetran homes?\nDoncs ahir es va inaugurar el II Congrés de Dones de Barcelona i les informacions d’avui ens donen la resposta a la darrera de les preguntes: no, no han admès homes. Es miri com es miri, es tracta d’una discriminació, d’aquelles que tantes vegades elles denuncien i amb raó. L’organització de la trobada al·lega una raó logística (limitació d’aforament) i una altra de més “ideològica”: la necessitat de parlar lliurement. Perdonin-me, senyores organitzadores, però no ho entenc. Potser perquè sóc un home… De què parlaran que no puguin sentir-ho els homes? Quines idees, quins raonaments s’exposaran que no puguin ser considerats i acceptats o rebutjats per la meitat de la societat?\nPel que fa al Congrés en sí, res de nou: paperassa, càtering, currículum per unes quantes, medalleta per les administracions i una proposta “estrella”: demanar a l’ONU que gestioni una petició formal de perdó a totes les dones del món. Mesura transcendental i eficacíssima, sens dubte.\nSalvador Sostres, el controvertit articulista de l’Avui, amb qui discrepo sovint, va dir una vegada una cosa molt assenyada: la causa de les dones és la més noble i la més justa de la humanitat, però també la més mal defensada.\n18 d'octubre de 2009 a les 10:16 am\nA banda de dedicar el teu preuat temps a dir que els congresos de les dones no admeten homes, potser que ens dediquem a veure perquè tantíssimes entitats encara, no admeten dones o no les admeten ni al 50%. No començem la casa per la teulada.\nI també deia en Carlos Lomas un escriptor de Xixón que el feminisme és l’única revolució pacífica que s’ha esdevingut i encara s’esdevé, per cert a la jornada del 5 d’octubre a la biblioteca Bonnemasion on ell hi va assistir, els homes eren “admesos”, però de cent dones n’hi havien cinc. Així que insisteixo no comencem la casa per la teulada.


Salif Keita, cimera africana a Porta Ferrada\nEl cantant i compositor malià va captivar amb la seva veu majestàtica i el seu cançoner amb arrels en una nit que va tancar The Wailers amb els seus clàssics de Bob Marley\nSant Feliu de Guíxols - Dimecres, 31/07/2019 - 18:17\nLa música de Mali ha enamorat mig món, de Ry Cooder a Damon Albarn (Blur), passant per Ketama o el cubà Eliades Ochoa, i en el seu paisatge brilla una veu amb caràcter regi i no és una metàfora: Salif Keita és descendent del primer rei mandinga, Sundiata Keita, del segle XIII, si bé es va distanciar del seu llinatge quan, marginat per la seva condició d’albí, va triar convertir-se en ‘griot’, és a dir, trobador i cronista. I fins avui, que Keita continua delectant-nos amb el seu art musical i la seva veu daurada, que va lluir aquest dimarts a Sant Feliu de Guíxols.\nKeita ha fet saber que no gravarà més àlbums (tot i que sí, potser, cançons soltes), però el seu magisteri als escenaris seguirà mentre les seves condicions físiques i vocals l’hi permetin. Ara per ara, tot va bé: a Porta Ferrada va lluir poder i refinament en un repertori fet de bucles hipnòtics, assentat en una malla d’instruments acústics i elèctrics, amb andanades de ritme i aturades de malenconia.\nEl va acompanyar una banda àmplia, set músics i dues coristes, amb les quals va poder reflectir els matisos d’un so que, després dels seus successius experiments al llarg dels anys (diàlegs amb el pop i l’electrònica de resultats desiguals), va trobar el seu punt just en àlbums com ‘Moffou’ (2002) i ‘M’bemba’ (2005). És interessant observar que un artista que està a punt de complir els 70 apuntali el seu repertori en els assoliments de maduresa i no en el seu cançoner juvenil, que acostuma a ser el més habitual. Però hi ha una delicada tensió interior en peces com la mateixa ‘M’bemba’, que significa ‘avantpassat’, en la qual Keita fa les paus amb el seu pare.\nEll continua portant un cronista dins seu i reflecteix en les seves lletres les calamitats que castiguen el seu país, la guerra i l’assetjament que pateixen els albins. Però, també, matèries més felices, romàntiques fins i tot a ‘Yamore’, la peça que va compartir amb Cesária Évora i en la qual fon la llengua bambara amb el francès i l’anglès. Músiques que van fluir en una suau linealitat oberta als diàlegs desperts de la guitarra elèctrica i la kora, el simbòlic instrument de corda, barreja d’arpa i llaüt. I, per damunt de tot, la seva veu majestàtica, dialogant amb les coristes en la devastadora cançó final, ‘Madan’, que va tancar l’actuació amb tons festius.\nMúsica amb moltes textures i proveïda d’una tènue aura mística, com, en un altre sentit, la de The Wailers, el grup que va completar la nit, a cavall del repertori dels seus temps amb Bob Marley. Tot i que, segons la seva web oficial, la formació inclou dos membres de l’era clàssica, el baixista Aston ‘Family Man’ Barrett i el guitarrista Donald Kinsey, ni un ni l’altre van estar a Porta Ferrada, cosa que va deixar el conjunt una mica coix. Músics competents, com ara el cantant Josh Barrett (cosí llunyà d’Aston), que a falta de bagatge històric van imprimir joventut a fites com ‘Natural mystic’, ‘I shot the sheriff’ o ‘No woman no cry’.\nTemes: Festival de la Porta Ferrada


Aprendre llengües: 12/09/2008\n Dia europeu de les llengües (26/9)\nEl 26 de setembre és el Dia europeu de les llengües. Des de l'any 2001, sota l'organització conjunta del Consell d'Europa i de la Unió Europea se celebra aquest dia. "The general objectives of the European Day of Languages are: 1) Alerting the public to the importance of language learning and diversifying the range of languages learnt in order to increase plurilingualism and intercultural understanding; 2) Promoting the rich linguistic and cultural diversity of Europe, which must be preserved and fostered; 3) Encouraging lifelong language learning in and out of school, whether for study purposes, for professional needs, for purposes of mobility or for pleasure and exchanges." Al web del Consell d'Europa es pot trobar tota la informació relacionada amb aquest esdeveniment (informació dels anys anteriors, esdeveniments que tindran lloc, recursos, enllaços, etc.). Si es vol es pot enviar una targeta de felicitació. A la UAB, el 26 de setembre es reflexionarà sobre el multilingüisme i la globalització al segle XXI.\nPublicat per Enric Serra a 12.9.08 1 comentari:\nEtiquetes de comentaris: diversitat_lingüística, europa, multilingüisme\n Pixka bat és molt!\nEl Govern basc tancarà ben aviat la campanya Pixka bat es mucho ("una mica és molt"), de promoció de l'euskera, la qual ha rebut més de 100.000 visites a Internet. El vídeo de promoció de la campanya a YouTube, amb la cançó del mateix nom, ha estat vist per 60.000 persones diferents. La campanya, que ha estat un èxit, ha tingut per objectiu desdramatitzar l'ús de l'euskera i la seva pretesa "dificultat" i fer perdre la por a fer-lo servir. Ens sumem, és clar, a la campanya, i aprofitem per dir que ens agradaria que el basc tingués més presència als productes i els serveis que ofereixen, en concret, les universitats catalanes (ens satisfà, en aquesta línia, que el projecte Argumenta tingui plantejada una traducció a l'euskera). Recomanem molt veure el clip amb la canço de la campanya, i incorporem al bloc tres vídeos francament divertits que mostren petits malentesos de la vida quotidiana que no haurien de retreure els qui es llancen a fer servir l'euskera. No passa res si es confon arratsalde on amb Arantxa León; liburua (= 'el llibre') amb biburua (= 'el que té dos caps'; buru = 'cap') o si no sabem demanar bé un tallat! (pel que fa a l'error en l'aprenentatge de llengües, recomano l'article "El error en el proceso de aprendizaje", d'Ana Isabel Blanco, de l'Instituto Cervantes de Varsòvia). Pixka bat és molt... per començar.\nPublicat per Enric Serra a 12.9.08 Cap comentari:\nEtiquetes de comentaris: argumenta, bones_pràctiques, campanya, euskera\n Bones pràctiques de mediació\nParlàvem no fa gaires dies en aquest bloc de la mediació lingüística. Linguamón - Casa de les Llengües ha organitzat per al dia 2 d'octubre la seva III Jornada de Bones Pràctiques de Gestió del Multilingüisme (traducció, interpretació, mediació) enfocant la qüestió cap a les llengües dels immigrants. Recordem també que Linguamón té un especial interès a promoure bones pràctiques en qualsevol qüestió relacionada amb el multilingüisme (consulteu la secció del seu web sobre aquest aspecte): "Linguamón Bones Pràctiques vol contribuir d’una manera activa i positiva a la sostenibilitat de les llengües, i per fer-ho dirigeix la seva activitat a la promoció i la difusió de bones pràctiques de gestió del multilingüisme i de la diversitat lingüística que s’han dut a terme amb resultats satisfactoris per part de diferents comunitats lingüístiques". Té també un directori de bones pràctiques validades per la institució, que en recull, per exemple, algunes de les que han endegat els serveis lingüístics universitaris.\nEtiquetes de comentaris: bones_pràctiques, diversitat_lingüística, mediació_lingüística, multilingüisme


Aniversari de la República Àrab Sahrauí Democràtica – ACAPS\nAniversari de la República Àrab Sahrauí Democràtica\nBy acaps Actualitat, Campaments / Projectes de cooperació, Campaments / projectes de cooperació, Catalunya-Espanya, Informacions, Rasd, Sàhara ocupat / drets humans, Sàhara ocupat / drets humans Comentarios desactivados en Aniversari de la República Àrab Sahrauí Democràtica\nEl 27 de febrer de 1976 es proclamava la República Àrab Sahrauí Democràtica. Al 1975, Espanya havia de complir el mandat de les Nacions Unides d’organitzar el referèndum d’autodeterminació del poble sahrauí, perquè pogués decidir lliurement el seu futur. Espanya, però, va trair el poble sahrauí i va signar uns acords cedint el territori del Sàhara Occidental al Marroc i a Mauritània.\nEl poble sahrauí, aquest any farà 40 anys que pateix una llarga espera, perquè es compleixi la legalitat internacional, mentre el Marroc manté una ocupació il·legal de la majoria del territori del Sàhara Occidental, que és considerat per l’ONU com a territori “no autònom” pendent de descolonització. En tots aquests anys de conflicte només ha canviat que hi ha un alto-el-foc, que continua el bloqueig del procés de pau, continua la violació sistemàtica dels drets humans per part del Marroc als territoris ocupats i continua l’espoli de les seves riqueses naturals. Els governs d’Espanya no han assumit mai la responsabilitat històrica de fer complir la legalitat internacional i es posicionen políticament i militarment a favor del Marroc.\nObservem amb preocupació la situació en què viu la població sahrauí refugiada, amb mancances cada cop més grans per poder sobreviure, sense perdre l’esperança. Així mateix, a la zona ocupada, les forces de repressió marroquines actuen amb tota impunitat contra la població civil sahrauí.\nAquest any ve marcat per l’assassinat de joves sahrauís, en mans de colons o de les forces d’ocupació, en presons i comissaries. Però també és preocupant i indignant la situació que està patint en Hassanna Aalia. L’Estat espanyol nega l’asil polític a un jove sahrauí que està condemnant a cadena perpetua per un tribunal militar del Marroc, per haver participat en el campament de la dignitat de Gdeim Izik. Aquesta negació d’asil per part del Govern espanyol, obliga Hassanna Aalia a deixar el territori espanyol. Si Hassanna Aalia torna al seu país, serà empresonat sense garanties que se li respectin els drets humans per part de les autoritats d’ocupació marroquines, tal com es demostra diàriament amb els presos polítics sahrauís. Si retorna al Sàhara Occidental, les autoritats d’ocupació el detindran i no tornarà a sortir de presó mai més, perquè és una persona activa políticament i que mai ha deixat de lluitar pacíficament pel dret d’autodeterminació del poble sahrauí, lluita que li ha costat detencions i tortures en nombroses ocasions.\nAmb tot, el poble sahrauí manté la determinació de lluitar per recuperar allò que se li ha robat – la llibertat i el territori – i l’orgull que és un poble que mai ha estat vençut militarment. Nosaltres estarem al seu costat.\nLa Federació ACAPS celebrem l’aniversari de la proclamació de la RASD i manifestem el compromís de treballar per al poble sahrauí, des del convenciment que la solidaritat no pot ser neutral.


Apartment Ćustić Zadar Croàcia - Ofertes d'hotels amb els MILLORS DESCOMPTES EN LÍNIA\nPer als viatgers què vulguin captar les imatges i els sons de Zadar, Apartment Custic és l'el·lecció perfecta. Des d'aquí, els viatgers poden gaudir d'un fàcil accés a tot el que aquesta viva ciutat ofereix. Amb la seva bona localització, l'hotel ofereix fàcil accès a les destinacions obligades de la ciutat.\nApartment Custic ofereix un servei impecable i compleix amb totes les exigències dels més experimentats viatgers. Per anomenar algunes de les comoditats de l'hotel, hi ha Wi-Fi gratuït en totes les habitacions, Zones públiques amb Wi-Fi, aparcament de cotxes, habitació familiar, servei de bugaderia.\nGaudiu de les comoditats d'alta gama com ara aire condicionat, calefacció, servei de despertador, escriptori, balcó/terrassa per tal de relaxar-vos després d'un cansat dia. Les instal.lacions d'oci de l'hotel, que inclouen jardí estan dissenyades per escapar i relaxar-se. Sigui quin sigui el motiu del seu viatge, Apartment Custic és una selecció idònia per a la vostra estada a Zadar.


Raúl Felices viatja per la història taurina de la ciutat comtal - VaDeBraus\n11/02/2013 18/07/2015 Paco Píriz\nRaúl Felices, banderiller i autor de l’obra Catalunya Taurina, va protagonitzar la 5 ª Conferència del cicle de la Federació d’Entitats Taurines de Catalunya. Presentat pel Doctor Enrique Sierra, Felices va fer un recorregut per la tauromàquia a través de Un Viaje por la historia del toreo en Barcelona. L’acte va ser moderat per Luis María Gibert.\nAmb el suport d’imatges de la història taurina de la ciutat comtal, Felices va fer un repàs de dates històriques, places de toros, toreros i anècdotes, fins arribar fins a la nostra situació actual. Es va poder comprovar la importància que sempre van tenir les corrides de toros en les seves tres places de toros d’obra (El Torín, Las Arenas i la del Sport, reconvertida dos anys després de la seva inauguració a la Monumental).\nVa destacar, també, que la Monumental sempre va ser plaça de toreros importants on parelles tan mítiques com Joselito i Belmonte, Manolete i Arruza o Bernadó i Chamaco (les dues últimes ideades pel gran don Pedro), van fer de Barcelona la capital del toreig. No podia faltar la barreja amb altres arts, com reflectia la figura de Mario Cabré, “capaç de torejar tan bé a la verònica i per la nit interpretar el Tenorio al Paral · lel“.\nToros que es van escapar als carrers de Barcelona, la crema de convents com a pretext a una mala tarda de toros, la primera vegada que la música va acompanyar una faena de muleta, l’empresari més enginyós de la història … Moltíssimes anècdotes en tot just una hora, que de la mà de Raúl Felices van ser ofertes a uns aficionats que van omplir la sala de la Federació.\nVa tancar l’acte el doctor Sierra, titular dels serveis mèdics de la Monumental, ressaltant i enaltint els grans cirurgians que sempre van haver a Barcelona, acabant pel penúltim, el doctor Olsina, a qui va reconèixer el seu mestre en aquest tipus de cirurgia i del qual va poder aprendre una especialitat “que estranyament no es pot estudiar en cap universitat“, afirmava el doctor Sierra.\nEl proper divendres continuaran les conferències en la Federació. En aquesta ocasió, i davant la baixa causada per Salvador Boix, acudirà l’escriptor, antropòleg i catedràtic, membre de l’Observatori de les Cultures Taurines de França, François Zumbiehl, un dels artífexs de l’importantíssim fet d’aconseguir que la festa dels toros hagi estat declarada Patrimoni Cultural a França.\n← El PSOE no donarà suport a la ILP al Congrés\nI Curso de Aficionados Practicos de Cataluña →


Enllestides les voladures de prova per analitzar les vibracions del terreny del congost de Tresponts — RàdioSeu 107.2 FM: notícies de La Seu d'Urgell, l'Alt Urgell i el Pirineu\nSou a: Inici / Notícies / Enllestides les voladures de prova per analitzar les vibracions del terreny del congost de Tresponts\nEnllestides les voladures de prova per analitzar les vibracions del terreny del congost de Tresponts\nLa carretera C-14 s'ha tallat al trànsit durant quinze minuts. Els tècnics han dut a terme deu detonacions i ara se'n farà el seguiment a través d'un sismògraf\nCues per les detonacions a la C-14 (Foto: ACN)\nLes voladures de prova que s'han dut a terme aquest dijous al congost de Tresponts, a les proximitats de la futura boca sud del túnel que s'excavarà en aquesta zona, s'han desenvolupat sense incidents i amb un resultat satisfactori, segons han informat fonts del departament de Territori i Sostenibilitat, encarregat d'executar les obres. Tot i que estava previst que l'actuació comportés talls intermitents, de cinc o deu minuts, de la carretera C-14 entre les 14 i les 15 hores, finalment s'ha optat per fer una única restricció en els dos sentits de la marxa que ha durat uns quinze minuts.\nEl tall ha començat poc abans de dos quarts de tres de la tarda i ha comportat que desenes de vehicles i camions hagin hagut de quedar-se aturats a l'espera que es pogués reprendre la circulació, quan faltava menys d'un quart d'hora per les 15 hores.\nLa prova ha inclòs deu denotacions controlades de diferent intensitat, que han tingut com a objectiu analitzar les vibracions i el comportament del terreny. Abans de concretar quan es podran iniciar les pròpiament destinades a la construcció de la galeria, caldrà comprovar els resultats del seguiment que s'està fent a través d'un sismògraf, instal·lat amb anterioritat a l'operació.\nEl túnel, que entrarà en servei a la tardor de l'any 2020, tindrà una longitud d'1,3 quilòmetres, una amplada de 12,60 metres i una altura de 7,90 metres. El tram d'actuació, però, arriba als tres quilòmetres, entre la sortida del nucli d'Organyà (Alt Urgell) i el desviament cap a la carretera LV-4001 que va fins a Montant de Tost, al municipi de Ribera d'Urgellet. En aquest sentit, està previst eixamplar la calçada actual fins als deu metres, amb la qual cosa serà necessari instal·lar en alguns punts estructures en voladiu.\nEls treballs, a càrrec del departament de Territori i Sostenibilitat, compten amb un pressupost de 35,4 milions d'euros. Fins ara, gran part d'aquests s'han anat executant sense la necessitat de tallar totalment la via, a excepció d'aquest dijous durant les detonacions, ja que es dóna pas alternatiu dels vehicles per un dels dos sentits de la marxa en elsf moments en què es necessari ocupar una part de la calçada. Un cop entri en servei el nou túnel, s'evitarà que el trànsit rodat hagi de continuar circulant per un tram especialment sinuós del congost de Tresponts.


La Vanguardia vol que ens representin autors en espanyol a Frankfurt ! directe!cat\nLa Vanguardia continua amb la seva personal croada, que dura més d'un segle, contra els catalans que l'alimenten.\nAhir mateix va demostrar la seva espanyolitat amb una article a doble pàgina sobre els escriptors que escriuen en espanyol des de Catalunya i que, segons sembla, ningú no els ha convidat a anar a la Fira del Llibre de Frankfurt.\nSota el titular de "Sin noticias de Frankfurt", interrogaven els damnificats per la política impulsada per l'Institut Llull. Hi apareixien Cercas, Zafón o Vila-Matas, tots sense invitació, segons ell, dels organitzadors de l'expedició catalana. Bargalló, el director del Llull, ha afirmat que tot i això hi haurà presència d'escriptors en castellà a l'expedició catalana.\nLa Vanguardia, doncs, continua pressionant, així, per aconseguir una absurditat majúscula: que escriptors que escriuen en espanyol representin la cultura catalana al Festival de Frankfurt. Ni rastre de sentit comú, només buscant la polèmica fàcil. Qualsevol persona amb dos dits de front entén que els escriptors en castellà anirien a Frankfurt si es convidés a Espanya... O és que, en cas de convidar la "cultura castellana", l'Institut Cervantes hi duria escriptors en català?\n20 de maig de 2007, 11.10 h\nJo crec que la cultura catalana hauria de sobrepassar la questio de la llengua, no tenim una manera de fer, caracteristica, i un taranna propi, no som una nacio? la cultura catalana hauria de tenir menys complexe de nen torturat i apostar per la cultura de veritat\nsoc autor en castella i em considero, igualment, cultura catalana\npels radicalots, si soc catala i escric en castella, m'ha de representar espanya? no vull que em representi espanya, que tinc en comu jo amb la resta de l'estat..\n19 de maig de 2007, 18.53 h\nEm sorprèn que algú trobi estrany aquesta postura de La Vanguardia, un periòdic que té dos lemes: sempre a favor del poder espanyol, sempre a favor del poder econòmic\nA més, comencem a parlar clar, és un diari que està perdent influència a marxes forçades, i alguns dels seus invents, com la TD8 - llicència donada per CiU - són d'una mediocritat que fa por\nComparem, El País o Le Monde són grans diaris, lògicament un és molt espanyol i l'altre molt francès, però La Vanguardia n... Llegir més\nFerran (diversitat per sostenibilitat) BCN\n19 de maig de 2007, 08.47 h\nQue poca-soltes, el que ens falta. No veieu lo fàcil que es exterminar una llengua. Només la voluntat d' un partit polític pot exterminar una llengua i part d'una cultura.\nQuan anava a Valencià es parlava català o castellà com catalans, s' explicaven els acudits picants valencians en valència or català això dona igual ara. Però desprès d' aquest anys del PP només el 5% de les escoles s' ensenya català....\nIncreïble. Mira que idiota és que un valencià volguí semblar-se a un "cas... Llegir més\nsebastia guerra premia de mar\n19 de maig de 2007, 00.49 h\nTot això es repetir el que ja es sabut.\nLa Vanguardia es el diari tipic i topic de la dreta catalana, cobarda, sotmesa i servil davant el poder opresor i sempre amb l'interes de treuren profit encara que sia humil.liant-se i essent mesell davant el poderos.\nTot això es reflectit en la canço del nostre millor cantautor RAIMON, sobre un poema de Salvador Espriu. INDESINENTER.\nNosaltres teniem un unic senyor\ni veiem con esdevenia gos\nenvilit pel ventre ect. ect.... Llegir més\n18 de maig de 2007, 13.40 h\nTOT AIXÒ ÉS UNA GRAN FARSA!!! COM ES POT ENTENDRE PORTAR CULTURA FETA EN CASTELLÀ?? LA CULTURA ESCRITA CATALANA ÉS LA QUE S'ESCRIU EN CATALÀ. QUE A CATALUNYA TAMBÉ HI HA QUI ESCRIU EN CASTELLÀ? EM SEMBLA MOLT BE, PERÒ NO ÉS CATALUNYA QUI ELS HA DE REPRESENTAR SI NO ESPANYA, LLAVORS QUE VAGI CONVIDAT PER A AQUEST PAIS. QUE HAURIEM DE FER SINO, CONVIDAR TOTES LES LLENGUES QUE ES PARLEN A CATALUNYA??? AIXÒ ES PODRIA FER EXTENSIU TAMBÉ A TOTS ELS ALTRES PAÏSOS.\n18 de maig de 2007, 09.09 h\nLa cultura catalana és catalana, no entenc ni com es discuteix això. Si hi van autors en espanyol que n'hi vagin en francès i italià també. Ens passem la vida rebent escupits a la cara d'espanya i quan podem anar sols llavors ens fa cosa i volem ser més solidaris i enrotllats que ningú.\nJo si des de fora em mirés com actuen els catalans em farien llàstima.\n17 de maig de 2007, 10.59 h\nEl que caldria és que la Generalitat deixés de subvencionar milionàriament cada any a la Vanguardia, ja que queda clar que és un diari aliè, per no dir contrari, a la nostra llengua i cultura.\n17 de maig de 2007, 10.56 h\nOn és La Vanguardia quan els cantants i músics catalans demanen poder representar Espanya a Eurovisió? O és que allò que es canta en català no és espanyol? Que no són els mateixos criteris?\n17 de maig de 2007, 10.21 h\nCom apreta la Vanguardia Española per veure com els autors en castellà van a Frankfurt. I despres van de sobiranistes per criticar al govern d´Entesa... se´ls veu massa el llautó.\n17 de maig de 2007, 10.20 h\nGuerau, quantes vegades has vist que es convidi a autors de Catalunya i en català en certàmens, exposicions de música, literatura o cultura en general si és espanya la ue es representa???.\nTal i com dius, es una desgràcia que pertanyem a aquest estat que només ens vol pels calers i per riurese´n de nosaltres; que cada vegada ens obvii més com a realitat històrica i cultural (sempre amb els nostres calers, clar) i es per això que des d'aqui i des d'altres llocs, si volem conservar la n... Llegir més


L’Entesa per Sabadell celebra que el grup municipal de CiU se sumi a la demanda per recuperar els antics pisos de la Caserna de la guàrdia civil com a habitatges socials, una proposta que ja vam portar al ple municipal tot just ara fa tres anys.\nEn una moció al ple del 6 de novembre de 2012, que no va prosperar pel vot contrari del PSC i l’abstenció del PP, l’Entesa per Sabadell proposava el següent acord: Iniciar les actuacions necessàries amb l’objectiu de rehabilitar els 32 habitatges que formen el conjunt residencial de l’antiga Caserna de la Guàrdia Civil, ubicat al carrer de Vilarrubias, 147-153, per tal de destinar-los a habitatges socials municipals.\nAquests habitatges estan buits des de fa aproximadament deu anys, però amb un adequat procés de rehabilitació complirien totes les condicions per formar part de la borsa d’habitatges d’inclusió social, complint els objectius del Pla Local de l’Habitatge pel que fa a l’allotjament de famílies sense llar.\nL’Entesa recorda que la parcel·la on s’ubiquen els habitatges es va tornar a registrar a favor de la ciutat l’any 2005, quan el govern del PSC pretenia construir-hi habitatges privats d’alt nivell.\nD’altra banda, instem el nou govern a desbloquejar la situació de la caserna que l’Entesa i altres grups llavors a l’oposició sempre hem defensat com a propietat municipal, pel fet d’estar inscrita al registre de la propietat de Sabadell, malgrat l’any 2006 l’exalcalde Manuel Bustos i el llavors ministre de l’interior Alfredo Pérez Rubalcaba van signar un conveni per la cessió a la ciutat, que tenia oneroses contrapartides econòmiques molt negatives per a Sabadell.


La Tarda BCN » BCN a fons\nArxiu per a la categoria ‘BCN a fons’\nEn Karlos, advocat voluntari de SOS Racisme\nLa Tarda Barcelona - 15/07/2013\nCom cada setmana, coneixem la Barcelona més voluntària de la mà de voluntaris que dediquen part del seu temps a ajudar els altres. Aquesta setmana hem conegut la tasca que desenvolupa en Karlos com a voluntari de Sos Racisme.\nLa Tarda Barcelona - 4/04/2013\n“Què vol dir Cuina de Barcelona? La que es fa a Barcelona o la que és de Barcelona? Són plats tradicionals o d’avantguarda? Aquestes són les qüestions que ens respon la Carme Gasull.\nLa Tarda Barcelona - 28/03/2013\nAvui us proposem una botiga 100% apta pels celíacs: Syngluten Barcelona. Situada al Carrer Galileu, tots els seus productes són aptes per persones intolerants al glúten.\nLa Tarda Barcelona - 26/03/2013\nCom cada dilluns, l’Andreu Martín ens porta les històries de la Barcelona negra, dels baixos fons… aquelles històries de sucessos de que vegades passen desapercebudes, i de les quals ells té tots els detalls. Aquesta setmana l’Andreu ha fet una repassada a la premsa i ens porta alguns casos que li han cridat l’atenció, que han estat actualitat les darreres setmanes i que al darrere amaguen històries curioses o interessants.\nLa Tarda Barcelona - 25/03/2013\nChristian Machio ens recomana avui disfrutar aquesta setmana santa amb “Bona Gent”, al Teatre Goya, “Davant l’Empire” al Teatre del Raval, i The Mamzelles al Teatre Poliorama\nVOLUNTARIS: Glòria, d’Avismón\nCom cada setmana, coneixem una persona que dedica part del seu temps a ajudar als altres. Avui coneixem la Glòria, voluntària d’Avismón i que un cop per setmana visita la senyora Anna.\nProstitutes de Barcelona\nEl nostre historiador ens acosta la història de la prostitució a la nostra ciutat. Qui controlava el negoci, on estaven situats els bordells i com es podien reconèixer a simple vista.\nClaudia Troy, artista dels fils\nLa Tarda Barcelona - 21/03/2013\nEmprant fils de colors i creuant-los en l’espai, la barcelonina Clàudia Troy crea unes peces que són pintura, escultura i llum. El seu treball és acurat i subtil però, alhora, simple i artesanal. Reivindica les tècniques i maneres de fer artesanals que sovint han estat marginats i lligats a l’univers femení. Hem accedit al seu taller del Poble Nou.\nLA BOTIGA: El Centre Litúrgic\nA cinc minuts de la Catedral hi ha al Centre Litúrgic, especialitzat en productes religiosos.