[...]
cNamespace_ebilanz = 'http://rzf.fin-nrw.de/RMS/EBilanz/2009/XMLSchema';
cNamespace_de_gcd = 'http://www.xbrl.de/taxonomies/de-gcd-2011-09-14';
cNamespace_link = 'http://www.xbrl.org/2003/linkbase';
cNamespace_de_gaap_ci = 'http://www.xbrl.de/taxonomies/de-gaap-ci-2011-09-14';
cNamespace_hgbref = 'http://www.xbrl.de/2006/ref';
cNamespace_ref = 'http://www.xbrl.org/2004/ref';
cNamespace_xbrldi = 'http://xbrl.org/2006/xbrldi';
cNamespace_xsi = 'http://www.w3.org/2001/XMLSchema-instance';
cNamespace_xbrli = 'http://www.xbrl.org/2003/instance';
cNamespace_iso4217 = 'http://www.xbrl.org/2003/iso4217';
cNamespace_xlink = 'http://www.w3.org/1999/xlink';
[...]
function _AddChildNode(AXMLDoc: IXMLDOMDocument3; AParentNode: IXMLDOMNode;
const AName: string; AAttributeNames: array of string;
AAttributeValues: array of string; AText: string = ''; ANamespace: string = ''): IXMLDOMNode;
var
I: integer;
begin
Result := AParentNode.appendChild(AXMLDoc.createNode(NODE_ELEMENT, AName, ANamespace));
if AText <> '' then
Result.text := AText;
if Length(AAttributeNames) <> Length(AAttributeValues) then
Exit;
for I := 0 to High(AAttributeNames) do
begin
Result.attributes.setNamedItem(AXMLDoc.createAttribute(AAttributeNames[I]));
Result.attributes.getNamedItem(AAttributeNames[I]).text := AAttributeValues[I];
end;
end;
[...]
xml := CoDOMDocument60.Create();
xml.SetProperty('SelectionLanguage','XPath');
xml.SetProperty('SelectionNamespaces',
Format('xmlns:ebilanz="%s" xmlns:de-gcd="%s" xmlns:link="%s" xmlns:xlink="%s" '+
'xmlns:de-gaap-ci="%s" xmlns:hgbref="%s" xmlns:ref="%s" xmlns:xbrldi="%s" ' +
'xmlns:xsi="%s" xmlns:xbrli="%s" xmlns:iso4217="%s"'
,[cNamespace_ebilanz, cNamespace_de_gcd, cNamespace_link, cNamespace_xlink,
cNamespace_de_gaap_ci, cNamespace_hgbref, cNamespace_ref, cNamespace_xbrldi,
cNamespace_xsi, cNamespace_xbrli, cNamespace_iso4217]));
xml.documentElement :=
xml.createElement('DatenTeil');
[...]
Node := _AddChildNode(
xml, Node, 'ebilanz:EBilanz', ['version'], ['000001'], '', cNamespace_ebilanz);
//hier Knoten "xbrli:xbrl" inklusive aller Namespaces schreiben, aber wie?