ó Çe=c @s½ddlTddlZddlTdefd„ƒYZdefd„ƒYZd„ZddlZddlZdZ e d e Z d e d e d e d e de dZ ej e ej ƒZddddgZddddddddddddd g Zeed!d"d#d$ged%d&d'd(d)d*d+d,d-d.g ƒd/d0gZejd1krid2„Zn d3„Zdfd4„ƒYZddlZddlZeZdefd5„ƒYZdS(6iÿÿÿÿ(t*Nt XPathScannerc(BsÃeZdejdƒfdejdƒfdejdƒfdejdƒfdejd ƒfd ejd ƒfd ejd ƒfdejdƒfdejdƒfdejdƒfdejdƒfdejdƒfdejdƒfdejdƒfdejdƒfdejdƒfd ejd!ƒfd"ejd#ƒfd$ejd%ƒfd&ejd'ƒfd(ejd)ƒfd*ejd+ƒfd,ejd-ƒfd.ejd/ƒfd0ejd1ƒfd2ejd3ƒfd4ejd5ƒfd6ejd1ƒfd7ejd8ƒfd9ejd:ƒfd;ejd<ƒfd=ejd>ƒfd?ejd@ƒfdAejdBƒfdCejdDƒfdEejdFƒfdGejdHƒfdIejdJƒfg&ZdK„ZRS(Ls'mod'tmods'div'tdivs'-'t-s'>='s>=s'>'t>s'<='s<=s'<'t|jdƒ|jƒ}|j|ƒS|dkrZ|jƒ}|St|jdƒ‚dS(Ns'/'s'//'s$Could not match AbsoluteLocationPath(R6R2tOptRelativeLocationPathtabsoluteLocationPathtAbbreviatedAbsoluteLocationPathR9R:(R)R;R<R>((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR8Ys       cCsN|jƒ}|dkrdS|dkr8|jƒ}|St|jdƒ‚dS(Ns'@'s'::'s'//'s'/'R RRRRRRRRRRRRRR"R$s'Could not match OptRelativeLocationPath(s'@'s'::'s'//'s'/'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsIDsKEY( s'::'s'//'s'/'sLiteralsNumbersVariableReferencesLPARENsLBRACKETs FunctionNamesIDsKEY(R6R(R7R9R:(R)R;R7((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR<es    cCs|jƒ}|j|ƒ}|S(N(tSteptRelativeLocationPaths(R)R?R@((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR7os cCsº|jƒ}|dkr|S|dkr`|jdƒ|jƒ}|j|j||ƒƒ}|S|dkr¤|jdƒ|jƒ}|j|j||ƒƒ}|St|jdƒ‚dS(Ns'@'s'::'s'//'s'/'R RRRRRRRRRRRRRR"R$s%Could not match RelativeLocationPaths(s'@'s'::'s'//'s'/'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsIDsKEY(R6R2R?R@trlptarlpR9R:(R)tvR;R?R@((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR@ts        cCs|jƒ}|d krO|jƒ}|jƒ}|jƒ}|j|||ƒS|d krk|jƒ}|St|jd ƒ‚dS( NRRs'@'RRRRRRsCould not match Step(sAxisNamesNodeTypes'@'sSTARsQNames NCNameStarsNCName(sDOTsDOTDOT(R6t AxisSpecifiertNodeTestt PredicateststeptAbbreviatedStepR9R:(R)R;RDRERFRH((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR?…s       cCsa|jƒ}|dkrgS|d krK|jƒ}|jƒ}|g|St|jdƒ‚dS(Ns'@'s'::'R RRRRRRRRRRRRRR"R$sCould not match Predicates(s'@'s'::'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsIDsKEY(R6t PredicateRFR9R:(R)R;RIRF((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRF’s      cCsz|jƒ}|dkrH|jdƒ}|jdƒ|j|j|ƒS|d krd|jƒ}|St|jd ƒ‚dS( NRs'::'s'@'RRRRRsCould not match AxisSpecifier(s'@'sNodeTypesSTARsQNames NCNameStarsNCName(R6R2t axisSpecifiertanMaptAbbreviatedAxisSpecifierR9R:(R)R;RRL((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRDs     cCs“|jƒ}|d kr(|jƒ}|S|dkr}|jdƒ}|jdƒ}|jƒ}|jdƒ}|j||ƒSt|jdƒ‚dS( NRRRRRRRsCould not match NodeTest(sSTARsQNames NCNameStarsNCName(R6tNameTestR2t OptLiteralt mkNodeTestR9R:(R)R;RMRRRNR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRE©s     cCsQ|jƒ}|dkrdS|dkr;|jdƒ}|St|jdƒ‚dS(NRR sCould not match OptLiteral(R6R(R2R9R:(R)R;R ((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRN·s   cCsÏ|jƒ}|dkr7|jdƒ}|jddƒS|dkr_|jdƒ}|j|ƒS|dkrŽ|jdƒ}|j|d dƒS|dkr¹|jdƒ}|jd|ƒSt|jdƒ‚dS(NRRRRiþÿÿÿRsCould not match NameTest(R6R2tnameTestR(tmkQNameR9R:(R)R;RRRR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRMÁs      cCs.|jdƒ}|jƒ}|jdƒ}|S(NRR(R2t PredicateExpr(R)RRRR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRIÒs cCs|jƒ}|S(N(R4(R)R4((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRRØs cCs&|jdƒ|jƒ}|j|ƒS(Ns'//'(R2R7taalp(R)R7((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR>Üs  cCsr|jƒ}|dkr4|jdƒ}|jdƒS|dkr\|jdƒ}|jdƒSt|jdƒ‚dS(NRiRisCould not match AbbreviatedStep(R6R2tabbreviatedStepR9R:(R)R;RR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRHás     cCsg|jƒ}|dkr(|jtjƒS|dkrQ|jdƒ|jtjƒSt|jdƒ‚dS( NRRRRRs'@'s(Could not match AbbreviatedAxisSpecifier(sNodeTypesSTARsQNames NCNameStarsNCName(R6RJtpyxpatht CHILD_AXISR2tATTRIBUTE_AXISR9R:(R)R;((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRLìs    cCs|jƒ}|S(N(tOrExpr(R)RX((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR4ös c Csð|jƒ}|dkr4|jdƒ}|j|ƒS|dkrn|jdƒ}|jƒ}|jdƒ}|S|dkr–|jdƒ}|j|ƒS|dkr¾|jdƒ}|j|ƒS|d krÚ|jƒ}|St|jd ƒ‚dS( NRRRR RRR"R$sCould not match PrimaryExpr(s FunctionNamesIDsKEY( R6R2tmkVariableReferenceR4tliteraltnumbert FunctionCallR9R:( R)R;RRR4RR RR\((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyt PrimaryExprús&           cCs'|jƒ}|dkra|jdƒ}|jdƒ}|jƒ}|jdƒ}|j||ƒS|dkr¹|jdƒ}|jdƒ}|jƒ}|jdƒ}|jdd|ƒS|dkr|jdƒ}|jdƒ}|jƒ}|jdƒ}|jdd|ƒSt|jdƒ‚dS( NRRRR"R#R$R%sCould not match FunctionCall(R6R2t ArgumentstmkFunctionCallt functionCallR(R9R:(R)R;RRR^RR"R$((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR\s(       cCs`|jƒ}|dkrgS|dkrJ|jƒ}|j|gƒ}|St|jdƒ‚dS(NRs'mod's'div's'>='s'>'s'<='s'<'s'!='s'='s'and's'or's','s'::'RRRRRR sCould not match Arguments(s'mod's'div's'>='s'>'s'<='s'<'s'!='s'='s'and's'or's','s'::'sMultiplyOperatorsPLUSsLBRACKETsRBRACKETsBARsEND(R6tArgumenttKommaArgumentsR9R:(R)R;RaRb((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR^'s    cCsq|jƒ}|dkr|S|dkr[|jdƒ|jƒ}|j||gƒ}|St|jdƒ‚dS(NRs','sCould not match KommaArguments(R6R2RaRbR9R:(R)RCR;RaRb((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRb2s     cCs|jƒ}|S(N(R4(R)R4((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRa>s cCs|jƒ}|j|ƒ}|S(N(tPathExprt UnionExprs(R)RcRd((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyt UnionExprBs cCs~|jƒ}|dkr|S|dkrh|jdƒ}|jƒ}|j|j|j||ƒƒ}|St|jdƒ‚dS(Ns'@'s'::'s'//'s'/'R RRRRRRRRRRRRRRR"R$sCould not match UnionExprs(s'@'s'::'s'//'s'/'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsBARsIDsKEY(R6R2RcRdtnoptUNIONR9R:(R)RCR;RRcRd((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRdGs    !c Csi|jƒ}|dkr(|jƒ}|S|dkrS|jƒ}|j|ƒ}|St|jdƒ‚dS(Ns'/'s'//'RRRRs'@'RRRRRRR RRR"R$sCould not match PathExpr( s'/'s'//'sAxisNamesNodeTypesDOTsDOTDOTs'@'sSTARsQNames NCNameStarsNCName(sVariableReferencesLPARENsLiteralsNumbers FunctionNamesIDsKEY(R6R1t FilterExprt PathExprRestR9R:(R)R;R1RhRi((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRcSs     cCsœ|jƒ}|dkr|S|dkrQ|jdƒ|jƒ}|j||ƒS|dkr†|jdƒ|jƒ}|j||ƒSt|jdƒ‚dS(Ns'@'s'::'s'//'s'/'R RRRRRRRRRRRRRR"R$sCould not match PathExprRest(s'@'s'::'s'//'s'/'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsIDsKEY(R6R2R7tpathExprtabbreviatedPathExprR9R:(R)RCR;R7((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRi_s        cCs|jƒ}|j|ƒ}|S(N(R]t FilterExprs(R)R]Rl((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRhns cCs•|jƒ}|dkr|S|d kr|jƒ}|g}x/|jƒd krn|jƒ}|j|ƒq@W|j||ƒSt|jdƒ‚dS(Ns'@'s'::'R RRRRRRRRRRRRRR"R$sCould not match FilterExprs(s'@'s'::'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsIDsKEY(R6RItappendt filterExprR9R:(R)RCR;RIte((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRlss      cCs|jƒ}|j|ƒ}|S(N(tAndExprtOrExprs(R)RpRq((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRXs cCs||jƒ}|dkrV|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrf|St|jdƒ‚dS(Ns'or'R RRs','sCould not match OrExprs(sENDsRPARENsRBRACKETs','(R6R2RpRqtboptORR9R:(R)RCR;RpRq((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRq†s    ! cCs|jƒ}|j|ƒ}|S(N(t EqualityExprtAndExprs(R)RtRu((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRp’s cCs||jƒ}|dkrV|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrf|St|jdƒ‚dS( Ns'and's'or'R RRs','sCould not match AndExprs(s'or'sENDsRPARENsRBRACKETs','(R6R2RtRuRrtANDR9R:(R)RCR;RtRu((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRu—s    ! cCs|jƒ}|j|ƒ}|S(N(tRelationalExprt EqualityExprs(R)RwRx((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRt£s cCsÆ|jƒ}|dkrV|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkr |jdƒ|jƒ}|j|j|j||ƒƒ}|S|d kr°|St|jd ƒ‚dS( Ns'='s'!='s'and's'or'R RRs','sCould not match EqualityExprs(s'and's'or'sENDsRPARENsRBRACKETs','( R6R2RwRxRrtEQtNEQR9R:(R)RCR;RwRx((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRx¨s    !   ! cCs|jƒ}|j|ƒ}|S(N(t AdditiveExprtRelationalExprs(R)R{R|((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRw¹s c CsZ|jƒ}|dkrV|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkr |jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrê|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkr4|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrD|St |j d ƒ‚dS(Ns'<'s'<='s'>'s'>='s'='s'!='s'and's'or'R RRs','sCould not match RelationalExprs(s'='s'!='s'and's'or'sENDsRPARENsRBRACKETs','( R6R2R{R|RrtLTtLEtGTtGER9R:(R)RCR;R{R|((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR|¾s0    !   !   !   ! cCs|jƒ}|j|ƒ}|S(N(tMultiplicativeExprt AdditiveExprs(R)RR‚((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR{Ùs c CsÈ|jƒ}|dkrX|jdƒ}|jƒ}|j|j|j||ƒƒ}|S|dkr¢|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkr²|St|jdƒ‚dS(NRs'-'s'<'s'<='s'>'s'>='s'='s'!='s'and's'or'R RRs','sCould not match AdditiveExprs( s'<'s'<='s'>'s'>='s'='s'!='s'and's'or'sENDsRPARENsRBRACKETs','( R6R2RR‚RfRtMINUSR9R:(R)RCR;RRR‚((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR‚Þs   !   ! cCs|jƒ}|j|ƒ}|S(N(t UnaryExprtMultiplicativeExprs(R)R„R…((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRïs cCs|jƒ}|dkrX|jdƒ}|jƒ}|j|j|j||ƒƒ}|S|dkr¢|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrì|jdƒ|jƒ}|j|j|j||ƒƒ}|S|dkrü|St|j dƒ‚dS(NRs'div's'mod's'@'s'::'s'//'s'/'R RRRRRRRRRRRRRRR"R$s#Could not match MultiplicativeExprs(s'@'s'::'s'//'s'/'sLiteralsNumbersVariableReferencesNodeTypesAxisNamesNCNames NCNameStarsQNamesLPARENsSTARsLBRACKETs FunctionNamesDOTsDOTDOTsBARsIDsKEY( R6R2R„R…RftTIMEStDIVtMODR9R:(R)RCR;RR„R…((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR…ôs&   !   !   ! cCsp|jƒ}|dkr>|jdƒ|jƒ}|j|ƒS|dkrZ|jƒ}|St|jdƒ‚dS(Ns'-'s'mod's'div's'>='s'>'s'<='s'<'s'!='s'='s'and's'or's','s'::'RRRRRRR sCould not match UnaryExpr(s'mod's'div's'>='s'>'s'<='s'<'s'!='s'='s'and's'or's','s'::'sMultiplyOperatorsRPARENsPLUSsLBRACKETsRBRACKETsBARsEND(R6R2R„t unaryExprReR9R:(R)R;R„Re((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR„ s       cCs|jƒ}|jdƒ}|S(NR (tPatternR2(R)RŠR ((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyt FullPatterns cCs`|jƒ}|j|ƒ}x>|jƒdkr[|jdƒ}|jƒ}|j|ƒqW|S(NR(tLocationPathPatterntpatternR6R2Rm(R)RŒtpR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRŠs  cCsí|jƒ}|dkrD|jdƒ|jƒ}|jdd|ƒS|dkrƒ|jƒ}|jƒ}|j||d|dƒS|dkrŸ|jƒ}|S|d kr×|jd ƒ|jƒ}|jdd|ƒSt|j dƒ‚dS(Ns'/'iR"R$iRs'@'RRRRRs'//'s#Could not match LocationPathPattern(sIDsKEY(sNodeTypes'@'sAxisNamesSTARsQNames NCNameStarsNCName( R6R2tOptRelativePathPatterntlocationPathPatternR(t IdKeyPatterntIdTailtRelativePathPatternR9R:(R)R;RR‘R’R“((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyRŒ$s"            cCsN|jƒ}|d krdS|d kr8|jƒ}|St|jd ƒ‚dS( NRR Rs'@'RRRRRs&Could not match OptRelativePathPattern(sBARsEND(sNodeTypes'@'sAxisNamesSTARsQNames NCNameStarsNCName(R6R(R“R9R:(R)R;R“((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR8s    cCs|jƒ}|dkrd S|dkrK|jdƒ|jƒ}d|fS|dkrz|jdƒ|jƒ}d|fSt|jdƒ‚dS( NRR is'/'is'//'sCould not match IdTail(sBARsEND(iN(R6R(R2R“R9R:(R)R;R“((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR’Bs          cCsú|jƒ}|dkrg|jdƒ}|jdƒ}|jƒ}|jdƒ}|jdd|gƒS|dkrä|jdƒ}|jdƒ}|jƒ}|}|jdƒ|jƒ}|jdƒ}|jdd||gƒSt|jdƒ‚dS( NR"RRR#R$s','R%sCould not match IdKeyPattern(R6R2RaR`R(R9R:(R)R;R"RRaRR$ta1((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR‘Qs"       cCsÇ|jƒ}|}x®|jƒdkrÂ|jƒ}|dkrp|jdƒ|jƒ}|j|d|ƒ}q|dkr­|jdƒ|jƒ}|j|d|ƒ}qt|jdƒ‚qW|S(Ns'/'s'//'iis#Could not match RelativePathPattern(s'/'s'//'(t StepPatternR6R2trppR9R:(R)R•RŽR;((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR“es        cCsc|jƒ}|jƒ}g}x/|jƒdkrO|jƒ}|j|ƒq!W|j|||ƒS(NR(tChildOrAttributeAxisSpecifierRER6RIRmt stepPattern(R)R—REtpredRI((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR•vs   cCsz|jƒ}|d kr(|jƒ}|S|dkrd|jdƒ}|jdƒ|j|j|ƒSt|jd ƒ‚dS( Ns'@'RRRRRRs'::'s-Could not match ChildOrAttributeAxisSpecifier(s'@'sNodeTypesSTARsQNames NCNameStarsNCName(R6RLR2RJRKR9R:(R)R;RLR((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR—s     (6R+R,R3R5R1R8R<R7R@R?RFRDRERNRMRIRRR>RHRLR4R]R\R^RbRaReRdRcRiRhRlRXRqRpRuRtRxRwR|R{R‚RR…R„R‹RŠRŒRR’R‘R“R•R—(((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR0Csh                                 cCstt|ƒƒ}t||ƒS(N(R0Rtwrap_error_reporter(trulettexttP((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pytparseŒss[a-zA-Z_](\w|[_.-])*t:s\ (?P"[^"]*"|'[^']*')| (?P\d+(\.\d*)?|\.\d+)| (?P\$s(:s)?)| (?Ps)| (?Ps:\*)| (?Ps)| (?P\()| (?P\))| (?P\*)| (?P\+)| (?P\[)| (?P\])| (?P\.\.)| (?P\.)| (?P\|)| (?P//|::|>=|<=|!=)| (?P[<>=,/@:-])| (?P[ ]+) RR RRtancestorsancestor-or-selft attributetchildt descendantsdescendant-or-selft followingsfollowing-siblingt namespacetparentt precedingspreceding-siblingR)R s::t(t[R s//t+RRs!=Rs<=Rs>=RRicCs|j|jƒfS(N(t lastgrouptgroup(tmatch((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyt _get_type»scCszd}}xc|jƒjƒD]O\}}|dkr;qn|r`ttd|||fƒ‚n|}|}qW||fS(Nsambiguity:%s could be %s or %s(R(t groupdicttitemsR9tpos(R­ttypetvalttRC((sH/opt/freeware/lib/python2.7/site-packages/_xmlplus/xpath/XPathGrammar.pyR®¾s   cBseZd„Zd„ZRS(c Cs°g|_}d}xÊ|t|ƒkrßtj||ƒ}|sXd}t||ƒ‚nt|ƒ\}}|dkrŒ|t|ƒ}qn|dkr­tt|ƒƒ}n|}|t|ƒ}|j||||fƒqW|j||ddfƒx°t t|ƒdƒD]˜} || \}} }}d} | dkrÇ|| dd t krÇ|d krd }|| ||f|| s4   ,ÿÿK '     K  G