Re: Dynamic functions

Daniel Seidel via opencms-dev <[email protected]> Thu, 21 May 2026 10:01:51 +0200
Newsgroups gmane.comp.cms.opencms.devel
Message-ID <[email protected]>
SGkgTGF1cmVudCwKCnRocmVlIHRoaW5nczoKCjEuIE1ha2UgdGhlIEpTUCBldmVuIHNpbXBsZXIu
IEp1c3QgdXNlIDxoMT5IZWxsbyBXb3JsZCE8L2gxPiBhcyBjb250ZW50LgoKMi4gWW91IG11c3Qg
dXNlIGEgY29udGFpbmVyIG5hbWUgdGhhdCBmaXRzIHRvIGEgY29udGFpbmVyIHRoZSBmdW5jdGlv
biAKc2hvdWxkIG1hdGNoLiBPciB1c2UgY29udGFpbmVyIHdpZHRoIGFuZCBzZXQgd2lkdGggMCB0
byBtYWtlIGl0IGZpdCAKZXZlcnl3aGVyZQoKMy4gWW91IG1heSBoYXZlIHRvIGFkZCB0aGUgZnVu
Y3Rpb24gaW4geW91ciBzaXRlbWFwIG1hc3RlciBjb25maWd1cmF0aW9uIAoob3IgdGhlIHNpdGVt
YXAgY29uZmlndXJhdGlvbikgaW4gdGhlIGR5bmFtaWMgZnVuY3Rpb25zIHRhYi4KCkJlc3QsIERh
bmllbC4KCkFtIDIxLjA1LjI2IHVtIDA4OjU5IHNjaHJpZWIgbGF1cmVudC5kcnVhcnQ6Cj4gSGVs
bG8gRGFuaWVsLAo+Cj4gVGhhbmsgeW91IGZvdXIgeW91ciBhbnN3ZXIuCj4KPiBBdCB0aGUgbW9t
ZW50IEkgY3JlYXRlZCBhIGR5bmFtaWMgZnVuY3Rpb24gaW4gYSBtb2R1bGUsIHZlcnkgc2ltcGxl
IGpzcAo+IDwlQCB0YWdsaWIgcHJlZml4PSJjIiB1cmk9Imh0dHA6Ly9qYXZhLnN1bi5jb20vanNw
L2pzdGwvY29yZSIgJT4KPiA8JUAgdGFnbGliIHByZWZpeD0iZm4iIHVyaT0iaHR0cDovL2phdmEu
c3VuLmNvbS9qc3AvanN0bC9mdW5jdGlvbnMiICU+Cj4gPCVAIHRhZ2xpYiBwcmVmaXg9ImZtdCIg
dXJpPSJodHRwOi8vamF2YS5zdW4uY29tL2pzcC9qc3RsL2ZtdCIgJT4KPiA8JUAgdGFnbGliIHBy
ZWZpeD0iY21zIiB1cmk9Imh0dHA6Ly93d3cub3BlbmNtcy5vcmcvdGFnbGliL2NtcyIgJT4KPgo+
IGFuZCBodG1sIHRhZ3MsIG5vIGxvZ2ljCj4KPiBUaGUganNwIGZpbGUgaXMgbG9jYXRlZCBpbiBt
eSBtb2R1bGUgaW4gL2VsZW1lbnRzL2Z1bmN0aW9ucy8KPiBJIGRlY2xhcmVkIHRoZSBEeW5hbWlj
IEZ1bmN0aW9uIGluIC9mdW5jdGlvbnMgYW5kIGZpbGxlZCB0aGUgSlNQIGZpZWxkIHdpdGggL2Vs
ZW1lbnRzL2Z1bmN0aW9ucy9teWZ1bmN0aW9uLmpzcAo+IEluIHRoZSBmaWVsZCDCqyBDb250YWlu
ZXIgdHlwZSDCuzogKgo+Cj4gSW4gdGhlIHNpdGVtYXAgbWFzdGVyIGNvbmZpZyBJIGFkZGVkIHRo
ZSBkeW5hbWljIGZ1bmN0aW9uIGluIMKrIGR5bmFtaWMgZnVuY3Rpb25zIMK7IHRhYiBpbiB0aGUg
ZmllbGQgwqsgRHluYW1pYyBmdW5jdGlvbiB0byBiZSBhZGRlZCDCuwo+Cj4gQnV0IGluIHBhZ2Ug
ZWRpdG9yIG15IGR5bmFtaWMgZnVuY3Rpb24gaXMgbm90IGFwcGVhcmluZy4KPgo+IEnigJltIG5v
dCB1c2luZyB0aGUgTWVyY3VyeSB0ZW1wbGF0ZS4KPgo+IERvIEkgbWlzcyBzb21ldGhpbmc/Cj4K
PiBUaGFua3MgZm9yIHlvdXIgaGVscC4KPgo+IFJlZ2FyZHMsCj4KPiBMYXVyZW50Cj4KPgo+PiBM
ZSAyMSBtYWkgMjAyNiDDoCAwODo0NywgRGFuaWVsIFNlaWRlbCB2aWEgb3BlbmNtcy1kZXYgPG9w
ZW5jbXMtZGV2QG9wZW5jbXMub3JnPiBhIMOpY3JpdCA6Cj4+Cj4+IEhpIExhdXJlbnQsCj4+Cj4+
IGZvciBjdXJyZW50IE9wZW5DbXMgdmVyc2lvbnMgSSdkIHNlZSBib3RoIGNvbmNlcHRzIHNlcGFy
YXRlZC4KPj4KPj4gMS4gRHluYW1pYyBmdW5jdGlvbnMgKCJDb250ZW50IHdpdGhvdXQgY29udGVu
dCIpOiBZb3UgbWF5IHNlZSB0aGlzIGNvbnRlbnQgbGlrZSBhIGZvcm1hdHRlciBjb25maWd1cmF0
aW9uIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gYmFja3VwIHdpdGggYSBjb250ZW50IHR5cGUgeW91
IGNyZWF0ZWQuIFRoZSBvbmx5IGRyYXdiYWNrIChJIHNlZSkgaXMgdGhhdCBhbGwgZHluYW1pYyBm
dW5jdGlvbnMgd2lsbCBhcHBlYXIgdW5kZXIgIkR5bmFtaWMgZnVuY3Rpb24iIGluIHRoZSBhZGQg
d2l6YXJkIG9mIHRoZSBwYWdlIGVkaXRvci4gSGVuY2UsIGFsbCBmdW5jdGlvbmFsaXR5IHRoYXQg
aXMgZHluYW1pYyB3aWxsIGFwcGVhciBpbiB0aGUgc2FtZSAiYm94Ii4gVGhlIGRlZmF1bHQgTWVy
Y3VyeSB0ZW1wbGF0ZSB1c2VzIHZhcmlvdXMgZHluYW1pYyBmdW5jdGlvbnMuIFlvdSBmaW5kIHRo
ZW0gdW5kZXIgIkFkdmFuY2VkIGVsZW1lbnRzIiBpbiB0aGUgYWRkIHdpemFyZC4KPj4KPj4KPj4g
Mi4gRnVuY3Rpb24gZGV0YWlsIHBhZ2VzOiBJIGVzc2VuY2UsIGl0J3MganVzdCBhIHdheSB0byBt
YWtlIGEgcGFnZSBsaW5rYWJsZSBieSBhIHNwZWNpYWwgbmFtZS4gRm9yZ2V0IGFib3V0IHRoZSBh
ZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbCBtYWtlIHRoZSBmdW5jdGlvbiBhcHBl
YXIgb24gdGhlIGZ1bmN0aW9uIGRldGFpbCBwYWdlICh0aGUgY29udGFpbmVyLmluZm8gcHJvcGVy
dHkpLCB0aGV5IGJhcmVseSB3b3JrIGZvciBuZXN0ZWQgY29udGFpbmVycywgYnV0IHlvdSBjYW4g
cGxhY2UgdGhlIGZ1bmN0aW9uIGJ5IGhhbmQgb24gdGhlIGZ1bmN0aW9uIGRldGFpbCBwYWdlLgo+
Pgo+PiBIZXJlJ3MgYW4gZXhhbXBsZToKPj4KPj4gQXNzdW1lIGluIHlvdXIgdGVtcGxhdGUgeW91
IGhhdmUgYSBmb290ZXIgYWx3YXlzIGFkZGluZyBhICJQcml2YWN5IiBsaW5rLiBCdXQsIGRlcGVu
ZGluZyBvbiB0aGUgc2l0ZSBvciB0aGUgbG9jYWxlIHlvdSBhcmUgaW4sIHRoZSBsaW5rIHNob3Vs
ZCBwb2ludCB0byBkaWZmZXJlbnQgdXJscy4gVGhhdCdzIGEgZ29vZCBleGFtcGxlIGZvciBhIGZ1
bmN0aW9uIGRldGFpbCBwYWdlLgo+Pgo+PiBJbiB5b3VyIHRlbXBsYXRlIEpTUCB3aGVuIHlvdSBh
ZGQgdGhlIGxpbmssIGp1c3QgdXNlICR7Y21zLmZ1bmN0aW9uRGV0YWlsWydwcml2YWN5J119IGFz
IGxpbmsgdGFyZ2V0Lgo+Pgo+PiBBbmQgaW4gdGhlIHNpdGVtYXAgY29uZmlndXJhdGlvbnMgb2Yg
eW91ciAoc3ViLSlzaXRlcyBhZGQgdGhlIGRldGFpbCBwYWdlICdmdW5jdGlvbkBwcml2YWN5JyBw
b2ludGluZyB0byB0aGUgKHN1Yi0pc2l0ZSBzcGVjaWZpYyBVUkwuIElmIHlvdSBhZGRlZCB0aGUg
ZnVuY3Rpb24gYXMgbmFtZWQgZnVuY3Rpb24gaW4gdGhlIG1vZHVsZSAoc2VlIGh0dHBzOi8vZG9j
dW1lbnRhdGlvbi5vcGVuY21zLm9yZy9vcGVuY21zLWRvY3VtZW50YXRpb24vdGVtcGxhdGUtZGV2
ZWxvcG1lbnQvZHluYW1pYy1mdW5jdGlvbnMvZnVuY3Rpb24tZGV0YWlsLXBhZ2VzKSwgeW91IG1h
eSBhbHNvIGRvIHRoaXMgdmlhIHRoZSBzaXRlbWFwIGVkaXRvciBieSBhZGRpbmcgYSBmdW5jdGlv
biBwYWdlLiBCdXQgdGhpcyBpcyBvcHRpb25hbCwgYWRkaW5nIGl0IGp1c3QgYnkgaGFuZCBpbiB0
aGUgLmNvbmZpZyBmaWxlIGlzIGdvb2QgYXMgd2VsbC4KPj4KPj4gVGhlIGRlZmF1bHQgZGVtbyBv
ZiB0aGUgY3VycmVudCBPcGVuQ21zIHZlcnNpb24gdXNlcyBhIGZ1bmN0aW9uIGRldGFpbCBwYWdl
ICh0aGF0IGlzIG5vdCBjb25maWd1cmVkIGFzIG5hbWVkKSBmb3IgdGhlIHNlYXJjaCBwYWdlLiBZ
b3UgZmluZCBhIGRldGFpbCBwYWdlICdmdW5jdGlvbkBTZWFyY2ggcGFnZScgaW4gdGhlIHNpdGVt
YXAgY29uZmlndXJhdGlvbnMuCj4+Cj4+Cj4+IEJlc3QsIERhbmllbC4KPj4KPj4KPj4gQW0gMjAu
MDUuMjYgdW0gMTg6MjQgc2NocmllYiBsYXVyZW50LmRydWFydCB2aWEgb3BlbmNtcy1kZXY6Cj4+
PiBIZWxsbywKPj4+Cj4+PiBEb2VzIHNvbWVvbmUgaGF2ZSBhIHR1dG9yaWFsIGZvciDCqyBkeW5h
bWljIGZ1bmN0aW9ucyDCuyBhbmQgwqsgZnVuY3Rpb24gZGV0YWlsIHBhZ2UgwrsgPwo+Pj4KPj4+
IFRoZSAyIGV4YW1wbGVzIHBhZ2VzIGluIHRoZSBkb2MgYXJlIMKrIGVtcHR5IMK7IC4KPj4+Cj4+
PiBodHRwczovL2RvY3VtZW50YXRpb24ub3BlbmNtcy5vcmcvb3BlbmNtcy1kb2N1bWVudGF0aW9u
L3RvZG8vZGVtb3MvZHluYW1pYy1mdW5jdGlvbnMKPj4+IGh0dHBzOi8vZG9jdW1lbnRhdGlvbi5v
cGVuY21zLm9yZy9vcGVuY21zLWRvY3VtZW50YXRpb24vdG9kby9kZW1vcy9mdW5jdGlvbi1kZXRh
aWwtcGFnZXMKPj4+Cj4+PiBUaGFuayB5b3UsCj4+Pgo+Pj4gUmVnYXJkcywKPj4+Cj4+PiBMYXVy
ZW50Cj4+Pgo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KPj4+IFRoaXMgbWFpbCBpcyBzZW50IHRvIHlvdSBmcm9tIHRoZSBvcGVuY21zLWRldiBtYWls
aW5nIGxpc3QKPj4+IFRvIGNoYW5nZSB5b3VyIGxpc3Qgb3B0aW9ucywgb3IgdG8gdW5zdWJzY3Jp
YmUgZnJvbSB0aGUgbGlzdCwgcGxlYXNlIHZpc2l0Cj4+PiBodHRwczovL2xpc3RzLm9wZW5jbXMu
b3JnL21haWxtYW4vbGlzdGluZm8vb3BlbmNtcy1kZXYKPj4+Cj4+Pgo+Pj4KPj4gLS0gCj4+IEtp
bmQgUmVnYXJkcwo+Pgo+PiBEYW5pZWwuCj4+Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0KPj4KPj4g
RGFuaWVsIFNlaWRlbAo+PiBBbGthY29uIFNvZnR3YXJlIEdtYkggJiBDby4gS0cgLSBUaGUgT3Bl
bkNtcyBFeHBlcnRzCj4+IGh0dHBzOi8vd3d3LmFsa2Fjb24uY29tIC0gaHR0cDovL3d3dy5vcGVu
Y21zLm9yZwo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwo+PiBUaGlzIG1haWwgaXMgc2VudCB0byB5b3UgZnJvbSB0aGUgb3BlbmNtcy1kZXYgbWFp
bGluZyBsaXN0Cj4+IFRvIGNoYW5nZSB5b3VyIGxpc3Qgb3B0aW9ucywgb3IgdG8gdW5zdWJzY3Jp
YmUgZnJvbSB0aGUgbGlzdCwgcGxlYXNlIHZpc2l0Cj4+IGh0dHBzOi8vbGlzdHMub3BlbmNtcy5v
cmcvbWFpbG1hbi9saXN0aW5mby9vcGVuY21zLWRldgo+Pgo+Pgo+PgotLSAKS2luZCBSZWdhcmRz
CgpEYW5pZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tCgpEYW5pZWwgU2VpZGVsCkFsa2Fjb24gU29m
dHdhcmUgR21iSCAmIENvLiBLRyAtIFRoZSBPcGVuQ21zIEV4cGVydHMKaHR0cHM6Ly93d3cuYWxr
YWNvbi5jb20gLSBodHRwOi8vd3d3Lm9wZW5jbXMub3JnCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpUaGlzIG1haWwgaXMgc2VudCB0byB5b3UgZnJvbSB0
aGUgb3BlbmNtcy1kZXYgbWFpbGluZyBsaXN0ClRvIGNoYW5nZSB5b3VyIGxpc3Qgb3B0aW9ucywg
b3IgdG8gdW5zdWJzY3JpYmUgZnJvbSB0aGUgbGlzdCwgcGxlYXNlIHZpc2l0Cmh0dHBzOi8vbGlz
dHMub3BlbmNtcy5vcmcvbWFpbG1hbi9saXN0aW5mby9vcGVuY21zLWRldgoKCgo=