final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText() + ";";
emptyContentCheck( localName, expression, parser );
FromDescr parent = (FromDescr) parser.getParent();
final CharStream charStream = new ANTLRStringStream( expression.trim() );
final DRLLexer lexer = new DRLLexer( charStream );
final TokenStream tokenStream = new CommonTokenStream( lexer );
final DRLParser drlParser = new DRLParser( tokenStream );
drlParser.setTreeAdaptor(new DroolsTreeAdaptor());
try {
Tree fromSourceTree = (Tree) drlParser.from_source().getTree();
if (!drlParser.hasErrors()){
CommonTreeNodeStream nodes = new CommonTreeNodeStream(fromSourceTree);
nodes.setTokenStream(tokenStream);
DescrBuilderTree walker = new DescrBuilderTree(nodes);
from_source_clause_return fromReturn = walker.from_source_clause();
parent.setDataSource(fromReturn.retAccessorDescr);
parent = fromReturn.fromDescr;
} else {
throw new SAXParseException( "<" + localName + "> must have a valid expression content ",
parser.getLocator() );
}