type OpenXmlAttribute = class public function Create(_prefix: string; _local_name: string);overload; function Create(_prefix: string; _local_name: string; _value: any);overload; property NamespaceUri read Value write Value; public LocalName: string; Prefix: string; ElementName: string; Value: any; end; function OpenXmlAttribute.Create(_prefix: string; _local_name: string);overload; begin {self.}Create(_prefix, _local_name, nil); end; function OpenXmlAttribute.Create(_prefix: string; _local_name: string; _value: any);overload; begin {self.}Prefix := _prefix; {self.}LocalName := _local_name; {self.}Value := _value; {self.}ElementName := ifString({self.}Prefix) and {self.}Prefix <> "" ? format("%s:%s", {self.}Prefix, {self.}LocalName) : {self.}LocalName; end;