gnu.kawa.xslt

Class XslTranslator

Implemented Interfaces:
Consumer

public class XslTranslator
extends Lexer
implements Consumer

Translate an XSLT stylesheet to a Kawa Expression tree.

Field Summary

Fields inherited from class gnu.text.Lexer

interactive, nesting, port, tokenBuffer, tokenBufferLength

Method Summary

Consumer
append(String str)
void
endAttribute()
End of an attribute or end of an actual parameter.
void
endDocument()
void
endElement()
void
error(char kind, String message)
Expression
getExpression()
boolean
ignoring()
True if consumer is ignoring rest of element.
static String
isXslTag(Object type)
void
parse(Compilation comp)
String
popMatchingAttribute(String ns, String name, int start)
void
startAttribute(Object attrType)
Write a attribute for the current element.
void
startDocument()
void
startDocument(ModuleExp mexp)
void
startElement(Object type)
void
write(CharSequence str, int start, int length)
void
write(String str)
void
write(char[] buf, int off, int len)
void
write(int v)
void
writeBoolean(boolean v)
void
writeDouble(double v)
void
writeFloat(float v)
void
writeInt(int v)
void
writeLong(long v)
void
writeObject(Object v)

Methods inherited from class gnu.text.Lexer

checkErrors, checkNext, clearErrors, close, eofError, eofError, error, error, error, fatal, getColumnNumber, getErrors, getLineNumber, getMessages, getName, getPort, isInteractive, mark, peek, popNesting, pushNesting, read, read, readDigitsInBuffer, readOptionalExponent, reset, seenErrors, setInteractive, setMessages, skip, skip_quick, tokenBufferAppend, unread, unread, unread_quick

Method Details

append

public Consumer append(String str)

endAttribute

public void endAttribute()
End of an attribute or end of an actual parameter. The former use matches a startAttribute; the latter may not, and can be used to separate parameters in a parameter list. This double duty suggsts the method should at least be re-named.
Specified by:
endAttribute in interface Consumer

endDocument

public void endDocument()
Specified by:
endDocument in interface Consumer

endElement

public void endElement()
Specified by:
endElement in interface Consumer

error

public void error(char kind,
                  String message)
Overrides:
error in interface Lexer

getExpression

public Expression getExpression()

ignoring

public boolean ignoring()
True if consumer is ignoring rest of element. The producer can use this information to skip ahead.
Specified by:
ignoring in interface Consumer

isXslTag

public static String isXslTag(Object type)

parse

public void parse(Compilation comp)
            throws java.io.IOException

popMatchingAttribute

public String popMatchingAttribute(String ns,
                                   String name,
                                   int start)

startAttribute

public void startAttribute(Object attrType)
Write a attribute for the current element. This is only allowed immediately after a startElement.
Specified by:
startAttribute in interface Consumer

startDocument

public void startDocument()
Specified by:
startDocument in interface Consumer

startDocument

public void startDocument(ModuleExp mexp)

startElement

public void startElement(Object type)
Specified by:
startElement in interface Consumer

write

public void write(CharSequence str,
                  int start,
                  int length)
Specified by:
write in interface Consumer

write

public void write(String str)
Specified by:
write in interface Consumer

write

public void write(char[] buf,
                  int off,
                  int len)
Specified by:
write in interface Consumer

write

public void write(int v)
Specified by:
write in interface Consumer

writeBoolean

public void writeBoolean(boolean v)
Specified by:
writeBoolean in interface Consumer

writeDouble

public void writeDouble(double v)
Specified by:
writeDouble in interface Consumer

writeFloat

public void writeFloat(float v)
Specified by:
writeFloat in interface Consumer

writeInt

public void writeInt(int v)
Specified by:
writeInt in interface Consumer

writeLong

public void writeLong(long v)
Specified by:
writeLong in interface Consumer

writeObject

public void writeObject(Object v)
Specified by:
writeObject in interface Consumer