Merci de penser à copier vos corpus (archive zip ou tar.gz portant votre nom) sur la clef USB à disposition
Une solution pratique : un script ANT.
<project name="html4txm" default="makejar">
<!-- Construit un jar pour le projet avec tout ce qui est nécessaire -->
<target name="makejar">
<!-- Chemin du jar à générer -->
<jar destfile="dist/html4txm.jar">
<!-- les classes compilées du projet -->
<fileset dir="build" includes="**/*.class" />
<!-- Les différentes bibliothèques nécessaires
(une ligne par fichier jar) -->
<zipfileset src="lib/jing.jar" />
<!-- Les ressources à inclure -->
<fileset dir="rsc" includes="xhtml1-transitional.rnc" />
</jar>
</target>
</project>
http://stackoverflow.com/questions/155101/make-documentbuilder-parse-ignore-dtd-references
// Pour lire les fichiers XML en choisissant de ne pas les valider
// contre la DTD en ligne
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = dbfactory.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
log(NORMAL, "Erreur de configuration : "+pce.getMessage());
return;
}
builder.setEntityResolver(new EntityResolver() {
@Override
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
if (systemId.contains("xhtml1-transitional.dtd")) {
return new InputSource(new StringReader(""));
} else {
return null;
}
}
});
Pour créer un document XML à passer à la transformation XSL :
Document xmlDocument = builder.parse(srcFile);
DOMSource source = new DOMSource(xmlDocument);
« Keep the bar green to keep the code clean! »
// Passer null doit renvoyer null
@Test
public void testNull() {
assertNull(Fr.monoton(null));
}
// Chaîne vide
@Test
public void testVide() {
assertEquals("", Fr.monoton(""));
}
// Test identité
@Test
public void testIdentite() {
assertEquals("parfait", Fr.monoton("parfait"));
}
Un test plus exhaustif (en rajoutant le fichier "french" dans le dossier rsc)
// Test ultime
@Test
public void testDictionnaire() throws Exception {
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(new File("rsc/french")),
Charset.forName("UTF-8")));
Pattern p = Pattern.compile("^[a-zA-Z-' .]+$");
for (;;) {
String line = reader.readLine();
if (line == null) {
break;
}
String mline = Fr.monoton(line);
if (!p.matcher(mline).matches()) {
System.err.println(mline);
Assert.fail();
}
}
reader.close();
}
Anonymous