@XMLSetAttribute
Syntax
@XMLSetAttribute(XMLN;Name;Value);
@XMLSetAttribute(XMLN;Name;Value;Namespace);
Beschreibung
Diese @Function setzt den Wert eines Attributes eines XML-Knotens.
Existiert das angegebene Attribut bereits, wird dessen Wert aktualisiert. Andernfalls wird ein neues Attribut erzeugt.
Optional kann eine Namespace-URI angegeben werden. In diesem Fall muss der Namespace bereits im XML-Dokument definiert sein und ein Namespace-Präfix besitzen.
Der Attributname, der Attributwert und die optionale Namespace-URI werden entsprechend den für das XML-Handle gesetzten Zeichensatz-Flags nach UTF-8 konvertiert.
VSPECHXMLNODE XMLN:
Handle des XML-Knotens, dessen Attribut gesetzt werden soll.
XMLN muss ein gültiges VSPECHXMLNODE (XMLN) Handle enthalten, das auf einen XML-Knoten verweist.
TEXT Name:
Name des zu setzenden Attributes.
Der Name darf nicht leer sein und muss ein gültiger XML-NCName sein.
TEXT Value:
Wert des Attributes.
TEXT Namespace (Optional)
Namespace-URI, die dem Attribut zugeordnet werden soll.
Die angegebene Namespace-URI muss bereits im XML-Dokument definiert und vom XML-Knoten aus erreichbar sein.
Da XML-Attribute keinen Default-Namespace erben, muss der angegebene Namespace ein Präfix besitzen.
Wird ein leerer Text ("") als Namespace angegeben, wird das Attribut ohne Namespace gesetzt.
Return-Wert:
Bei erfolgreicher Ausführung liefert die @Function TRUE.
Ist das XML-Node-Handle ungültig, der Attributname leer oder ungültig, der angegebene Namespace nicht definiert oder besitzt dieser kein Präfix,
oder kann das Attribut nicht gesetzt werden, liefert die @Function @ERROR.
Beispiel: @XMLSetAttribute(XMLN;Name;Value);
Flags := 7;
hXMLD := @XMLCreate(Flags);
hXMLRoot := @XMLCreateRoot(hXMLD;"customer");
@XMLSetAttribute(hXMLRoot;"id";"4711");
XML := @XMLSerialize(hXMLD);
@XMLRelease(hXMLD);
Das Beispiel setzt am Root-Element das Attribut id="4711".
Beispiel: @XMLSetAttribute(XMLN;Name;Value;Namespace);
Flags := 7;
hXMLD := @XMLCreate(Flags);
hXMLRoot := @XMLCreateRoot(
hXMLD;
"customer";
"c";
"https://example.com/customer"
);
@XMLSetAttribute(
hXMLRoot;
"id";
"4711";
"https://example.com/customer"
);
XML := @XMLSerialize(hXMLD);
@XMLRelease(hXMLD);
Das Beispiel setzt das Attribut "id" im bereits definierten Namespace "https://example.com/customer". Das resultierende Attribut entspricht sinngemäß c:id="4711".
