Header

Introduction

Kabeja is splitt into different types of components. Examples for components are the PostProcessors, SAXGenerators, SAXFilters, SAXSerializers. This separation should help you to add more functionality to Kabeja.

The Kabeja project started as dxf2svg conversation tool, this explains the used name "DXFDocument" below. In a later release we will change this to a more generic name. We adapeted the pipeline processing from the Web Development Framework Cocoon. So you will find similarities here.

Parser

A Parser will create the data (DXFDocument) for the next step of processing. The Kabeja project provides at the moment only a DXF parser.

See Parser

PostProcessor

A PostProcessor will process on the (DXFDocument) and can change, add or remove data from the CAD data.

See PostProcessor.

SAXGenerator

A SAXGenerator converts the given CAD data (DXFDocument) to XML (SAX events).

See SAXGenerator.

SAXFilter

A SAXFilter will work on the XML SAX events and can change,add or remove XML SAX events.

See SAXFilter.

SAXSerializer

A SAXSerializer will output the XML SAX events to a given stream.

See SAXSerializer.

StreamGenerator

A StreamGenerator will output the CAD data (DXFDocument) direct to a given stream.

At the moment this kind of component is not supported in the processing system. This will be added in the next release.

See StreamGenerator.

Component Configuration

You can register your component in the processing configuration file ("conf/process.xml"). Add your component in the right section and put your component.jar into the "dist/lib" directory of kabeja. Then you only need a processing pipeline, where you use the component.

<?xml version="1.0" encoding="UTF-8"?>
<processing xmlns="http://kabeja.org/processing/1.0" 
               xmlns:xi="http://www.w3.org/2001/XInclude">
 <!--+
	| The processing configuration  
        +-->
  <configuration>
  <!--+ 
	 |not yet implemented, but will follow: the parser configuration
	 |<xi:include href="parser.xml"/>
	 +-->
	
   <postprocessors>
    <postprocessor class="org.kabeja.processing.BoundsDebugger" name="bounds.debugger"/>
    ...
   </postprocessors>
		
   <filters>
    <filter class="org.kabeja.batik.tools.ImageBase64Encoder" name="image"/>
    ...
   </filters>
		
   <serializers>
    <serializer class="org.kabeja.xml.SAXPrettyOutputter" name="svg"/>
    ...
   </serializers>
		
   <generators>
    <generator class="org.kabeja.svg.SVGGenerator" name="svg"/>
   </generators>

Footer-left