Hallo,
das nachfolgend geht nicht, weil $ID als Zeichenkette interpretiert wird.
<xsl:for-each select="//ObjDef[@TypeNum='$ID']">
Die '-Zeichen bedingen den Vergleich mit der Zeichenkette '$ID'. Wenn mit der Variable $ID verglichen werden soll, dann einfach die '-Zeichen weglassen.
MfG, Thomas