Diese Namespace-Angaben sind nichts anderes als Attribute:
Delphi-Quellcode:
// element erzeugen
element := document.createNode(NODE_ELEMENT, {elementname=}'xbrl', {namespace=}'xbrli') as IXMLDOMElement;
element.setAttribute('xmlns:de-gcd', 'http://www.xbrl.de/taxonomies/de-gcd-2011-09-14');
element.setAttribute('xmlns:link', 'http://www.xbrl.org/2003/linkbase');
...
// und unter dem Parent einhängen
parent.appendChild(element);
PS:
Ich habe dein Problem nicht gründlich genug gelesen,
aber bei Attributen ist es so, dass sie keinem Namespace angehören.
Man muss also nur:
element.setAttribute('xlink:href', 'http://www.xbrl.de/taxonomies/de-gcd-2011-09-14/de-gcd-2011-09-14-shell.xsd);