package org.openflexo.foundation.ontology.xsd; import java.util.logging.Level; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.openflexo.foundation.FlexoTestCase; import org.openflexo.foundation.ontology.DuplicateURIException; public class TestLibraryToXML extends FlexoTestCase { private static final java.util.logging.Logger logger = org.openflexo.logging.FlexoLogger.getLogger(TestLibraryToXML.class.getPackage() .getName()); private static final String FILE_NAME = "library"; private static final String LIBRARY_URI = "http://www.example.org/library#Library"; private static final String BOOK_URI = "http://www.example.org/library#Book"; private static final String BOOK_TITLE_URI = "http://www.example.org/library/Book#title"; public void testLibraryToXML() throws DuplicateURIException, ParserConfigurationException, TransformerException { // StringBuffer buffer = new StringBuffer(); XSOntology lib = new ImportedXSOntology("http://www.openflexo.org/test/XSD/library.owl", TestLibrary.openTestXSD(FILE_NAME), null); assertNotNull(lib); lib.loadWhenUnloaded(); assertTrue(lib.isLoaded()); if (lib.isLoaded() == false) { if (logger.isLoggable(Level.WARNING)) { logger.warning("Failed to load."); } } else { XSOntIndividual library = lib.createOntologyIndividual("myLibrary", lib.getClass(LIBRARY_URI)); XSOntIndividual book1 = lib.createOntologyIndividual("book1", lib.getClass(BOOK_URI)); book1.setPropertyValue(lib.getProperty(BOOK_TITLE_URI), "My First Book"); XSOntIndividual book2 = lib.createOntologyIndividual("book2", lib.getClass(BOOK_URI)); book2.setPropertyValue(lib.getProperty(BOOK_TITLE_URI), "My Second Book"); library.addChild(book1); library.addChild(book2); if (logger.isLoggable(Level.INFO)) { TransformerFactory transformerFactory = TransformerFactory.newInstance( "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl", null); System.out.println(transformerFactory.getClass().getName()); System.out.println(transformerFactory.getClass().getClassLoader()); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(lib.toXML()); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); // logger.info(source.toString()); } } } }