Descrição da Unit
A Unit utuFieldCollection fornece um conjunto de métodos que permitem a criação de coleções de dados. Ela é descrita abaixo:
unit utuFieldCollection;
interface
uses
acuFramework, acuObject, utuMessage;
type
utFieldCollection = class
class function AddCollection(const piFieldName: string; const poField: utField): utField;
class procedure AddCurioNamespace(const piField: utField);
class procedure SetToUnwrap(const piField: utField);
end;
implementation
uses
sysUtils, ucuUseCase;
class function utFieldCollection.AddCollection(const piFieldName: string;
const poField: utField): utField;
var
lField: utField;
begin
lField := poField.AddField(piFieldName);
lField.AddAttribute('curio:collection').AsBoolean := true;
Result := lField;
end;
class procedure utFieldCollection.AddCurioNamespace(const piField: utField);
begin
piField.AddAttribute('xmlns:curio').AsString := 'http://www.evologica.com.br/';
end;
class procedure utFieldCollection.SetToUnwrap(const piField: utField);
begin
piField.AddAttribute('curio:unwrap').AsBoolean := true;
end;
initialization
finalization
end.
O método AddCollection cria um novo campo no XML anotado como uma coleção. Ele recebe como parâmetro o nome da coleção e o campo pai da coleção.
O método SetToUnwrap é utilizado para demarcar quais campos do XML devem ser "desembrulhados", isto é, devem ter apenas seus valores internos considerados. Ele recebe como parâmetro o campo a ser anotado. Obs: um campo anotado com unwrap não deve ter filhos, apenas um valor único.
O método AddCurioNamespace define o namespace curio que é utilizado para definir uma coleção e se os elementos dentro de uma coleção devem ser "desembrulhados". Ele recebe como parâmetro o campo raiz, então sugere-se passar o campo do SYSMSG como seu argumento.
No Comments