El Racó de Xavi

Reflexions i altres coses

Algú va dir...

Xicona, comença a patir, perquè hem acabat amb les guapes i ara anem a per les lletges
Àngel Martínez, "Marto"

Entrades recents


Categories


Núvol d'etiquetes


Arxius del bloc


Acabe d'escoltar...

Blocs que m'agraden


Planeta Softcatalà

Manuals d'XML i XSL

9 de desembre de 2008 @ 15:51
ca
es
oc
en
»

Avui estava intentat fer unes xicotetes transformacions a un XML que representava un model d'una llengua representat en n-grames, per tal d'eliminar algunes de de les entrades, i obtenir el resultat ordenat per la quantitat d'aparicions del n-grama en qüestió.

Ací va un exemple de l'XML:


<?xml version="1.0" encoding="UTF-8"?>
<ngrams>
<entry length="0" string="" count="278402143"></entry>
<entry length="3" string="##a" count="3725333"></entry>
<entry length="2" string="ab" count="656482"></entry>
<entry length="3" string="aab" count="3561903"></entry>
<entry length="1" string="d" count="6075086"></entry>
<entry length="3" string="#ex" count="5940835"></entry>
<entry length="3" string="ai$" count="1035105"></entry>
<ngrams>

En concret, volia eliminar els n-grames de longitud 0 (que, per cert, no haurien d'estar al model original, però això és un altre tema) i tots aquells que contenen # o $ (indicadors d'inici i final de paraula respectivament). Després, el resultat volia mostrar-lo ordenat per nombre d'aparicions (paràmetre count).

Amb aquesta fulla d'estils he aconseguit el resultat que volia.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<ngrams>
<xsl:for-each select="ngrams/entry">
<xsl:sort select="@count" data-type="number" order="descending"/>
<xsl:if test="@length != '0'">
<xsl:if test="not(contains(@string,'#')) and not(contains(@string,'$'))">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</ngrams>
</xsl:template>
</xsl:stylesheet>

A més, com que no me'n recordava massa de XSLT (tenia falta ja de fer memòria), he buscat alguna cosa per internet, i m'he trobat una xulla (cheatsheet en anglés) a la pàgina de Mulberry Technologies molt útil per a l'ocasió. També l'he afegida a la secció de manuals d'aquesta web.

Publicat per Xavi Ivars a Programació |

Un comentari

  •  
  • Gravatar

    [...] Manuals de llenguatge XMLxavi.infobenissa.com/bloc/2008/manuals-xml-i-xsl/ per carmen_sereno fa pocs segons [...]

Digues la teua!









Atenció!
La moderació de comentaris està habilitada, i pot endarrerir la publicació del comentari.
No cal que l'envies més d'una vegada ;).


Sindica 'El racó de Xavi'! llicència de Creative Commons Reconeixement - Compartir-Igual

Pàgina gestionada amb Wordpress | Tema inspirat en OrangeDesign | Allotjament a Dreamhost