diff --git a/html/cli.html b/html/cli.html index 72346e4e1a33191820f794b9f998b54ff1b9a5b8..74ad43b8db732aff1bba31c69fa55045354d6410 100644 --- a/html/cli.html +++ b/html/cli.html @@ -116,6 +116,11 @@ The utility may be invoked in the following way: <div class="terminal"> $ java -cp lib/procalign.jar fr.inrialpes.exmo.align.cli.ParserPrinter file:examples/rdf/newsample.rdf -r fr.inrialpes.exmo.align.impl.renderer.OWLAxiomsRendererVisitor </div> +It should work with files and with URIs, dereferenceable or not: +<div class="terminal"> +$ java -cp lib/procalign.jar fr.inrialpes.exmo.align.cli.ParserPrinter http://alignapi.gforge.inria.fr//tutorial/refalign.rdf +$ java -cp lib/procalign.jar fr.inrialpes.exmo.align.cli.ParserPrinter http://aserv.inrialpes.fr/alid/1317289904908/444 +</div> </p> <h3>Translating queries</h3> diff --git a/src/fr/inrialpes/exmo/align/cli/ParserPrinter.java b/src/fr/inrialpes/exmo/align/cli/ParserPrinter.java index 6f94d5807df7f73aec76cab767164b1e38444e09..7d77fd575b08835e3cda9990d3cd6db1b9cc255b 100644 --- a/src/fr/inrialpes/exmo/align/cli/ParserPrinter.java +++ b/src/fr/inrialpes/exmo/align/cli/ParserPrinter.java @@ -133,7 +133,7 @@ public class ParserPrinter extends CommonCLI { System.exit(-1); } - //logger.trace("Filename: {}", initName); + logger.trace("Filename: {}", initName); try { // Create parser diff --git a/src/fr/inrialpes/exmo/align/parser/XMLParser.java b/src/fr/inrialpes/exmo/align/parser/XMLParser.java index 3c1ce9dfb58b37ef9a4efa44334514bc01527826..e2a91281d1ee1bb6d4233888e91a0be7e7f746e1 100644 --- a/src/fr/inrialpes/exmo/align/parser/XMLParser.java +++ b/src/fr/inrialpes/exmo/align/parser/XMLParser.java @@ -39,6 +39,8 @@ import java.io.InputStream; import java.io.File; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLConnection; import java.lang.Integer; import java.lang.Double; import java.util.Hashtable; @@ -198,10 +200,16 @@ public class XMLParser extends DefaultHandler { * If the current process has links (import or include) to others documents then they are * parsed. * @param uri URI of the document to parse + * Note: SAXParser has a parse( String uri ) method but it does not do content negotiation + * Hence we have to reimplement it (2014) */ public Alignment parse( String uri ) throws AlignmentException { try { - parser.parse( uri, this ); + // Reimplemented URI parsing because this does not do content negotiation + //parser.parse( uri, this ); + URLConnection connection = new URL( uri ).openConnection(); + connection.setRequestProperty( "Accept", "text/xml, application/rdf+xml" ); + parser.parse( connection.getInputStream(), this ); } catch ( SAXException sex ) { throw new AlignmentException( "Parsing error", sex ); } catch ( IOException ioex ) {