[Yanel-commits] rev 22877 - public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources

josias at wyona.com josias at wyona.com
Thu Feb 22 17:47:36 CET 2007


Author: josias
Date: 2007-02-22 17:47:35 +0100 (Thu, 22 Feb 2007)
New Revision: 22877

Modified:
   public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
Log:
minor restructuring and added some comments

Modified: public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
===================================================================
--- public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java	2007-02-22 16:36:34 UTC (rev 22876)
+++ public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java	2007-02-22 16:47:35 UTC (rev 22877)
@@ -130,12 +130,14 @@
 
             String xsltPath = getXSLTPath(getPath());
             if (xsltPath != null) {
+                
+                // create reader:
                 XMLReader xmlReader = XMLReaderFactory.createXMLReader();
                 CatalogResolver catalogResolver = new CatalogResolver();
                 xmlReader.setEntityResolver(catalogResolver);
                 
+                // create xslt transformer:
                 SAXTransformerFactory tf = (SAXTransformerFactory)TransformerFactory.newInstance();
-                //tf.setURIResolver(null);
                 TransformerHandler xsltHandler = tf.newTransformerHandler(new StreamSource(repo.getNode(xsltPath).getInputStream()));
                 xsltHandler.getTransformer().setParameter("yanel.path.name", PathUtil.getName(getPath()));
                 xsltHandler.getTransformer().setParameter("yanel.path", getPath());
@@ -148,21 +150,24 @@
                 if (client != null) xsltHandler.getTransformer().setParameter("client", client);
                 xsltHandler.getTransformer().setParameter("language", getLanguage());
 
-                xmlReader.setContentHandler(xsltHandler);
-                
+                // create i18n transformer:
                 I18nTransformer2 i18nTransformer = new I18nTransformer2("global", getLanguage());
                 i18nTransformer.setEntityResolver(catalogResolver);
                 
-                xsltHandler.setResult(new SAXResult(i18nTransformer));
-                
+                // create serializer:
                 Serializer serializer = SerializerFactory.getSerializer(SerializerFactory.XHTML_STRICT);
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                serializer.setOutputStream(baos);
                 
+                // chain everything together (create a pipeline):
+                xmlReader.setContentHandler(xsltHandler);
+                xsltHandler.setResult(new SAXResult(i18nTransformer));
                 i18nTransformer.setResult(new SAXResult(serializer.asContentHandler()));
+                serializer.setOutputStream(baos);
                 
+                // execute pipeline:
                 xmlReader.parse(new InputSource(getContentXML(repo, yanelPath, revisionName)));
                 
+                // write result into view:
                 defaultView.setInputStream(new ByteArrayInputStream(baos.toByteArray()));
                 return defaultView;
             } else {




More information about the Yanel-commits mailing list