Migrer ses marques pages "blogmarks.net" vers "del.icio.us", Xslt à la rescousse
Par Samuel MARTIN le mercredi, 31 décembre 2008, 20:03 - Programmation - Lien permanent
Depuis plusieurs mois et peut être même plus, je me suis résigné à ne pas transférer mes bookmarks d'un service à l'autre. La cause principale étant un export/import peu fiable des deux services. Blogmarks.net permet d'exporter au format XML vos données vous certifiant que del.icio.us sera compatible, hors ce dernier n'importe malheureusement que des fichiers HTML, bref pas facile de faire suivres vos marques pages.
Je livre ci-dessus la feuille.xsl que j'ai utilisée/écrite pour convertir le fichier XML fourni par blogmarks.net, voici le protocole que j'ai suivi, attention je ne suis pas un expert Xslt, c'est pourquoi il subsiste encore quelques imperfections.
Les étapes de transformation
- Comparer l'export de blogmarks.net à l'import de del.icio.us
- Définir les règles de transformation
- Isoler les difficultés (changer le format de date, remplacer des caractères)
- Ajouter des librairies XSLT si besoin
Fichier initial blogmarks.net
<?xml version="1.0" encoding="UTF-8"?> <posts update="2007-07-24T08:28:49Z" user="martinsam"> <post href="http://flv-player.net/" description="Lecteur FLV" hash="e395e61818316569b25035bda36a54ed" tag="video flash lecteur" time="2007-07-23T13:52:40Z"/> <post href="http://flv-player.net/" description="Lecteur FLV" hash="e395e61818316569b25035bda36a54ed" tag="video flash lecteur" time="2007-07-23T13:52:40Z"/> <post href="http://flv-player.net/" description="Lecteur FLV" hash="e395e61818316569b25035bda36a54ed" tag="video flash lecteur" time="2007-07-23T13:52:40Z"/> </posts>
Fichier final delicious à obtenir
<!DOCTYPE NETSCAPE-Bookmark-file-1> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <title>Bookmarks</title> <h1>Bookmarks</h1> <dl> <dt><a href="http://flv-player.net/" add_date="1229087683" tag="video,flash,lecteur">Lecteur FLV</a></dt> <dt><a href="http://flv-player.net/" add_date="1229087683" tag="video,flash,lecteur">Lecteur FLV</a></dt> <dt><a href="http://flv-player.net/" add_date="1229087683" tag="video,flash,lecteur">Lecteur FLV</a></dt> </dl>
Feuille de transformation Xslt
La feuille de transformation utilisée. Quelques détails sur cette feuille xsl :
- Ajout de saut ligne :
<xsl:text>
</xsl:text> - Ajout de tabulation :
<xsl:text>		</xsl:text> - Transformation du format de la date
<xsl:value-of select="is-date:unix-from-iso(@time)"/>,- utiliser en entête de document
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' - Importer le fichier date-time.xsl via
<xsl:import href="date-time.xsl"/>
- Supprimer les espaces par des virgules
<xsl:value-of select="translate(@tag, ' ', ',')"/>
Lancer la transformation
Simplement via la commande xsltproc feuille.xsl entree.xml > sortie.html
Remarques
- L'outil sablotron ne semble pas accepter l'utilisation des fonctions xsl
- Je ne sais pas créer correctement un doctype via Xslt de type
<!DOCTYPE NETSCAPE-Bookmark-file-1> - En sortie certaines balises prennent des attributs innatendus de type :
<dl xmlns:is-date="http://www.intelligentstreaming.com/xsl/date-time">
Edit 19/01/09 supprimer les attributs non voulus (is:date) -> avec l'attribut exclude-result-prefixes="isdate"
Commentaires
Pour info : il y a la possibilité d'importer l'ensemble sur Yoolink.fr qui permet l'import delicious et blogmarks.
S'il est possible d'importer ses blogmarks sur yoolinks, il ne semble pas possible de les exporter ensuite sur yoolink (un gros défaut de cette plateforme par ailleurs plutot pas mal)
En fait ce qui manque c'est le soft sur lequel on lance la commande xsltproc feuille.xsl entree.xml > sortie.html
Merci beaucoup pour cet article, il est vraiment bien, merci encore.
According to my investigation, millions of persons on our planet receive the home loans at various creditors. Thus, there is a good possibility to get a car loan in all countries.
This is what I was searching for a long time! Thank you for this article about college! Once somebody state that In union there is effect. Our high trained service can support you in writing <a href="http://essaysexperts.com">essay writing services</a>.
Left you some smile on my blog, hope this could help you. Who should help you in accomplishing? We would suggest to buy the <a href="http://www.supremeessays.com">essay samples</a>.
Some hard working people will learn your research close to this post and order the phd thesis from the <a href="http://www.master-dissertations.com">buy thesis</a> service.
This is not very easy to deal with several issues at the same time, especially when you need to perform the term research paper. Only the <a href="http://primeessays.com/index.php?mo...">process analysis essay</a> writing service would manage even with the most difficult assignments.