Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 8afaabd5 authored by Jérôme Euzenat's avatar Jérôme Euzenat
Browse files

- added init( Parameters ) arguments to visitors

- implemented "embedded" parameter allowing to avoid ?xml declaration when embedded
parent 6cda1105
No related branches found
No related tags found
No related merge requests found
Showing
with 60 additions and 10 deletions
...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException; ...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -56,6 +57,8 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor ...@@ -56,6 +57,8 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {}
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( !(align instanceof ObjectAlignment) ) if ( !(align instanceof ObjectAlignment) )
throw new AlignmentException("COWLMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); throw new AlignmentException("COWLMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
......
...@@ -28,6 +28,7 @@ import java.net.URI; ...@@ -28,6 +28,7 @@ import java.net.URI;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -55,11 +56,17 @@ public class HTMLRendererVisitor implements AlignmentVisitor ...@@ -55,11 +56,17 @@ public class HTMLRendererVisitor implements AlignmentVisitor
Alignment alignment = null; Alignment alignment = null;
Cell cell = null; Cell cell = null;
Hashtable<String,String> nslist = null; Hashtable<String,String> nslist = null;
boolean embedded = false; // if the output is XML embeded in a structure
public HTMLRendererVisitor( PrintWriter writer ){ public HTMLRendererVisitor( PrintWriter writer ){
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {
if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
alignment = align; alignment = align;
nslist = new Hashtable<String,String>(); nslist = new Hashtable<String,String>();
...@@ -81,8 +88,10 @@ public class HTMLRendererVisitor implements AlignmentVisitor ...@@ -81,8 +88,10 @@ public class HTMLRendererVisitor implements AlignmentVisitor
else { tag += ":"+name; } else { tag += ":"+name; }
//extensionString += " <"+tag+">"+((String[])ext)[2]+"</"+tag+">\n"; //extensionString += " <"+tag+">"+((String[])ext)[2]+"</"+tag+">\n";
} }
writer.print("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n"); if ( embedded == false ) {
writer.print("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML+RDFa 1.0//EN\" \"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd\">\n"); writer.print("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n");
writer.print("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML+RDFa 1.0//EN\" \"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd\">\n");
}
writer.print("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\""); writer.print("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"");
for ( Enumeration e = nslist.keys() ; e.hasMoreElements(); ) { for ( Enumeration e = nslist.keys() ; e.hasMoreElements(); ) {
String k = (String)e.nextElement(); String k = (String)e.nextElement();
......
...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException; ...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -54,6 +55,8 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor { ...@@ -54,6 +55,8 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor {
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( !( align instanceof ObjectAlignment )) { if ( !( align instanceof ObjectAlignment )) {
throw new AlignmentException("OWLAxiomsRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); throw new AlignmentException("OWLAxiomsRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
......
...@@ -28,6 +28,7 @@ import java.net.URI; ...@@ -28,6 +28,7 @@ import java.net.URI;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -63,8 +64,9 @@ public class RDFRendererVisitor implements AlignmentVisitor ...@@ -63,8 +64,9 @@ public class RDFRendererVisitor implements AlignmentVisitor
this.writer = writer; this.writer = writer;
} }
public void setEmbeded( boolean b ) { public void init( Parameters p ) {
embedded = b; if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
} }
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
......
...@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationTargetException; ...@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationTargetException;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -58,6 +59,8 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor { ...@@ -58,6 +59,8 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor {
generator = new Random(); generator = new Random();
} }
public void init( Parameters p ) {};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( !(align instanceof ObjectAlignment) ) if ( !(align instanceof ObjectAlignment) )
throw new AlignmentException("SEKTMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); throw new AlignmentException("SEKTMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
......
...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException; ...@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -49,11 +50,17 @@ public class SKOSRendererVisitor implements AlignmentVisitor { ...@@ -49,11 +50,17 @@ public class SKOSRendererVisitor implements AlignmentVisitor {
LoadedOntology onto1 = null; LoadedOntology onto1 = null;
LoadedOntology onto2 = null; LoadedOntology onto2 = null;
Cell cell = null; Cell cell = null;
boolean embedded = false; // if the output is XML embeded in a structure
public SKOSRendererVisitor( PrintWriter writer ){ public SKOSRendererVisitor( PrintWriter writer ){
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {
if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
};
// This must be considered // This must be considered
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( align instanceof ObjectAlignment ) { if ( align instanceof ObjectAlignment ) {
......
...@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationTargetException; ...@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationTargetException;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -51,18 +52,25 @@ public class SWRLRendererVisitor implements AlignmentVisitor { ...@@ -51,18 +52,25 @@ public class SWRLRendererVisitor implements AlignmentVisitor {
LoadedOntology onto1 = null; LoadedOntology onto1 = null;
LoadedOntology onto2 = null; LoadedOntology onto2 = null;
Cell cell = null; Cell cell = null;
boolean embedded = false; // if the output is XML embeded in a structure
public SWRLRendererVisitor( PrintWriter writer ){ public SWRLRendererVisitor( PrintWriter writer ){
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {
if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( !( align instanceof ObjectAlignment) ) if ( !( align instanceof ObjectAlignment) )
throw new AlignmentException("SWRLRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); throw new AlignmentException("SWRLRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
alignment = align; alignment = align;
onto1 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject1(); onto1 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject1();
onto2 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject2(); onto2 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject2();
writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); if ( embedded == false )
writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
writer.println("<swrlx:Ontology swrlx:name=\"generatedAl\""); writer.println("<swrlx:Ontology swrlx:name=\"generatedAl\"");
writer.println(" xmlns:swrlx=\"http://www.w3.org/2003/11/swrlx#\""); writer.println(" xmlns:swrlx=\"http://www.w3.org/2003/11/swrlx#\"");
writer.println(" xmlns:owlx=\"http://www.w3.org/2003/05/owl-xml\""); writer.println(" xmlns:owlx=\"http://www.w3.org/2003/05/owl-xml\"");
......
...@@ -41,13 +41,20 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor ...@@ -41,13 +41,20 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor
{ {
PrintWriter writer = null; PrintWriter writer = null;
boolean embedded = false; // if the output is XML embeded in a structure
public XMLMetadataRendererVisitor( PrintWriter writer ){ public XMLMetadataRendererVisitor( PrintWriter writer ){
this.writer = writer; this.writer = writer;
} }
public void init( Parameters p ) {
if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
writer.print("<?xml version='1.0' encoding='utf-8' standalone='yes'?>\n"); if ( embedded == false )
writer.print("<?xml version='1.0' encoding='utf-8' standalone='yes'?>\n");
writer.println("<Alignment>"); writer.println("<Alignment>");
writer.print(" <level>"); writer.print(" <level>");
writer.print( align.getLevel() ); writer.print( align.getLevel() );
......
...@@ -30,6 +30,7 @@ import java.net.URI; ...@@ -30,6 +30,7 @@ import java.net.URI;
import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.Alignment;
import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentVisitor;
import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.Parameters;
import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Cell;
import org.semanticweb.owl.align.Relation; import org.semanticweb.owl.align.Relation;
...@@ -53,6 +54,7 @@ public class XSLTRendererVisitor implements AlignmentVisitor { ...@@ -53,6 +54,7 @@ public class XSLTRendererVisitor implements AlignmentVisitor {
LoadedOntology onto2 = null; LoadedOntology onto2 = null;
Hashtable<String,String> namespaces = null; Hashtable<String,String> namespaces = null;
int nsrank = 0; int nsrank = 0;
boolean embedded = false; // if the output is XML embeded in a structure
public XSLTRendererVisitor( PrintWriter writer ){ public XSLTRendererVisitor( PrintWriter writer ){
this.writer = writer; this.writer = writer;
...@@ -63,6 +65,11 @@ public class XSLTRendererVisitor implements AlignmentVisitor { ...@@ -63,6 +65,11 @@ public class XSLTRendererVisitor implements AlignmentVisitor {
namespaces.put( "http://www.w3.org/2000/01/rdf-schema#", "rdfs" ); namespaces.put( "http://www.w3.org/2000/01/rdf-schema#", "rdfs" );
} }
public void init( Parameters p ) {
if ( p.getParameter( "embedded" ) != null
&& !p.getParameter( "embedded" ).equals("") ) embedded = true;
};
public void visit( Alignment align ) throws AlignmentException { public void visit( Alignment align ) throws AlignmentException {
if ( align instanceof ObjectAlignment ) { if ( align instanceof ObjectAlignment ) {
onto1 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject1(); onto1 = (LoadedOntology)((ObjectAlignment)alignment).getOntologyObject1();
...@@ -72,7 +79,8 @@ public class XSLTRendererVisitor implements AlignmentVisitor { ...@@ -72,7 +79,8 @@ public class XSLTRendererVisitor implements AlignmentVisitor {
collectURIs( (Cell)e.nextElement() ); collectURIs( (Cell)e.nextElement() );
} }
alignment = align; alignment = align;
writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); if ( embedded == false )
writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
writer.println("<xsl:stylesheet version=\"1.0\""); writer.println("<xsl:stylesheet version=\"1.0\"");
for ( Enumeration e = namespaces.keys(); e.hasMoreElements(); ){ for ( Enumeration e = namespaces.keys(); e.hasMoreElements(); ){
Object ns = e.nextElement(); Object ns = e.nextElement();
......
/* /*
* $Id$ * $Id$
* *
* Copyright (C) INRIA Rhône-Alpes, 2004 * Copyright (C) INRIA Rhône-Alpes, 2004, 2008
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
...@@ -27,8 +27,8 @@ package org.semanticweb.owl.align; ...@@ -27,8 +27,8 @@ package org.semanticweb.owl.align;
* @version $Id$ * @version $Id$
*/ */
public interface AlignmentVisitor public interface AlignmentVisitor {
{ public void init( Parameters p );
public void visit( Alignment a ) throws AlignmentException; public void visit( Alignment a ) throws AlignmentException;
public void visit( Cell c ) throws AlignmentException; public void visit( Cell c ) throws AlignmentException;
public void visit( Relation r ) throws AlignmentException; public void visit( Relation r ) throws AlignmentException;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment