-
a<c       s    d  Z    d k Z d k Z  d k l Z l Z  d k l Z  d k l Z  d k l	 Z	 l
 Z
  d k l Z l Z  d k l Z  d k l Z l Z  d	 k l Z  yE  d k Z d k Z  e i i e  d
 Z  e i d e  Wn+   e e e f j
 o ! d   Z n X% d f  d     YZ , d k Z - y . e i e i  g Z! Wn / 0 e i g Z! n X4 d   Z" 9 d   Z# > d   Z$ E d   Z% Z e& d  Z' k e& d  Z( | e& d  Z)  e& d  Z*  d   Z+  d   Z,  d   Z-  d   Z.  d   Z/  e& d  Z0  e& d  Z1  e& d  Z2  d   Z3  d    Z4  d!   Z5 d"   Z6 d#   Z7 d$   Z8 e& d%  Z9 &d&   Z: ,d'   Z; 9d(   Z< Fd)   Z= Md*   Z> Vh  e" e d+ f <e# e d, f <e$ e d- f <e% e d. f <e' e d/ f <e( e d0 f <e) e d1 f <e* e d2 f <e+ e d3 f <e, e d4 f <e- e d5 f <e. e d6 f <e/ e d7 f <e0 e d8 f <e1 e d9 f <e2 e d: f <e3 e d; f <e4 e d< f <e5 e d= f <e6 e d> f <e7 e d? f <e8 e d@ f <e9 e dA f <e: e dB f <e; e dC f <e< e dD f <e= e dE f <e> e dF f <Z? uh  e i e i e i g f e0 <Z@ d S(G   s  
The implementation of all of the core functions for the XPath spec.
WWW: http://4suite.org/XPATH        e-mail: support@4suite.org

Copyright (c) 2000-2001 Fourthought Inc, USA.   All Rights Reserved.
See  http://4suite.org/COPYRIGHT  for license and copyright information
N(   s   Nodes   EMPTY_NAMESPACE(   s   ExpandedNameWrapper(   s   NamespaceNode(   s   NaNs   Inf(   s   Utils   Conversions(   s   NAMESPACE_NODE(   s   CompiletimeExceptions   RuntimeException(   s   booleani    s   4Suitec    s   ! " |  Sd  S(   N(   s   msg(   s   msg(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   _! s   s   Typesc      s2   % & d Z  ' d Z ( d Z ) d Z * d Z RS(   Ni    i   i   i   i   (   s
   NumberTypes
   StringTypes   BooleanTypes   NodeSetTypes
   ObjectType(    (    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Types% s
   				c    s   4 5 6 |  i Sd S(   s   Function: <number> last()N(   s   contexts   size(   s   context(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Last4 s   c    s   9 : ; |  i Sd S(   s   Function: <number> position()N(   s   contexts   position(   s   context(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Position9 s   c    sU   > ? @ t  |  t  g   j o" A t t i d t d    n B t |  Sd S(   s$   Function: <number> count(<node-set>)s   counts   expected node set argumentN(   s   types   nodeSets   RuntimeExceptions   WRONG_ARGUMENTSs   _s   len(   s   contexts   nodeSet(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Count> s   "c 	   s9  E F G g  } H t |  t g   j o( I t i |  } J t i |  } n1 L x* | DL ] } M | i	 t i |   q] WN g  } O x | DO ] } P |  i i p |  i } Q t i | i |  } R t |  d j o" S t t i d t d    n# T | o V | i	 | d  n q WW | Sd S(   s!   Function: <node-set> id(<object>)i   s   ids   argument not uniquei    N(   s   id_lists   types   objects   Conversionss   StringValues   sts   strings   splits   ns   appends   rts   ids   contexts   nodes   ownerDocuments   docs   Utils   ElementsByIds   documentElements   elementss   lens   RuntimeExceptions   WRONG_ARGUMENTSs   _(	   s   contexts   objects   rts   elementss   docs   ns   id_lists   sts   id(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   IdE s$   	
 		
 	"
c    s  Z [ \ | t j o ] |  i } n _ t |  t g   j o" ` t t i d t d    n a t i	 |  } b t |  t g   j p t
 |  d j o c d Sn d | d } e t |  } f | t j p | i t j o g d Sn h | i Sd S(   s*   Function: <string> local-name(<node-set>?)s
   local-names   expected node seti    s    N(   s   nodeSets   Nones   contexts   nodes   types   RuntimeExceptions   WRONG_ARGUMENTSs   _s   Utils   SortDocOrders   lens   ExpandedNames   ens	   localName(   s   contexts   nodeSets   nodes   en(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys	   LocalNameZ s   "/ c    s  k l m | t j o n |  i } n p t |  t g   j o" q t t i d t d    n r t i	 |  } s t |  t g   j p t
 |  d j o t d Sn u | d } v t |  } w | t j p | i t j o x d Sn y | i Sd S(   s-   Function: <string> namespace-uri(<node-set>?)s   namespace-uris   expected node seti    s    N(   s   nodeSets   Nones   contexts   nodes   types   RuntimeExceptions   WRONG_ARGUMENTSs   _s   Utils   SortDocOrders   lens   ExpandedNames   ens   namespaceURI(   s   contexts   nodeSets   nodes   en(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   NamespaceUrik s   "/ c    s   | } ~ | t j o  |  i } n  t |  t g   j o"  t t i d t d    n  t i	 |  }  t |  t g   j p t
 |  d j o  d Sn  | d }  t |  }  | t j o  d Sn  | i Sd S(   s$   Function: <string> name(<node-set>?)s   names   expected node seti    s    N(   s   nodeSets   Nones   contexts   nodes   types   RuntimeExceptions   WRONG_ARGUMENTSs   _s   Utils   SortDocOrders   lens   ExpandedNames   ens   qName(   s   contexts   nodeSets   nodes   en(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Name| s   "/c    s^      t  |  t j o  | Sn  | t j o  |  i g } n  t i |  Sd S(   s$   Function: <string> string(<object>?)N(   s   types   objects   g_stringTypess   Nones   contexts   nodes   Conversionss   StringValue(   s   contexts   object(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   String s   c    s^      t  |  d j  o"  t t i d t d    n  t |  d   | d  Sd S(   s2   Function: <string> concat(<string>, <string>, ...)i   s   concats   at least 2 arguments expectedc    s    |  t i |  S(   N(   s   as   Conversionss   StringValues   b(   s   as   bs   c(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   <lambda> s    s    N(   s   lens   argss   RuntimeExceptions   WRONG_ARGUMENTSs   _s   reduces   context(   s   contexts   args(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Concat s
   "c    sY      t  i |  }  t  i |  }  | t |   | j o t i p t i Sd S(   s2   Function: <string> starts-with(<string>, <string>)N(   s   Conversionss   StringValues   outers   inners   lens   booleans   trues   false(   s   contexts   outers   inner(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys
   StartsWith s   c    s      t  i |  }  t  i |  }  t |  d j o%  | | j o t i p t i Sn.  t i	 | |  d j o t i p t i Sd S(   s/   Function: <string> contains(<string>, <string>)i   iN(
   s   Conversionss   StringValues   outers   inners   lens   booleans   trues   falses   strings   find(   s   contexts   outers   inner(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Contains s   %c    si      t  i |  }  t  i |  }  t i | |  }  | d j o  d Sn  | |  Sd S(   s7   Function: <string> substring-before(<string>, <string>)is    N(   s   Conversionss   StringValues   outers   inners   strings   finds   index(   s   contexts   outers   inners   index(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   SubstringBefore s   c    ss      t  i |  }  t  i |  }  t i | |  }  | d j o  d Sn  | | t |  Sd S(   s6   Function: <string> substring-after(<string>, <string>)is    N(   s   Conversionss   StringValues   outers   inners   strings   finds   indexs   len(   s   contexts   outers   inners   index(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   SubstringAfter s   c    s      t  i |  }  t  i |  }  | t j o  d Sn  t t |   }  | d j o | d p d }  | t	 j o  | | Sn  t  i |  }  | t j o  | | Sn  t t |   }  | | | | !Sd S(   s;   Function: <string> substring(<string>, <number>, <number>?)s    i   i    N(
   s   Conversionss   StringValues   sts   NumberValues   starts   NaNs   ints   rounds   ends   None(   s   contexts   sts   starts   end(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys	   Substring s   !c    s@      | t j o  |  i } n  t t i |   Sd S(   s+   Function: <number> string-length(<string>?)N(   s   sts   Nones   contexts   nodes   lens   Conversionss   StringValue(   s   contexts   st(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   StringLength s   c    sU      | t j o  |  i } n  t i |  }  t i t i |   Sd S(   s-   Function: <string> normalize-space(<string>?)N(	   s   sts   Nones   contexts   nodes   Conversionss   StringValues   strings   joins   split(   s   contexts   st(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys	   Normalize s
   c    s      t  i |  }  t  i |  }  t  i |  }  h  }  x6 t t | |  D ] \ } }  | | t
 |  <q[ W t | d   | d  }  | Sd S(   s:   Function: <string> translate(<string>, <string>, <string>)c    s$    |  | i t |  |  p d S(   Ns    (   s   as   ts   gets   ords   b(   s   as   bs   t(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   <lambda> s    s    N(   s   Conversionss   StringValues   sources	   fromCharss   toCharss	   translates   maps   Nones	   from_chars   to_chars   ords   reduces   result(   s   contexts   sources	   fromCharss   toCharss   to_chars	   translates	   from_chars   result(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys	   Translate s   	 c    s      t  i |  Sd S(   s%   Function: <boolean> boolean(<object>)N(   s   Conversionss   BooleanValues   object(   s   contexts   object(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   _Boolean s   c    s/      t  i |  o t i p t i Sd S(   s"   Function: <boolean> not(<boolean>)N(   s   Conversionss   BooleanValues   objects   booleans   trues   false(   s   contexts   object(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Not s   c    s   t  i Sd S(   s   Function: <boolean> true()N(   s   booleans   true(   s   context(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Trues   c    s   	t  i Sd S(   s   Function: <boolean> false()N(   s   booleans   false(   s   context(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Falses   c    s,  t  i t i |   } |  i } x | o t d   | i i	    } | o | d i p t } | om t  i | d  } | d j o | |  } n t  i |  } | | j o t i p t i Sn | i t i j o | i p | i } q3 Wt i Sd S(   s"   Function: <boolean> lang(<string>)c    s   |  i d j o |  i S(   Ns   xml:lang(   s   xs   names   value(   s   x(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   <lambda>s    i    s   -iN(   s   strings   uppers   Conversionss   StringValues   langs   contexts   nodes   filters
   attributess   valuess	   lang_attrs	   nodeValues   Nones   values   finds   indexs   booleans   trues   falses   nodeTypes   Nodes   ATTRIBUTE_NODEs   ownerElements
   parentNode(   s   contexts   langs   nodes   indexs   values	   lang_attr(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Langs    

%.c    s=    !| t j o "|  i g } n #t i |  Sd S(   s$   Function: <number> number(<object>?)N(   s   objects   Nones   contexts   nodes   Conversionss   NumberValue(   s   contexts   object(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Numbers   c    s5   &'(t  d   |  } )t d   | d  Sd S(   s"   Function: <number> sum(<node-set>)c    s   (t  i |   S(   N(   s   Conversionss   NumberValues   x(   s   x(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   <lambda>(s    c    s   )|  | S(   N(   s   xs   y(   s   xs   y(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   <lambda>)s    i    N(   s   maps   nodeSets   nnss   reduce(   s   contexts   nodeSets   nns(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Sum&s   c    so   ,-.t  i |  } 1t |  | j o 2| Sn3 3| d j  o 4t |  d Sn 6t |  Sd S(   s"   Function: <number> floor(<number>)i    i   N(   s   Conversionss   NumberValues   numbers   int(   s   contexts   number(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Floor,s   c    so   9:;t  i |  } >t |  | j o ?| Sn3 @| d j o At |  d Sn Ct |  Sd S(   s$   Function: <number> ceiling(<number>)i    i   N(   s   Conversionss   NumberValues   numbers   int(   s   contexts   number(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   Ceiling9s   c    s,   FGHt  i |  } It | d  Sd S(   s"   Function: <number> round(<number>)i    N(   s   Conversionss   NumberValues   numbers   round(   s   contexts   number(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   RoundFs   c    s]   MNOt  |  d  o" |  i t i t i t i t g j o Pt i |   Sn Qt	 Sd S(   s#   Get the expanded name of any objects   nodeTypeN(
   s   hasattrs   nodes   nodeTypes   Nodes   ELEMENT_NODEs   PROCESSING_INSTRUCTION_NODEs   ATTRIBUTE_NODEs   NAMESPACE_NODEs   ExpandedNameWrappers   None(   s   node(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   ExpandedNameMs   8s   lasts   positions   counts   ids
   local-names   namespace-uris   names   strings   concats   starts-withs   containss   substring-befores   substring-afters	   substrings   string-lengths   normalize-spaces	   translates   booleans   nots   trues   falses   langs   numbers   sums   floors   ceilings   rounds   expanded-name(A   s   __doc__s   strings	   cStringIOs   xml.doms   Nodes   EMPTY_NAMESPACEs	   xml.xpaths   ExpandedNameWrappers   NamespaceNodes   NaNs   Infs   Utils   Conversionss   NAMESPACE_NODEs   CompiletimeExceptions   RuntimeExceptions	   xml.utilss   booleans   oss   gettexts   paths   splits   __file__s
   locale_dirs   installs   ImportErrors   AttributeErrors   IOErrors   _s   Typess   typess
   StringTypes   UnicodeTypes   g_stringTypess   Lasts   Positions   Counts   Ids   Nones	   LocalNames   NamespaceUris   Names   Strings   Concats
   StartsWiths   Containss   SubstringBefores   SubstringAfters	   Substrings   StringLengths	   Normalizes	   Translates   _Booleans   Nots   Trues   Falses   Langs   Numbers   Sums   Floors   Ceilings   Rounds   ExpandedNames   CoreFunctionss   Args(3   s	   Normalizes	   cStringIOs   Floors   g_stringTypess   Sums   Containss   SubstringAfters   CoreFunctionss   booleans   EMPTY_NAMESPACEs   Positions   NAMESPACE_NODEs	   Translates   Names   Nodes
   locale_dirs   Ceilings   Strings   Argss   NaNs   gettexts   Utils   typess   Nots   ExpandedNames   Trues   Concats   _Booleans   Counts
   StartsWiths   SubstringBefores   Lasts   strings   RuntimeExceptions   NamespaceNodes   Langs   NamespaceUris	   LocalNames   Rounds   _s   Conversionss   Falses   Numbers   Ids	   Substrings   CompiletimeExceptions   ExpandedNameWrappers   Typess   Infs   oss   StringLength(    (    sJ   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/xpath/CoreFunctions.pys   ? sh   	


	 