<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Hi,</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>I'm using the PyXML Suite 0.8.3 with Python 2.3.</FONT></DIV>
<DIV><FONT size=2>The error I'm describing did not occur with 0.7.1 on Python
2.2.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>The expression:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>xpath.Evaluate( '//SUBSTANCE_GROUP[not( contains( @name,
"reverse" ) )]/SUBSTANCE', doc )</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>failed with:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>'Expected node set from relative expression. Got
()'</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>for the doc from:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2><?xml
version="1.0"?><BR><SUBSTANCE_GROUPS><BR>
<SUBSTANCE_GROUP name="cyp2D6"><BR>
<SUBSTANCE name="cyp2D6_Oligo15" job="C188T" alias="C188T-WT"
rank="1"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo20"
alias="C188T-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo25" job="C1062A" alias="C1062A-WT"
rank="2"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo26"
alias="C1062A-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo35" job="A1072G" alias="A1072G-WT"
rank="3"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo38"
alias="A1072G-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo51" job="C1085G" alias="C1085G-WT"
rank="4"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo52"
alias="C1085G-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo141" job="C1127T" alias="C1127T-WT"
rank="5"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo138"
alias="C1127T-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo65" job="G1749C" alias="G1749C-WT"
rank="6"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo70"
alias="G1749C-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo77" job="dT1795" alias="dT1795-WT"
rank="7"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo80"
alias="dT1795-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo89" job="G1934" alias="G1934-WT"
rank="8"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo84"
alias="G1934-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo101" job="G2064A" alias="G2064A-WT"
rank="9"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo96"
alias="G2064A-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo109" job="" alias="dA2637-WT"
rank="10"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo110"
alias="dA2637-MUT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo115" alias="C2938T-WT"
rank="11"><BR> <SUBSTANCE
name="cyp2D6_Oligo123" job="G4268C" alias="G4268C-WT"
rank="12"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo130"
alias="G4268C-MUT"/><BR>
</SUBSTANCE><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo116"
alias="C2938T-MUT"/><BR>
</SUBSTANCE><BR> </SUBSTANCE_GROUP><BR>
<SUBSTANCE_GROUP name="cyp2D6 -
reverse"><BR> <SUBSTANCE
name="cyp2D6_Oligo20" alias="C188T-MUT"
rank="1"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo15"
alias="C188T-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo26" alias="C1062A-MUT"
rank="2"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo25"
alias="C1062A-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo38" alias="A1072G-MUT"
rank="3"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo35"
alias="A1072G-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo52" alias="C1085G-MUT"
rank="4"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo51"
alias="C1085G-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo138" alias="C1127T-MUT"
rank="5"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo141"
alias="C1127T-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo70" alias="G1749C-MUT"
rank="6"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo65"
alias="G1749C-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo80" alias="dT1795-MUT"
rank="7"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo77"
alias="dT1795-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo84" alias="G1934-MUT"
rank="8"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo89"
alias="G1934-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo96" alias="G2064A-MUT"
rank="9"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo101"
alias="G2064A-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo110" alias="dA2637-MUT"
rank="10"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo109"
alias="dA2637-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo116" alias="C2938T-MUT"
rank="11"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo115"
alias="C2938T-WT"/><BR>
</SUBSTANCE><BR> <SUBSTANCE
name="cyp2D6_Oligo130" alias="G4268C-MUT"
rank="12"><BR>
<REL_SUBSTANCE name="cyp2D6_Oligo123"
alias="G4268C-WT"/><BR>
</SUBSTANCE><BR>
</SUBSTANCE_GROUP><BR></SUBSTANCE_GROUPS><BR></FONT></DIV>
<DIV><FONT size=2>I traced down the position the evaluation failed
on:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>class ParsedRelativeLocationPath:<BR>
...</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> def evaluate(self,
context):<BR> rt =
self._left.select(context)<BR> if
type(rt) !=
type([]):<BR>
raise Exception("Expected node set from relative expression. Got
%s"%str(rt))</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> ....</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>The method got an empty tuple from the
self._left.select(context) call.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>I added a statement in the class method below and every
seems to work fine.</DIV>
<DIV></FONT> </DIV>
<DIV><FONT size=2>class
ParsedChildAxisSpecifier(AxisSpecifier):<BR> def select(self,
context, nodeTest):<BR> """Select all
of the children of the context
node"""<BR> rt = filter(lambda node,
test=nodeTest, context=context,
pt=self.principalType:<BR>
test(context, node,
pt),<BR>
context.node.childNodes)</FONT></DIV>
<DIV><FONT size=2> ######## added line
#########<BR> <STRONG>rt = list( rt
)</STRONG></FONT></DIV>
<DIV><FONT size=2>
##########################<BR> return
(rt, 0)</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>My question is: Is there perhaps an error on my
side?</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Matthias Kirst</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV></BODY></HTML>