Weblide est un validateur XML multi-schémas gratuit,
capable d’explorer un site Web XHTML complet, en ligne ou en local, et supportant XHTML5.
C’est aussi un puissant vérificateur de liens.
Il est principalement destiné aux webmestres ayant connaissance des standards XML,
mais ses profils prédéfinis permettent son utilisation par des débutants jusqu’aux experts.
Weblide peut utiliser en même temps DTD, XML schema (XSD), RELAX NG et Schematron comme support de validation.
Ce logiciel est fourni avec une liste prédéfinie de schémas couvrant la plupart des cas, mais les utilisateurs avancés peuvent étendre cette liste eux-mêmes.
Les schémas et leurs inclusions sont téléchargés automatiquement depuis Internet la première fois qu’ils sont requis, puis gardés en cache localement.
Tout en étant principalement basé sur des schémas officiels,
Weblide est plus strict (sauf pour le XHTML5), et vérifie plus de choses que, par exemple,
le validateur XHTML du W3C,
et supporte de nombreux autres types de documents XML.
Schematron :
avec l’implémentation XSLT de Rick Jelliffe.
Plusieurs de ces schémas peuvent être utilisés simultanément.
Support de la fonction XSLT document() pour la validation Schematron avec sources multiples.
Alternativement, en particulier sous Linux, vous pouvez essayer d’utiliser Mono.
En particulier pour Mono, vous pouvez télécharger l’ancienne version 2.0 de Weblide (.NET 2.0, support partiel à partir de Mono 1.2.5).
La plupart des schémas requis seront téléchargés depuis le Web la première fois qu’ils seront utilisés.
Quelques schémas sont livrés en plus avec Weblide dans ./weblide/modified-schemas/ ;
ce sont des schémas corrigés pour fonctionner avec Weblide, ou des schémas conçus spécialement.
Attention : Vous devriez éviter de lancer ce logiciel sur des sites de production,
et plutôt le limiter à votre machine de développement,
car ce logiciel peut être potentiellement néfaste quand par exemple il suit des liens dynamiques qui déclenchent des actions sur le site Web.
En téléchargeant ce logiciel, vous reconnaissez que le développeur n’est pas responsable des conséquences de son utilisation, bonne ou mauvaise.
Licence
Le programme lui-même est distribué en tant que gratuiciel, mais n’est actuellement pas livré avec son code source.
Si vous souhaitez le distribuer, merci de le faire autant que possible avec un lien vers cette page.
Les schémas restent la propriété de leurs auteurs respectifs.
Si vous utilisez et aimez ce logiciel (surtout pour un usage professionnel), merci de considérer faire un don.
Limitations actuelles
Pas de support pour CSS.
Pour être validés, les espaces de noms doivent être déclarés au niveau de la racine du document XML.
Les DTDs ne sont utilisées que lorsqu’elles sont dans le document.
Un seul schéma RELAX NG peut être utilisé à la fois par document.
Schematron
N’indique pas les numéros de ligne des erreurs.
Pas de lecture à la volée avec Schematron (le document entier doit être chargé en mémoire).
Les instructions Schematron ne sont pas utilisées lorsqu’elles sont déclarées dans des inclusions externes d’un schéma RNC (Relax NG en syntaxe compacte).
La liste des schémas est stockée dans un document XML SchemaDB ad hoc, au lieu d’utiliser un standard comme DSDL.
Pas de traduction française pour l’instant. Une partie des messages d’erreurs sont traduits automatiquement par la plateforme .NET.
Foire aux questions
Le programme ne démarre pas
Avez-vous bien installé le framework .NET 4.0 ? (normalement disponible aussi avec Windows update)
Erreur d’encodage XML
Symptômes : Le validateur annonce une erreur Unicode, ou XML à propos d’un caractère invalide, ou encore un conflit entre jeux de caractères.
Description : Weblide ne prend pas en charge la soupe de tags HTML,
mais seulement les purs documents XHTML, c’est à dire compatibles XML.
Voici le comportement standard pour les différents types de documents lorsque l’encodage n’est pas déclaré dans les entêtes HTTP :
application/xhtml+xml ou application/xml
Le jeu de caractère est détecté au niveau du marqueur Unicode BOM de début de fichier et de la déclaration XML.
En leur absence, UTF-8 est utilisé.
text/xml
Le jeu de caractère utilisé est US-ASCII et a priorité sur la déclaration XML.
text/html
Le jeu de caractère utilisé est ISO-8859-1.
L’ancienne déclaration de type <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> n’est alors pas prise en compte.
Solution :
Regardez dans l’onglet "Output details" où vous pouvez voir le jeu de caractères déclaré par le serveur s’il y en a un
(sous-titre “HTTP + Unicode”), et lequel est utilisé (sous-titre “XML + Unicode”).
Pour avoir des documents XHTML+XML valides, vous devez :
Avoir un entête HTTP Content-Type avec une déclaration du jeu de caractère. Celles-ci ont la priorité sur les autres déclarations.
Exemple avec un fichier Apache .htaccess : AddCharset UTF-8 .html
Exemple en PHP : <?php header('Content-Type: text/html; charset=UTF-8');?>
Et/ou pour les documents application/xhtml+xml ou application/xml :
utiliser une déclaration XML sur la toute première ligne : <?xml version="1.0" encoding="ISO-8859-1"?>
et/ou utiliser un des jeux de caractères natifs de XML que sont Unicode UTF-8,
ASCII ou UTF-16.
Et/ou utiliser le jeu de caractère par défaut ou déclaré au niveau des entêtes HTTP.
C’est une bonne idée de suivre toutes ces trois règles (où vous pouvez remplacer "ISO-8859-1" avec par exemple "UTF-8").
Vous pouvez en savoir plus en lisant chez le W3C :
L’élément legend dans fieldset
est obligatoire en XHTML 1.0 strict selon le schéma XML officiel (volontairement), mais optionnel selon la DTD.
La spécification dit que legenddevrait être utilisé pour améliorer l’accessibilité.
Si vous ne croyez pas les résultats
Weblide est essentiellement un moteur qui valide les documents en fonction de schémas externes, dont la plupart sont officiels et font autorité.
Pour les pages XHTML, merci d’essayer d’autres outils de validation avant de blâmer ce logiciel :
le validateur du W3C (validité minimale, peu de contraintes XML, sauf pour les nouveaux documents XHTML5).