org.ucl.xpath
Class Normalizer

java.lang.Object
  extended byorg.ucl.xpath.Normalizer
All Implemented Interfaces:
XPathVisitor

public class Normalizer
extends java.lang.Object
implements XPathVisitor

Normalizer that uses XPathVisitor.


Constructor Summary
Normalizer(StaticContext sc)
          Static Context is set to sc
 
Method Summary
 void printBinExpr(java.lang.String name, BinExpr e)
           
 void printUnExpr(java.lang.String name, UnExpr e)
           
 java.lang.Object visit(AddExpr addex)
          Visit AddExpr.
 java.lang.Object visit(AndExpr andex)
          Visit AndExpr.
 java.lang.Object visit(AnyKindTest e)
          Visit AnyKindTest.
 java.lang.Object visit(AttributeTest e)
          Visit AttributeTest.
 java.lang.Object visit(AxisStep e)
          Visit AxisStep.
 java.lang.Object visit(CastableExpr cexp)
          Visit CastableExpr.
 java.lang.Object visit(CastExpr cexp)
          Visit CastExpr.
 java.lang.Object visit(CmpExpr cmpex)
          Visit CmpExpr.
 java.lang.Object visit(CntxItemExpr e)
          Visit CntxItemExpr.
 java.lang.Object visit(CommentTest e)
          Visit CommentTest.
 java.lang.Object visit(DecimalLiteral e)
          Visit DecimalLiteral.
 java.lang.Object visit(DivExpr mulex)
          Visit DivExpr.
 java.lang.Object visit(DocumentTest e)
          Visit DocumentTest.
 java.lang.Object visit(DoubleLiteral e)
          Visit DoubleLiteral.
 java.lang.Object visit(ElementTest e)
          Visit ElementTest.
 java.lang.Object visit(ExceptExpr eexpr)
          Visit ExceptExpr.
 java.lang.Object visit(FilterExpr e)
          Visit FilterExpr.
 java.lang.Object visit(ForExpr fex)
          Visit ForExpr.
 java.lang.Object visit(ForwardStep e)
          Visit ForwardStep.
 java.lang.Object visit(FunctionCall e)
          Visit FunctionCall.
 java.lang.Object visit(IDivExpr mulex)
          Visit IDivExpr.
 java.lang.Object visit(IfExpr ifex)
          Visit IfExpr.
 java.lang.Object visit(InstOfExpr ioexp)
          Visit InstOfExpr.
 java.lang.Object visit(IntegerLiteral e)
          Visit IntegerLiteral.
 java.lang.Object visit(IntersectExpr iexpr)
          Visit IntersectExpr.
 java.lang.Object visit(ItemType e)
          Visit ItemType.
 java.lang.Object visit(MinusExpr e)
          Visit MinusExpr.
 java.lang.Object visit(ModExpr mulex)
          Visit ModExpr.
 java.lang.Object visit(MulExpr mulex)
          Visit MulExpr.
 java.lang.Object visit(NameTest e)
          Visit NameTest.
 java.lang.Object visit(OrExpr orex)
          Visit OrExpr.
 java.lang.Object visit(ParExpr e)
          Visit ParExpr.
 java.lang.Object visit(PipeExpr pipex)
          Visit PipeExpr.
 java.lang.Object visit(PITest e)
          Visit PITest.
 java.lang.Object visit(PlusExpr e)
          Visit PlusExpr.
 java.lang.Object visit(QuantifiedExpr qex)
          Visit QuantifiedExpr.
 java.lang.Object visit(RangeExpr rex)
          Visit RangeExpr.
 java.lang.Object visit(ReverseStep e)
          Visit ReverseStep.
 java.lang.Object visit(SchemaAttrTest e)
          Visit SchemaAttrTest.
 java.lang.Object visit(SchemaElemTest e)
          Visit SchemElemTest.
 java.lang.Object visit(SequenceType e)
          Visit SequenceType.
 java.lang.Object visit(SingleType e)
          Visit SingleType.
 java.lang.Object visit(StringLiteral e)
          Visit StringLiteral.
 java.lang.Object visit(SubExpr subex)
          Visit SubExpr.
 java.lang.Object visit(TextTest e)
          Visit TextTest.
 java.lang.Object visit(TreatAsExpr taexp)
          Visit TreatAsExpr.
 java.lang.Object visit(UnionExpr unex)
          Visit UnionExpr.
 java.lang.Object visit(VarRef e)
          Visit VarRef.
 java.lang.Object visit(XPath xp)
          Returns the normalized tree
 java.lang.Object visit(XPathExpr e)
          Visit XPathExpr.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Normalizer

public Normalizer(StaticContext sc)
Static Context is set to sc

Parameters:
sc - is the StaticContext.
Method Detail

visit

public java.lang.Object visit(XPath xp)
Returns the normalized tree

Specified by:
visit in interface XPathVisitor
Parameters:
xp - is the xpath expression.
Returns:
the xpath expressions.

visit

public java.lang.Object visit(ForExpr fex)
Description copied from interface: XPathVisitor
Visit ForExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
fex - is the For expression.
Returns:
fex expression.

visit

public java.lang.Object visit(QuantifiedExpr qex)
Description copied from interface: XPathVisitor
Visit QuantifiedExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
qex - is the Quantified expression.
Returns:
qex expression.

visit

public java.lang.Object visit(IfExpr ifex)
Description copied from interface: XPathVisitor
Visit IfExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
ifex - is the 'if' expression.
Returns:
ifex expression.

printBinExpr

public void printBinExpr(java.lang.String name,
                         BinExpr e)
Parameters:
name - of binary expression.
e - is the binary expression.

visit

public java.lang.Object visit(OrExpr orex)
Description copied from interface: XPathVisitor
Visit OrExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
orex - is the 'or' expression.
Returns:
make logic expr(orex).

visit

public java.lang.Object visit(AndExpr andex)
Description copied from interface: XPathVisitor
Visit AndExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
andex - is the 'and' expression.
Returns:
make logic expr(andex).

visit

public java.lang.Object visit(CmpExpr cmpex)
Description copied from interface: XPathVisitor
Visit CmpExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
cmpex - is the compare expression.
Returns:
cmpex.

visit

public java.lang.Object visit(RangeExpr rex)
Description copied from interface: XPathVisitor
Visit RangeExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
rex - is the range expression.
Returns:
a new function.

visit

public java.lang.Object visit(AddExpr addex)
Description copied from interface: XPathVisitor
Visit AddExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
addex - is the add expression.
Returns:
a new function.

visit

public java.lang.Object visit(SubExpr subex)
Description copied from interface: XPathVisitor
Visit SubExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
subex - is the sub expression.
Returns:
a new function.

visit

public java.lang.Object visit(MulExpr mulex)
Description copied from interface: XPathVisitor
Visit MulExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
mulex - is the multiply expression.
Returns:
a new function.

visit

public java.lang.Object visit(DivExpr mulex)
Description copied from interface: XPathVisitor
Visit DivExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
mulex - is the division expression.
Returns:
a new function.

visit

public java.lang.Object visit(IDivExpr mulex)
Description copied from interface: XPathVisitor
Visit IDivExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
mulex - is the integer division expression that always returns an integer.
Returns:
a new function.

visit

public java.lang.Object visit(ModExpr mulex)
Description copied from interface: XPathVisitor
Visit ModExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
mulex - is the mod expression.
Returns:
a new function.

visit

public java.lang.Object visit(UnionExpr unex)
Description copied from interface: XPathVisitor
Visit UnionExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
unex - is the union expression.
Returns:
a new function.

visit

public java.lang.Object visit(PipeExpr pipex)
Description copied from interface: XPathVisitor
Visit PipeExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
pipex - is the pipe expression.
Returns:
a new function.

visit

public java.lang.Object visit(IntersectExpr iexpr)
Description copied from interface: XPathVisitor
Visit IntersectExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
iexpr - is the intersect expression.
Returns:
a new function.

visit

public java.lang.Object visit(ExceptExpr eexpr)
Description copied from interface: XPathVisitor
Visit ExceptExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
eexpr - is the except expression.
Returns:
a new function.

visit

public java.lang.Object visit(InstOfExpr ioexp)
Description copied from interface: XPathVisitor
Visit InstOfExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
ioexp - is the instance of expression.
Returns:
a ioexp.

visit

public java.lang.Object visit(TreatAsExpr taexp)
Description copied from interface: XPathVisitor
Visit TreatAsExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
taexp - is the treat as expression.
Returns:
a taexp.

visit

public java.lang.Object visit(CastableExpr cexp)
Description copied from interface: XPathVisitor
Visit CastableExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
cexp - is the castable expression.
Returns:
cexp.

visit

public java.lang.Object visit(CastExpr cexp)
Description copied from interface: XPathVisitor
Visit CastExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
cexp - is the cast expression.
Returns:
cexp.

printUnExpr

public void printUnExpr(java.lang.String name,
                        UnExpr e)
Parameters:
name - is the name.
e - is the Un Expression.

visit

public java.lang.Object visit(MinusExpr e)
Description copied from interface: XPathVisitor
Visit MinusExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the minus expression.
Returns:
new sub expression

visit

public java.lang.Object visit(PlusExpr e)
Description copied from interface: XPathVisitor
Visit PlusExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the plus expression.
Returns:
new add expression

visit

public java.lang.Object visit(XPathExpr e)
Description copied from interface: XPathVisitor
Visit XPathExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the xpath expression.
Returns:
result.

visit

public java.lang.Object visit(ForwardStep e)
Description copied from interface: XPathVisitor
Visit ForwardStep.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the forward step.
Returns:
e

visit

public java.lang.Object visit(ReverseStep e)
Description copied from interface: XPathVisitor
Visit ReverseStep.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the reverse step.
Returns:
e

visit

public java.lang.Object visit(NameTest e)
Description copied from interface: XPathVisitor
Visit NameTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the Name test.
Returns:
e

visit

public java.lang.Object visit(VarRef e)
Description copied from interface: XPathVisitor
Visit VarRef.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the veriable reference.
Returns:
e

visit

public java.lang.Object visit(StringLiteral e)
Description copied from interface: XPathVisitor
Visit StringLiteral.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the string literal.
Returns:
e

visit

public java.lang.Object visit(IntegerLiteral e)
Description copied from interface: XPathVisitor
Visit IntegerLiteral.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the integer literal.
Returns:
e

visit

public java.lang.Object visit(DoubleLiteral e)
Description copied from interface: XPathVisitor
Visit DoubleLiteral.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the double literal.
Returns:
e

visit

public java.lang.Object visit(DecimalLiteral e)
Description copied from interface: XPathVisitor
Visit DecimalLiteral.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the decimal literal.
Returns:
e

visit

public java.lang.Object visit(ParExpr e)
Description copied from interface: XPathVisitor
Visit ParExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the par expression.
Returns:
e

visit

public java.lang.Object visit(CntxItemExpr e)
Description copied from interface: XPathVisitor
Visit CntxItemExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the Cntx Item Expression.
Returns:
new function

visit

public java.lang.Object visit(FunctionCall e)
Description copied from interface: XPathVisitor
Visit FunctionCall.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the fucntion call.
Returns:
e

visit

public java.lang.Object visit(SingleType e)
Description copied from interface: XPathVisitor
Visit SingleType.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the single type.
Returns:
e

visit

public java.lang.Object visit(SequenceType e)
Description copied from interface: XPathVisitor
Visit SequenceType.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the sequence type.
Returns:
e

visit

public java.lang.Object visit(ItemType e)
Description copied from interface: XPathVisitor
Visit ItemType.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the item type.
Returns:
e

visit

public java.lang.Object visit(AnyKindTest e)
Description copied from interface: XPathVisitor
Visit AnyKindTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the any kind test.
Returns:
e

visit

public java.lang.Object visit(DocumentTest e)
Description copied from interface: XPathVisitor
Visit DocumentTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the document test.
Returns:
e

visit

public java.lang.Object visit(TextTest e)
Description copied from interface: XPathVisitor
Visit TextTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the text test.
Returns:
e

visit

public java.lang.Object visit(CommentTest e)
Description copied from interface: XPathVisitor
Visit CommentTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the common test.
Returns:
e

visit

public java.lang.Object visit(PITest e)
Description copied from interface: XPathVisitor
Visit PITest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the PI test.
Returns:
e

visit

public java.lang.Object visit(AttributeTest e)
Description copied from interface: XPathVisitor
Visit AttributeTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the attribute test.
Returns:
e

visit

public java.lang.Object visit(SchemaAttrTest e)
Description copied from interface: XPathVisitor
Visit SchemaAttrTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the schema attribute test.
Returns:
e

visit

public java.lang.Object visit(ElementTest e)
Description copied from interface: XPathVisitor
Visit ElementTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the element test.
Returns:
e

visit

public java.lang.Object visit(SchemaElemTest e)
Description copied from interface: XPathVisitor
Visit SchemElemTest.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the schema element test.
Returns:
e

visit

public java.lang.Object visit(AxisStep e)
Description copied from interface: XPathVisitor
Visit AxisStep.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the axis step.
Returns:
e

visit

public java.lang.Object visit(FilterExpr e)
Description copied from interface: XPathVisitor
Visit FilterExpr.

Specified by:
visit in interface XPathVisitor
Parameters:
e - is the filter expression.
Returns:
e