def parse_externals_xml(decoded_str, prefix=''):
 prefix = os.path.normpath(prefix)
 prefix = os.path.normcase(prefix)
 doc = xml.dom.pulldom.parseString(_get_xml_data(decoded_str))
 externals = list()
 for (event, node) in doc:
  if ((event == 'START_ELEMENT') and (node.nodeName == 'target')):
   doc.expandNode(node)
   path = os.path.normpath(node.getAttribute('path'))
   if os.path.normcase(path).startswith(prefix):
    path = path[(len(prefix) + 1):]
   data = _get_target_property(node)
   for external in parse_external_prop(data):
    externals.append(joinpath(path, external))
 return externals

def parse_externals_xml ( decoded_str , prefix = '' ) : prefix = os . path . normpath ( prefix ) prefix = os . path . normcase ( prefix ) doc = xml . dom . pulldom . parseString ( _get_xml_data ( decoded_str ) ) externals = list ( ) for ( event , node ) in doc : if ( ( event == 'START_ELEMENT' ) and ( node . nodeName == 'target' ) ) : doc . expandNode ( node ) path = os . path . normpath ( node . getAttribute ( 'path' ) ) if os . path . normcase ( path ) . startswith ( prefix ) : path = path [ ( len ( prefix ) + 1 ) : ] data = _get_target_property ( node ) for external in parse_external_prop ( data ) : externals . append ( joinpath ( path , external ) ) return externals
parse a propget svn:externals xml .