def processElementNodeByDerivation(derivation, elementNode):
 if (derivation == None):
  derivation = SolidDerivation(elementNode)
 elementAttributesCopy = elementNode.attributes.copy()
 for target in derivation.targets:
  targetAttributesCopy = target.attributes.copy()
  target.attributes = elementAttributesCopy
  processTarget(target)
  target.attributes = targetAttributesCopy

def processElementNodeByDerivation ( derivation , elementNode ) : if ( derivation == None ) : derivation = SolidDerivation ( elementNode ) elementAttributesCopy = elementNode . attributes . copy ( ) for target in derivation . targets : targetAttributesCopy = target . attributes . copy ( ) target . attributes = elementAttributesCopy processTarget ( target ) target . attributes = targetAttributesCopy
process the xml element by derivation .