La Web 2.0 i les tecnologies que la fan possible/Llenguatges de marcatge
Com ja s'ha dit abans, un dels grans pilars de la Web és l'HTML, un llenguatge d'etiquetatge que tradicionalment ha servit per formatar el text de les pàgines web donant-li color, mida i tipus de tipografia, una posició dins la pàgina i configurant altres aspectes referents a aquest. En l'actualitat, alguns d'aquests aspectes estètics s'han relegat a un altre estàndard anomenat CSS, i es recomana que l'HTML tan sols es faci servir determinar l'estructura que segueixen les dades. S'utilitza, així, l'HTML per definir quina part del document és un títol, quina és un enllaç, quina una part d'una llista, numerada o no o fins i tot quina part del text és un llenguatge de programació que s'ha d'executar, com el JavaScript quan s'escriu directament dins la pàgina.
Així doncs, l'HTML, com tot llenguatge de marques o de marcatge, combina dades i etiquetes que les marquen i que contenen informació addicional sobre l'estructura del text o la seua presentació. Tot i així, no s'han de confondre els llenguatges de marcatge amb els llenguatges de programació, ja que aquests primers no tenen les característiques dels segons: no disposen d'estructures condicionals, ni de bucles, ni tan sols poden fer operacions matemàtiques. La seua utilitat és simplement la de descriure dades, no treballar amb elles.
L'HTML
[modifica]L'HTML és l'acrònim de l'anglès HyperText Markup Language, llenguatge d'etiquetes d'hipertext derivat d'un altre llenguatge de marcatge anomenat SGML. És utilitzat, com ja he remarcat abans, per estructurar texts i presentar-los en forma d'hipertext (en forma de text amb enllaços), que és el format estandarditzat de les pàgines web.
Aquests llenguatge, doncs, utilitza unes etiquetes o marques per a estructurar el text, les quals sempre estan entre els signes "<" i ">" (menor que i major que). A més, les etiquetes que delimiten un text o un contingut, s'han de tancar amb la mateixa etiqueta però una barra (/) entre el primer signe i el nom d'aquesta.
És a dir, si volem que un text aparegui en negreta, li ficarem una etiqueta <b> allí on comença i una etiqueta </b> allí on acaba. Passa el mateix amb les etiqutes <i> i <u> (cursiva i subratllat) i amb la mateixa etiqueta <html> amb la que s'hauria de començar i acabar tota pàgina web, contenint a aquesta al seu interior.
Així doncs, un exemple de pàgina HTML seria:
<html> <head> <title>Exemple d'una pàgina</title> </head> <body> <h1>Exemple d'una pàgina</h1> <p>Aquest és un paràgraf d'un exemple de pàgina web. <b>Aquest text està en negreta</b>, i <i>aquest en cursiva</i>.</p> </body> </html>
Analitzem l'exemple. La primera etiqueta i la que engloba tota la pàgina és <html>, normativa per tota pàgina web. Aquesta engloba, també de manera normativa, dos etiquetes, i tan sols dos, el <head>i el <body>. Dins el <head> s'hi escriuen etiquetes referents a la descripció de la pàgina, com per exemple <title>, que defineix el títol que mostrarà la barra de títol del navegador que visualitzi la pàgina, etiquetes <meta> que poden definir diferents aspectes com l'autor de la pàgina, una descripció d'aquesta, paraules clau per ser més fàcilment trobat mitjançant els cercadors, etc. Les etiquetes <link> que informen al navegador de que la pàgina té un feed o un motor de cerca OpenSearch, que ja hem descrit abans, també s'han de ficar dins d'aquesta etiqueta, al igual que els estils CSS i els scripts JavaScript dels que es parlarà més endavant. L'etiqueta <body> conté tot el cos del document, tot el text, taules, imatges, objectes multimèdia i dades que conté la pàgina.
Dins el <body> de l'exemple tenim l'etiqueta <h1>, que descriu que el seu contingut és el títol principal i per tant li fa saber al navegador que li ha de donar un format de lletra i una mida especials perquè quedi remarcat dins la pàgina. L'etiqueta <p> marca que el que hi ha al seu interior és un paràgraf, i les etiquetes <b> i <i>, com explicava, marquen que el text va en negreta i en cursiva, respectivament. Cal remarcar que dins de la majoria d'etiquetes hi pot estar tant text com altres etiquetes, o fins i tot, tot alhora.
Quasi totes les etiquetes disposen d'atributs que permeten modificar-les d'alguna manera o donar-les-hi instruccions de com es vol que el navegador les interpreti. Els atributs que se li poden aplicar a una etiqueta depenen d'aquesta, ja que, per exemple l'atribut href de l'etiqueta <a> (que defineix la direcció URL d'un enllaç) no es podria aplicar a una altra etiqueta com seria <title>, però sí, per exemple, en una etiqueta <link> que informa al navegador, repeteixo, de l'existència d'un feed o un motor de cerca. L'aplicació de l'atribut href a un enllaç es faria de la següent manera:
<a href="http://www.exemple.com/">text enllaçat<a>
Com també ja he dit, si s'hi afegeix un atribut rel amb el contingut entre cometes nofollow, cap dels motors de cerca que suportin aquest microformat seguiran l'enllaç.
Una altra de les coses que cal destacar és que com que l'HTML es va dissenyar inicialment per a persones que parlessin anglès, possiblement els navegadors no representarien bé els caràcters especials (vocals amb accents, dièresis, les ç i les ñ), ja que la codificació per defecte que utilitzen acostuma a ser la UTF-8, que tan sols permet caràcters anglesos. La solució es codificar-los amb valors simbòlics utilitzant abreviatures com "acute" per a l'accent tancat, "grave" per a l'accent obert o "cedill" per al símbol que trenca la ç. Així doncs, "à" s'expressaria "à", "ç" com a "çl;" i "Í" com a "Í". La nostra pàgina d'exemple, doncs, s'hauria de canviar de la següent manera:
<html> <head> <title>Exemple d'una pàgina</title> </head> <body> <h1>Exemple d'una pàgina</h1> <p>Aquest és un paràgraf d'un exemple de pàgina web. <b>Aquest text està en negreta</b>, i <i>aquest en cursiva</i>.</p> </body> </html>
També es pot, però, definir la codificació a la qual pertany el llenguatge de la pàgina dins el <head> amb una etiqueta <meta>. La codificació a la que pertany el català i el castellà és l'anomenada Latin-1. L'etiqueta seria aquesta:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
L'Origen, l'SGML
[modifica]Com dèiem abans, l'HTML és un derivat del SGML, l'Standard Generalized Markup Language o, en català, Llenguatge de Marcatge Generalitzat Estàndard. L'SGML és un llenguatge de marques que defineix unes normes gramaticals d'altres llenguatges, més específics, però que no imposa la utilització de ningun conjunt d'etiquetes en especial.
Perquè un document sigui SGML ha d'utilitzar, per marcar el text, etiquetes delimitades amb els signes < i > els atributs tenen de separar-se de l'etiqueta per un espai, el signe = s'utilitza per aplicar-los-hi el valor als atributs, i tot el que deia abans amb l'HTML, imposant una estructura sintàctica bàsica, és a dir, que es compongui d'elements i atributs com l'SGML mana que s'escriguin. No defineix, però, que la pàgina comenci amb <html> ni especifica cap etiqueta que s'hagi d'utilitzar.
Així doncs, tot document HTML és un document SGML que segueix unes regles específiques, definides per el llenguatge HTML, perquè les pàgines tinguin significat i puguin ser visualitzades per un navegador. És a dir, son SGML perquè el seu text està marcat amb etiquetes amb format SGML (obrint-les i tancant-les amb els signes < i > i altres aspectes que comporta aquest llenguatge), però, a més, pel simple fet que el document sigui HTML implica que l'etiqueta per obrir-lo i tancar-lo ha de ser <html> i </html>, que aquest ha de contenir un <head> i un <body>, que un <p> no pot anar dins un <meta>, etc.
Aquestes regles estan definides dins un document anomenat Document Type Definition (DTD), Definició del Tipus de Document, de l'HTML. Aquest document, també escrit en SGML, defineix les etiquetes que es poden utilitzar en la creació del document, els atributs, quines poden anar dins d'unes altres, quines tan sols poden contenir text, i no cap més etiqueta al seu interior (com passa amb <title>), o fins i tot quin ordre han de seguir les etiquetes (el <head> sempre va abans del <body>). La DTD de l'HTML estàndard està mantinguda per la World Wide Web Consortium (W3C), però n'hi ha moltes d'altres, de DTD, cadascuna per a cada llenguatge basat amb SGML.
Per definir quina és la DTD d'un document SGML s'escriu dalt de tot d'aquest una línia de text que el vincula al document DTD. Aquesta línia variarà segons l'element arrel del llenguatge i la localització de l'arxiu dins el sistema de fitxers.
<!DOCTYPE element_arrel SYSTEM "arxiu.dtd">
Per a l'HTML (versió 4.01), sempre és la mateixa:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Les versions de l'HTML
[modifica]D'ençà que Tim Berners-Lee definí la primera versió de l'HTML a principis dels anys 90, aquesta ha sofert molts canvis adaptant-se a les necessitats del moment. Així doncs, la primera definició del llenguatge fou insuficient per al sobtat creixement de la WWW, i va ser necessari afegir-li noves etiquetes i noves funcionalitats.
Els navegadors, davant aquestes etiquetes que no respectaven els estàndards eren totalment permissius ja que eren programats de tal manera que si trobaven alguna etiqueta que no reconeixien la mostraven igualment, perquè la consideraven una etiqueta d'una versió posterior del estàndard. Això fou aprofitat posteriorment per el navegador Netscape que inclogué etiquetes pròpies que tan sols funcionaven amb ell i que utilitzà amb la guerra de navegadors primer amb Mosaic i desprès amb Internet Explorer. Els navegadors també eren molt permissius amb els errors d'escriptura, intentant mostrar la pàgina tot i estar mal estructurada, el que obrí moltes portes a la gent que volia fer-se una pàgina web, i per tant es generaren moltes pàgines amb codi no estandarditzat.
Aquesta compatibilitat dels navegadors "cap endavant" provocà, com ja he dit, l'aparició de noves etiquetes que conformaren l'HTML +, que posteriorment es formalitzà baix el nom d'HTML 2.0, però mai es convertí en estàndard. Ja incloïa, però, les etiquetes que permetien incloure camps de formulari a la pàgina que han perdurat fins avui dia, i que en aquell temps eren necessaris per a enviar informació als recentment apareguts llenguatges CGI, que la manejaven al costat del servidor, i que foren necessaris per la implementació de la web dels serveis, el que avui dia hem anomenat la Web 1.5.
El 1995, un any després de la formació de la W3C, aquesta va presentar l'esborrany de l'HTML 3.0, el qual inclogué moltes noves capacitats com crear taules, fer que el text flueixi al voltant de les imatges i mostrar fórmules i elements matemàtics complexos. No fou implementat pels navegadors de l'època, ja que era massa complex per fer-ho amb la tecnologia d'aquell temps. Així doncs, es publicà l'HTML 3.2 (el 3.1 mai arribà a ser proposat oficialment) que abandonà la majoria de característiques noves de l'HTML 3.0 i adoptà altres etiquetes proposades pels navegadors Mosaic i Netscape, i la capacitat de treballar amb equacions matemàtiques proposat va passar a ser integrada en un estàndard diferent que s'explicarà a Altres llenguatges de marcatge basats en XML, el MathML.
La versió actual és la 4.01, que és una revisió de l'HTML 4.0 i que corregeix errors i incorpora alguns canvis. L'HTML 4.0 ha adoptat també molts elements específics desenvolupats per a Internet Explorer, i n'ha eliminat molts d'altres de la versió 3.2 senyalant-los com a "desaprovats".
Un grup de treball compost per la Fundació Mozilla i Opera Inc., companyies que estan desenvolupant dos dels navegadors més importants en l'actualitat, està treballant en l'esborrany de l'HTML 5, que intenta millorar les aplicacions web amb una nova especificació per als formularis, i que actualment està en estat d'esborrany a la web del W3C[1].
^ http://www.w3.org/html/wg/html5/
Ús del programari
[modifica]Tim Berners-Lee, des del moment que presentà el projecte de la WWW, ja disposava d'un navegador de pàgines web que a més era editor d'aquestes. Així doncs, el primer editor d'HTML l'escrigué ell, però des de llavors, a principis dels 90, aquests editors han sofert molts canvis. En realitat qualsevol editor de text pla pot servir per editar text HTML, com el Bloc de Notes de Windows o el gedit o el kwritte al GNU/Linux, però també hi ha editors de text especialitzats en HTML i editors amb entorn WYSIWYG en els que pots crear una pàgina sense tenir d'escriure les etiquetes.
Els editors de text especialitzats en HTML (que normalment estan especialitzats en la creació de pàgines web en general i que, per tant, també tenen suport per a altres llenguatges com JavaScript, XML, PHP...) normalment incorporen funcionalitats com el colorejat de sintaxis, que mostra el codi en diferents colors i tipus de lletra segons la categoria dels termes (si són etiquetes, atributs, contingut dels atributs, contingut de la pàgina, comentaris...), suggeridor de codi, que quan vas a escriure et suggereix les etiquetes o els atributs disponibles, validació de codi instantani, que t'informa dels errors que conté el document al instant, i d'altres.
Els editors WYSIWYG (What you see i what you get, o El que veus és el que obtens) són una evolució dels editors de text. Permeten escriure un document veient directament el resultat final, de manera que enlloc d'escriure <b> i </b> per donar-li format a un text amb negreta, es selecciona aquest text i es prem el botó de la barra d'eines que el fica amb negreta, és molt paregut, doncs, a qualsevol processador de text com el Microsoft Word o l'OpenOffice.org.
Aquests editors donen moltes opcions, com ara inserir imatges tan sols fent clic a un botó i cercant la imatge i donar-les-hi mida amb el ratolí, fer el mateix amb les taules (inserir-les i donar-los-hi mida), moure els elements amb el ratolí per donar-los-hi una posició dins la pàgina, etc. que d'altra manera s'haurien de conèixer les etiquetes HTML i a més anar provant cada cop que es fa un canvi si es veu bé amb el navegador. Per contra, aquest editors han sigut criticats per generar molts cops codi innecessari o, fins i tot, invàlid.
Tot i així, els editors WYSIWYG incorporen, a més, l'opció de veure el codi HTML, i que moltes vegades igualen en funcionalitats els editors de text especialitzats en HTML.
Aquest és el cas del Dreamweaver, que fins a la versió 8 era propietat de Macromedia, però que des de l'abril de 2005 aquest al igual que l'empresa pertanyen a un altre gegant, Adobe, que la va comprar per 3.400 milions de dòlars. Amb l'actual versió, la 9 o CS3, el Dreamweaver presenta una forta compatibilitat amb l'Adobe Photoshop (programa estrella de l'empresa), a més d'oferir totes les funcionalitats que presentava la versió anterior, tant en edició de codi com WYSIWYG, i més. És l'editor de pàgines web més utilitzat (amb un 90% del mercat) i tan sols està disponible per a Windows i Mac OS.
Una alternativa lliure al Dreamweaver és el KompoZer, un programa basat en Nvu i que alhora està basat en el Mozilla Composer. El seu desenvolupament començà el juliol de 2006 i la versió actual és la 0.7.10. Al ser un software multiplataforma, està disponible per a diversos sistemes operatius, entre ells GNU/Linux.
L'XML
[modifica]L'eXtensible Markup Languatge (llenguatge de marcatge extensible) és un metallenguatge creat per la W3C que simplifica i adequa el llenguatge SGML, abandonant moltes característiques d'aquest que estaven pensades per facilitar l'escriptura manual dels documents i fent el llenguatge molt més estricte, la qual cosa facilita la interpretació del document als programes informàtics.
La intenció de l'XML, doncs, és la mateixa que la de l'SGML, organitzar informació d'una manera estructurada, que es compongui de parts ben definides (senyalitzades per etiquetes), i aquestes altres parts també d'altres parts (etiquetes dins d'etiquetes), però l'XML, al contrari de l'SGML, prioritza l'expressió de la manera més abstracta possible de la informació i la seua reutilització per programes de tercers.
Així doncs, el que és obligatori amb XML és que totes les etiquetes s'han de tancar, fins i tot si estan buides (<br></br> o també s'admet <br />); les etiquetes que estan dins d'altres s'han de tancar abans que les etiquetes que les contenen (mal exemple: <a><b>text</a></b>; bon exemple: <a><b>text</b></a>); les etiquetes d'inici i tancament han de ser idèntiques, és a dir, no és correcte escriure l'etiqueta d'inici amb minúscules i la de tancament amb majúscules, o a l'inrevés, tal com es podia fer amb SGML; el contingut dels atributs sempre anirà tancat dins de dos cometes (""), i no se'n minimitzarà cap; i per últim, no es podrà ometre l'etiqueta arrel, com si que es feia a cops amb l'SGML (i sobretot amb l'HTML) per qüestió de rapidesa.
Un document que no respecti aquestes normes serà qualificat de mal conformat i en lloc de ser interpretat pels programes que necessitin la seua informació aquests retornaran un error, indicant la línia on es produeix, i fins que no es solucioni es negaran a realitzar l'estructura arbòria (a parcejar el document) i a interpretar-lo. Això ha portat molts beneficis als seus llenguatges derivats, ja que no ha passat el que va passar amb l'HTML, que quan estava mal conformat, els navegadors l'intentaven interpretar i a cops ho feien de maneres diferents.
Al igual que els SGML, als documents XML també se'ls hi pot definir una DTD que validi el document. La Declaració del Tipus de Document es fa abans del cos de l'XML, abans del mateix element arrel, i després de la mateixa declaració XML (que es la que encapçala tot el document). També s'ha desenvolupat una altra manera de descriure l'estructura i les restriccions d'un document XML anomenat XML Schema, que presenta avantatges respecte al DTD, com la d'usar sintaxis XML (el DTD usa SGML) i permetre especificar el tipus de les dades.
Als annexos trobareu l'exemple presentat a la Viquipèdia d'un document XML.
W3C i estandardització: XHTML
[modifica]Amb l'aparició de nous dispositius a part dels ordinadors tradicionals que poden accedir al WWW (com mòbils, PDAs, televisors, impressores...), es sentí la necessitat d'una versió de l'HTML més estricta per eliminar algunes etiquetes que havia llegat la primera "guerra dels navegadors", i a més, impedir que es realitzessin documents mal estructurats o fins i tot caòtics, ja que aquests dispositius eren, i encara són, molt més limitats de recursos que els ordinadors d'escriptori o els ordinadors portàtils, i no en podien destinar per afrontar la complexitat afegida de la sintaxis HTML.
Així doncs, és portà l'HTML al XML, i el nou llenguatge de marcatge rebé el nom d'XHTML, publicat per primera vegada el gener de 2000. Des de llavors ha sigut recomanat, al igual que HTML 4.01 i posteriorment la versió 1.1 de l'XHTML, per la W3C.
Actualment la W3C recomana HTML 4.01, XHTML 1.0 o XHTML 1.1. Ofereixen tres DTD, tres "sabors", tal com diuen ells, per a l'HTML: la strict, en la que no es poden utilitzar les etiquetes desaprovades, la transitional, que si que en permet utilitzar algunes, i la frameset, que permet utilitzar, al contrari de les altres, els iframes i els framesets que nombràvem abans i que permetien inserir una pàgina dins d'una altra. L'XHTML 1.0 i 1.1 també el recomanen, i en realitat tindria de substituir en un futur tot l'HTML, però en l'actualitat Internet Explorer, el navegador més utilitzat i amb diferència, encara no és capaç d'interpretar-lo bé, la qual cosa desencoratja als webmestres a fer-lo servir.
Tot i així, l'ús de l'XHTML aporta molts avantatges a l'edició de pàgines web, a més de ser, com deia abans, menys complicat d'interpretar per els programes. L'XHTML està dissenyat per estructurar dades, no per donar-los-hi format ni per situar-les dins la pàgina. És per això que la DTD ja no inclou les etiquetes i els artibuts desaprovats en l'HTML 4.01, que en la seua majoria tan sols especificaven característiques de l'estil i del disseny (com per exemple <font>, que tan sols especificava quin tipus de lletra tenia tot el text al seu interior). A partir d'ara, aquests aspectes relacionats amb el disseny s'especifiquen amb un altre llenguatge anomenat CSS, que s'explicarà al capítol corresponent.
Segons la DTD de l'XHTML, les imatges sempre han de portar un text alternatiu, els noms de les etiquetes i els atributs han d'anar en minúscules, cosa que entra en forta contradicció amb les primeres versions de l'HTML, quan s'escrivien en majúscules per distingir-les visualment de l'altre text, han sigut eliminats completament els atributs desaprovats de la versió 4.01 de l'HTML, no es pot escriure directament dins el <body>, sinó que s'ha de fer dins de paràgrafs (<p>) o encapçalats (<h1>, <h2>, <h3>...) dins d'aquest, entre d'altres de més específiques. Un exemple d'XHTML ben conformat i vàlid seria aquest:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca" lang="ca"> <head> <title> Exemple de pàgina XHTML </title> </head> <body> <p> Seleccioni un dia: <br /> <br /> <select name="dia"> <option selected="selected">Dilluns</option> <option>Dimarts</option> <option>Dimecres</option> </select> </p> </body> </html>
Es pot observar com la primera línia és la declaració XML que explicava abans, present en tots els documents XML i, conseqüentment, en tots els XHTML. La segona és la DTD del XHTML estricte, i després d'aquestes, tota la resta és el document XHTML.
Els canvis de la primera versió de l'XHTML respecte l'HTML han sigut menors ja que la majoria estan destinats a aconseguir la conformitat amb l'XML. L'esborrany XHTML 2.0 s'està preparant a la W3C i es preveu que hi haurà molts canvis, com que no farà falta utilitzar l'etiqueta <a> per inserir un enllaç a la pàgina sinó que totes les etiquetes ho podran ser simplement apicant-los-hi l'atribut href, es substituiran algunes etiquetes per unes altres, les etiquetes <img>, que insereix imatges, <style>, que aplica estils CSS, i <applet>, que permet inserir aplicacions Java, seran <object>, que ja es feia servir per animacions Flash, els frames tornaran a estar permessos (aquest cop com a XFrames) i els actuals formularis es canviaran per XForms.
Encara falta molt perquè l'XHTML 2.0 sigui un estàndard, però quan ho sigui també li costarà molt de temps d'imposar-se davant els altres estàndards, ja que encara avui l'XHTML 1.0 no es suportat bé per tots els navegadors (Internet Explorer) i l'XHTML 2.0 no es podrà visualitzar gens bé en navegadors antics ja que aquest trenca la compatibilitat cap enrere (les diferències amb l'HTML són abismals i cap navegador antic que tan sols pugui interpretar HTML serà capaç d'interpretat XHTML 2.0).
Altres llenguatges de marcatge basats en XML
[modifica]Una de les característiques més importants i més útils del XML, i al ser-ne un derivat, del XHTML, és la extensibilitat. L'XML permet incloure diferents tipus de document en el mateix arxiu, així, una pàgina XHTML pot incloure al seu interior una porció de codi que no pertanyi a la seua DTD, sinó a una altra, permetent així estendre el llenguatge amb altres opcions que no inclou, però que sí que inclouen altres llenguatges de marcatge derivats de l'XML.
És el cas, per exemple, de les imatges vectorials (SVG i VML), fulls d'estil extensibles (XSL i XSLT) i fórmules matemàtiques (MathML), que es poden incloure dins un document XHTML sense cap problema tot i tenint com a DTD la de l'XHTML.
SVG i VML
[modifica]L'Scalable Vector Graphics i el Vector Markup Language són dos llenguatges derivats de l'XML que defineixen figures vectorials en dos dimensions.
Les figures vectorials, o gràfics vectorials, són imatges que, enlloc d'estar definides per petits punts de color (píxels) com passa amb les imatges de les fotografies, estan definides per figures geomètriques simples com punts, línies, corbes o polígons.
Són molt útils per a definir figures simples ja que ocupen molt poc espai al disc. Per definir una circumferència tan sols cal especificar el radi i el punt on es troba el seu centre, a més del color, mentre que per definir una circumferència amb per a una imatge no vectorial s'ha d'especificar el color de cadascun dels píxels que la compon. Tot i així, el seu ús queda relegat a imatges relativament senzilles, normalment generades per ordinador.
Una altra de les avantatges que presenten és que no es perd qualitat al escalar-los. Quan s'augmenten les imatges pixelades, es poden apreciar, al contorn dels objectes que representen, que estan compostos de quadrats; mentre que les imatges vectorials, al no estar compostes de píxels, es poden augmentar tan com es vulgui, que no perdran qualitat.
També permeten ser modificats després d'haver estat guardats i alguns poden fins i tot ser animats per un llenguatge de programació o incorporar text i imatges pixelades.
L'any 1998, Microsoft, Macromedia i altres presentaren al W3C una proposta de llenguatge per definir gràfics vectorials a les pàgines web anomenat VML, però no arribà a ser estàndard recomanat perquè Adobe, Sun i altres empreses també presentaren el seua pròpia proposta, el Precision Graphics Markup Language (PGML). S'ajuntaren els dos estàndards per fer-ne un que des de setembre de 2001 és una recomanació, l'SVG.
Microsoft, per contra, enlloc d'implementar-lo, implementà al seu navegador el llenguatge VML que havia proposat el 98. Això fa que l'estàndard perdi molt de valor, perquè ja s'ha dit que el navegador més utilitzat avui dia és l'Internet Explorer. Els altres navegadors implementen l'SVG, però encara no en la seua totalitat.
Han hagut moltes controvèrsies al voltant d'aquest tema, i les hi haurà fins que no s'accepti l'estàndard definitivament. Fins aleshores, el que fan llocs com la Viquipèdia és detectar (des del costat del servidor amb el llenguatge de programació PHP) si el navegador suporta gràfics SVG i si no els suporta li envien un gràfic no vectorial, com per exemple PNG.
XSL i XSLT
[modifica]Els eXtensible Stylesheet Language són una família de llenguatges derivats de l'XML que defineixen com transformar la informació continguda dins d'arxius XML en altres arxius que també poden ser XML o d'un altre tipus, com PDF.
L'ús més estès d'aquesta família és el llenguatge XSLT, que s'ha implementat en tots els navegadors predominants del mercat. Aquests llenguatge, seguint la definició d'XSL, permet transformar documents XML que contenen dades en altres documents als que se'ls hi ha aplicat unes transformacions per poder-los veure en un altre medi. L'exemple més clar és transformar-los en documents XHTML perquè es puguin visualitzar en qualsevol navegador.
Per realitzar aquesta transformació es requereix un processador XSLT que faci la transformació. Els mateixos navegadors ho són, així que tan sols fa falta especificar dins l'XML que conté les dades la fulla d'estils extensible que se li vol aplicar (espicificant la seua URL) i el navegador s'encarrega de fer la transformació (veure la il·lustració). També es pot realitzar aquesta transformació al costat del servidor, i evitar així la possibilitat que el navegador fos antic i no tingués la capacitat de fer la transformació.
Aquestes fulles són molt útils per separar el contingut, la informació que vol transmetre el lloc, del format, o el disseny. Mentre que la informació seria continguda per l'arxiu XML, l'arxiu XSLT el transformaria en XHTML i que a més li oferiria una formatació en paràgrafs, encapçalats, taules, etc. L'XSLT és, doncs, un bon complement per a les fulles d'estil en cascada que es veuran al capítol corresponent.
MathML
[modifica]El Mathematical Markup Language (MathML) també és un derivat de l'XML, la funció del qual és expressar notacions matemàtiques que ja es busquen des de l'HTML 3.0 (veure Les versions de l'HTML) però que mai s'implementà a cap navegador. Va ser dissenyat per poder representar equacions matemàtiques que puguin ser editades i modificades fàcilment enlloc d'inserir-les com a imatges que no es poden retocar des del mateix codi font (una cosa pareguda a les imatges vectorials i els mapes de bits). El seu ús, però, s'ha estès a altres programes de tipus matemàtic en general, com també ha passat amb altres implementacions de l'XML.
La Viquipèdia en espanyol ens dóna com a exemple la coneguda equació de segon grau:
Que amb MathML seria:
<math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math>
Com es pot observar, el MathML no està pensat per ser escrit o editat directament per els humans, com passa amb altres llenguatges del mateix tipus com TeX (amb el que tan sols fan falta 32 caràcters per fer el mateix), sinó que està pensat per que l'utilitzin els programes.
Avui dia encara no té suport natiu en cap dels navegadors importants, per la qual cosa, es requereixen programes addicionals per poder visualitzar-lo dins les pàgines.