org.apache.cocoon.components.language.markup.xsp
Class XSPMarkupLanguage

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLoggable
        |
        +--org.apache.cocoon.components.language.markup.AbstractMarkupLanguage
              |
              +--org.apache.cocoon.components.language.markup.xsp.XSPMarkupLanguage
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.Loggable, MarkupLanguage

public class XSPMarkupLanguage
extends AbstractMarkupLanguage

This class implements MarkupLanguage for Cocoon's XSP.

Version:
CVS $Revision: 1.2.2.5 $ $Date: 2001/11/13 16:58:42 $
Author:
Ricardo Rocha, Sebastien Sahuc

Inner Class Summary
protected  class XSPMarkupLanguage.PreProcessFilter
          Preprocess filter for XSP Markup language.
protected  class XSPMarkupLanguage.XSPTransformerChainBuilderFilter
          This filter builds on the fly a chain of transformers.
 
Inner classes inherited from class org.apache.cocoon.components.language.markup.AbstractMarkupLanguage
AbstractMarkupLanguage.LanguageDescriptor, AbstractMarkupLanguage.TransformerChainBuilderFilter
 
Fields inherited from class org.apache.cocoon.components.language.markup.AbstractMarkupLanguage
languages, logicsheetCache, manager, prefix, uri
 
Fields inherited from interface org.apache.cocoon.components.language.markup.MarkupLanguage
ROLE
 
Constructor Summary
XSPMarkupLanguage()
          The default constructor.
 
Method Summary
protected  void addDependency(java.lang.String location)
          Add a dependency on an external file to the document for inclusion in generated code.
 java.lang.String getEncoding()
          FIXME (SSA) : See interface.
 java.lang.String getName()
          Return the XSP language name: xsp :-)
protected  org.xml.sax.XMLFilter getPreprocessFilter(java.lang.String filename, ProgrammingLanguage language)
          Prepare the input source for logicsheet processing and code generation with a preprocess filter.
protected  AbstractMarkupLanguage.TransformerChainBuilderFilter getTranformerChainBuilder(LogicsheetCodeGenerator logicsheetMarkupGenerator, SourceResolver resolver)
          Returns a filter that chain on the fly the requested transformers for source code generation.
 
Methods inherited from class org.apache.cocoon.components.language.markup.AbstractMarkupLanguage
addLogicsheetsToGenerator, addLogicsheetToList, compose, configure, generateCode, setParameters
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable
getLogger, setLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSPMarkupLanguage

public XSPMarkupLanguage()
                  throws org.xml.sax.SAXException,
                         java.io.IOException
The default constructor.
Method Detail

getName

public java.lang.String getName()
Return the XSP language name: xsp :-)
Returns:
The xsp constant

getEncoding

public java.lang.String getEncoding()
FIXME (SSA) : See interface. For now returns null. Return the document-declared encoding or null if it's the platform's default encoding
Overrides:
getEncoding in class AbstractMarkupLanguage
Returns:
The document-declared encoding

getPreprocessFilter

protected org.xml.sax.XMLFilter getPreprocessFilter(java.lang.String filename,
                                                    ProgrammingLanguage language)
Prepare the input source for logicsheet processing and code generation with a preprocess filter. The return XMLFilter object is the first filter on the transformer chain. The XSP preprocess filter adds information on the root element such as creation-date, file-name and file-path, plus it use the the passed programming language to quote Strings on PCDATA node.
Overrides:
getPreprocessFilter in class AbstractMarkupLanguage
Parameters:
filename - The source filename
language - The target programming language
Returns:
The preprocess filter
See Also:
XSPMarkupLanguage.PreProcessFilter

addDependency

protected void addDependency(java.lang.String location)
Add a dependency on an external file to the document for inclusion in generated code. This is used to populate a list of File's tested for change on each invocation; this information is used to assert whether regeneration is necessary. XSP uses <xsp:dependency> elements for this purpose.
Overrides:
addDependency in class AbstractMarkupLanguage
Parameters:
location - The file path of the dependent file
See Also:
AbstractMarkupLanguage, ServerPagesGenerator and AbstractServerPage

getTranformerChainBuilder

protected AbstractMarkupLanguage.TransformerChainBuilderFilter getTranformerChainBuilder(LogicsheetCodeGenerator logicsheetMarkupGenerator,
                                                                                         SourceResolver resolver)
Returns a filter that chain on the fly the requested transformers for source code generation. This method scans the input SAX events for <?xml-logicsheet?> processing instructions and top-level <xsp:logicsheet> elements. Logicsheet declarations are removed from the input document.
Overrides:
getTranformerChainBuilder in class AbstractMarkupLanguage
Parameters:
logicsheetMarkupGenerator - the logicsheet markup generator
language - the language descriptor
resolver - the entity resolver
Returns:
XMLFilter the filter that build on the fly the transformer chain


Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.