From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29906 invoked from network); 4 Sep 2023 18:22:47 -0000 Received: from cgl.ntg.nl (5.39.185.202) by inbox.vuxu.org with ESMTPUTF8; 4 Sep 2023 18:22:47 -0000 Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 35F5A482EBF for ; Mon, 4 Sep 2023 20:22:16 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Zqaj9gHt4GO5 for ; Mon, 4 Sep 2023 20:22:15 +0200 (CEST) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id B5CF6482ED6 for ; Mon, 4 Sep 2023 20:21:28 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id ED3CE482C43 for ; Mon, 4 Sep 2023 20:21:08 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4XGj5HV-iEl9 for ; Mon, 4 Sep 2023 20:21:08 +0200 (CEST) Received: from csmtpq2-prd-nl1-vfz.edge.unified.services (csmtpq2-prd-nl1-vfz.edge.unified.services [84.116.50.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cgl.ntg.nl (Postfix) with ESMTPS id 76D83482C35 for ; Mon, 4 Sep 2023 20:21:08 +0200 (CEST) Received: from csmtp2-prd-nl1-vfz.nl1.unified.services ([100.107.80.135] helo=csmtp2-prd-nl1-vfz.edge.unified.services) by csmtpq2-prd-nl1-vfz.edge.unified.services with esmtp (Exim 4.93) (envelope-from ) id 1qdECC-00F3GB-0P for ntg-context@ntg.nl; Mon, 04 Sep 2023 20:21:08 +0200 Received: from smtpclient.apple ([84.104.102.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 128/128 bits) (Client did not present a certificate) by csmtp2-prd-nl1-vfz.edge.unified.services with ESMTPSA id dECBqr5OCDSozdECBqs7CR; Mon, 04 Sep 2023 20:21:07 +0200 X-Env-Mailfrom: havdmeer@ziggo.nl X-Env-Rcptto: ntg-context@ntg.nl X-SourceIP: 84.104.102.59 X-CNFS-Analysis: v=2.4 cv=E78L54Rl c=1 sm=1 tr=0 ts=64f62013 cx=a_exe a=r8aFSP8g8qyxuwAfcqn69g==:117 a=r8aFSP8g8qyxuwAfcqn69g==:17 a=MiNTnEJAAAAA:8 a=TRntDIGCAAAA:8 a=j0YBF4lloYIJAEzKE5QA:9 a=QEXdDO2ut3YA:10 a=Ucrri_jjbyd3WxnFmugA:9 a=HC57AugfHaEoGDlt:21 a=_W_S_7VecoQA:10 a=CjuIK1q_8ugA:10 a=8MURtztRbk6yoPumtYsA:9 a=n3BslyFRqc0A:10 a=rls1ZAiwvL0A:10 a=7ugHOuZ0tTvOPVXVdNQA:9 a=VMZP_mAD-3M3rB8l:21 a=lqcHg5cX4UMA:10 a=LmrbSfiT3hecnSZifb5M:22 X-Authenticated-Sender: havdmeer@ziggo.nl DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ziggo.nl; s=202002corplgsmtpnl; t=1693851667; bh=dgaiEeqIJeo3ZwfaWqpGSh1botWQrxvzMEHF1jXehI8=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=lpnzqCIPxD1o7m4K8nMJQOSoYdk+/JEnvVLws4hD9JC2VUXuHR7kntKN7/YsoRZc6 OYasp2uRh9pjChuQk2qfVmVeIzvottySkzjQwJuecgqKdEuul99pkPfsncr+xlNAu0 KeZeesqBrxKDFaSX36/nzUrn9AJGdw8FN/yLU05SNc7dkHjxDJE7dqJrTLaAx5pwyt myloIn+VANwdPF3CoO/V3a0yp7TZ5P0zPKeq6sHx7qHDp3vXlBNa40PwYyx0xMRa2Z aU+4/SckeJ97zLhLPKxcwNUe7kjkHNPu9IL706dwys05vDJs9BcgJ6UBPNGfoj9an0 oM/R7lOGXd0eQ== Message-Id: Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Date: Mon, 4 Sep 2023 20:20:57 +0200 In-Reply-To: To: NTG ConTeXt References: <054249B9-2DAB-4863-B3F7-CBB6DE8CFEDF@ziggo.nl> X-Mailer: Apple Mail (2.3731.700.6) X-CMAE-Envelope: MS4xfJDxE/40PG5898lPDmK2SDW6a4tS9KUXYQ0uC3HqhtszxM3eGzy/nLVIRNxAYrSkKTVXKdIaENRpqn7aWCxiskPefke/fxd4wHRb+SG31633XlC+HNRS 0np56gbnjoDqfjnvPY+JAX0lE1W1wv6DskKCXO9h22THmYbbw8rS/wKvSxSPJgVJhy/DYcuTiF8jnn0V9sKGO/3RYFQ51+J1z7Rta2Z4z/M/VTv6yCz2HgGj XKS/OtFsWsvxpTyVqNT0aw== Message-ID-Hash: I55EGKVWV6DEAYJO6252ZOOZFPCO342M X-Message-ID-Hash: I55EGKVWV6DEAYJO6252ZOOZFPCO342M X-MailFrom: havdmeer@ziggo.nl X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list Reply-To: mailing list for ConTeXt users Subject: [NTG-context] Re: ifxmlselfempty List-Id: mailing list for ConTeXt users Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Hans van der Meer via ntg-context Cc: Hans van der Meer Content-Type: multipart/mixed; boundary="===============1652957932112681078==" --===============1652957932112681078== Content-Type: multipart/alternative; boundary="Apple-Mail=_A72CAD03-993D-4521-B7FD-FC489B1E4D2B" --Apple-Mail=_A72CAD03-993D-4521-B7FD-FC489B1E4D2B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I changed this in the source of lxml-ini.lua (line 225). It seems the = 'not' has been accidentally crept in (from copying that line in = ifxmlempty, the item above?) Anyway, remade the format and now the result is as I expected it to be. = See below in the output of the MWE from my first post on this subject. I = added the relevant portion of the code for clarity. I am sure the next update will reflect it in the source ;-) dr. Hans van der Meer implement { name =3D "ifxmlselfempty", public =3D true, usage =3D "condition", arguments =3D "argument", actions =3D function(id) -- return boolean_code, not checkedempty(getid(id)) and true return boolean_code, checkedempty(getid(id)) and true end } =EF=BF=BC > On 4 Sep 2023, at 10:05, denis.maier@unibe.ch wrote: >=20 > IDK. But why do have a setup for , which does not appear in = your xml source (shouldn=E2=80=99t it be ?)? > =20 > =20 > Von: Hans van der Meer via ntg-context >=20 > Gesendet: Sonntag, 3. September 2023 14:11 > An: NTG ConTeXt > > Cc: Hans van der Meer > > Betreff: [NTG-context] ifxmlselfempty > =20 > Is it possible that the new \ifxmlselfempty has reversed its outcome? = Or did I something wrong in this MWE? > Here an MWE. > =20 > yours sincerely > dr. Hans van der Meer > =20 > =20 > =20 > \startbuffer[test] > > > !not empty node! > > \stopbuffer > =20 > \startxmlsetups xml:mysetups > \xmlsetsetup{\xmldocument}{something|emptynode|notemptynode}{xml:*} > \stopxmlsetups > =20 > \xmlregistersetup{xml:mysetups} > =20 > \startxmlsetups xml:emptynode > node=3D\xmltag{#1}:\crlf > ifxmlselfempty-else-fi:\space > \ifxmlselfempty{#1} > attribute =3D \xmlatt{#1}{value} > \else > content =3D \xmlflush{#1} > \fi > \crlf > ifxmlselfempty-else-fi reversed:\space > \ifxmlselfempty{#1} > content =3D \xmlflush{#1} > \else > attribute =3D \xmlatt{#1}{value} > \fi > \blank > \stopxmlsetups > =20 > \startxmlsetups xml:notemptynode > node=3D\xmltag{#1}:\crlf > ifxmlselfempty-else-fi:\space > \ifxmlselfempty{#1} > attribute =3D \xmlatt{#1}{value} > \else > content =3D \xmlflush{#1} > \fi > \crlf > ifxmlselfempty-else-fi reversed:\space > \ifxmlselfempty{#1} > content =3D \xmlflush{#1} > \else > attribute =3D \xmlatt{#1}{value} > \fi > \blank > \stopxmlsetups > =20 > \startxmlsetups xml:something > \xmlall{#1}{./emptynode}\blank > \xmlall{#1}{./notemptynode}\blank > \stopxmlsetups > =20 > \starttext > \ConTeXt\ \contextversion\blank > \xmlprocessbuffer{main}{test}{} > \stoptext --Apple-Mail=_A72CAD03-993D-4521-B7FD-FC489B1E4D2B Content-Type: multipart/mixed; boundary="Apple-Mail=_4541D1F7-5A74-4207-B443-CC822D0E41D0" --Apple-Mail=_4541D1F7-5A74-4207-B443-CC822D0E41D0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii I changed this = in the source of lxml-ini.lua (line 225). It seems the 'not' has = been accidentally crept in (from  copying that line in ifxmlempty, = the item above?)
Anyway, remade the format and now the result is as = I expected it to be. See below in the output of the MWE from my first = post on this subject. I added the relevant portion of the code for = clarity.

I am sure the next update will reflect = it in the source ;-)

dr. Hans van der = Meer

   implement = {
        name      =3D = "ifxmlselfempty",
        public   =  =3D true,
        usage   =   =3D "condition",
        arguments = =3D "argument",
        actions   =3D = function(id)
--           =  return boolean_code, not checkedempty(getid(id)) and = true
            return = boolean_code, checkedempty(getid(id)) and true
    =     end
    = }

= --Apple-Mail=_4541D1F7-5A74-4207-B443-CC822D0E41D0 Content-Disposition: inline; filename=xmlsetup-template.pdf Content-Type: application/pdf; x-unix-mode=0666; name="xmlsetup-template.pdf" Content-Transfer-Encoding: base64 JVBERi0xLjcKJcPPztTF2NTQxMYKNSAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVu Z3RoIDg0OCA+PgpzdHJlYW0KeNrdWM1u4zgMvvcp/ALl8E8UBQwCNNlkgT3nttjr7mnf/zq0Qzt2 0aRug0wzE0CIZZEi+Yl/Mnb/ddj9+bQ9Pn07UEfYHf99IqBWCtVYwW6asCNoNRHrqiGY1sbUHf/v /v6OiLT5pzv+dYG1Irj1fwziWtAmNo4hMXTj0s/LtW1ahcbIqp21Bo6tOE872TVOQgXzUP5NJWoM 3zyLDCq0GC/5v42xy/kfs+f9RE25cjg9E67AwWoFKsh21l57HDbP7DGhfp8AhiT/YzHIex1P63aB AQ9rhBtDFQw0RuEU9pPHaCkrLKRtyn7JtQt60G5GN/L07wZMNs+q2lPue67ToMNJYq8vU77jEU+S 8Yn5ktQJ+7cwYF6DgToIxY/vi8Fk1SGVk+TifDdS0xwt1ikoBmpM2ef5DK0VxrIAVnPzd70NR8l+ F89DByuVm/w8z/sQljPPOyMxrd/JF0tTYKmV2iP64ocidzD224GvlpHRbGsQiGkt5xIyrwd9Lchn G1N0rrd8/5IJOlQoXL6/otwlZU0qyUS9PyXrXhi2NedTFIrLdDrLDRIveiU8TZiyeJ7UED+7rBQ1 TexR9DWKKAKZCk+IDQ7iFxDyXHsDA3o504z0k2O1s4rD2jZNqWvx4gJV41xpfrCfVnWB3tUSTwq1 OmHrChEETFRtmfFylFRnmz4kg2XpQ0STN70+1Nkerw91mO+Sxs8NxHWVEzFtBg2L4QKx5QGttFyd Qd2QF8V9aE72o6Xj8/sWk8+s4VNqXX8go3XmgGZaeOEPg6utYS8SrWZ0K3XB/tHgUWnAHH2P3Dd4 JihLroxpqMyo8cYQU9bofmtl/7IQU8Loop2KPIyjSSvQzEttN4eROEHR4NRfIoGIxX2Cm3L7VIhJ iRsBNi+LUjxYN2q97zuBNVuJAzdcOuZU1A/peO8X9BWSKLrayJlid+wfstRP7nxrL8EtOmCJdEZf 3k2wR9tJ5m4P3U1wtIm1VSH+slTHpUD051XqL5EM4sYD8WGEjG9Og8wGRby4P0ySZ2KgwJvkU6mO 4hNSfDtS8Zu6CXIBrs1Nf4NuIpIA9C2jty8LMYo7lipW0odxtCCGuOWeNfp0FFFciKK3L1YeJX/s j094+u77A9ShZpEKZW5kc3RyZWFtCmVuZG9iago4IDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVj b2RlIC9MZW5ndGggMTU4ID4+CnN0cmVhbQp42o2QQQoCMQxF9z1FTlB/mjZpQQSFGcF1d+JWV95/ a4Ypg24GIY8QPnmBgF4EuoZLD4eZiUH9GThyK4XNE9A2pIqYTUWUTBE1W0tM/U33I4B2elC/uSTt Sgyx6tJSlJoLdBOwV3WGaHddq8WmuQn/rF+8uwLZmXye/lGZxJKLFPtWITnizM6iVceGfsnayM8j T+upqQesH/0A8CtFvQplbmRzdHJlYW0KZW5kb2JqCjEwIDAgb2JqCjw8IC9TdWJ0eXBlIC9YTUwg L1R5cGUgL01ldGFkYXRhIC9MZW5ndGggMTgxNiA+PgpzdHJlYW0KPD94cGFja2V0IGJlZ2luPSLv u78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz48eDp4bXBtZXRhIHhtbG5zOng9ImFk b2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv MDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5z OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmZvcm1hdD5hcHBsaWNh dGlvbi9wZGY8L2RjOmZvcm1hdD48ZGM6Y3JlYXRvci8+PGRjOmRlc2NyaXB0aW9uLz48ZGM6dGl0 bGU+eG1sc2V0dXAtdGVtcGxhdGU8L2RjOnRpdGxlPjwvcmRmOkRlc2NyaXB0aW9uPjxyZGY6RGVz Y3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBkZng9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRm eC8xLjMvIj48cGRmeDpJRD54bWxzZXR1cC10ZW1wbGF0ZSB8IDIwMjMtMDktMDRUMjA6MTQ6NTAr MDI6MDA8L3BkZng6SUQ+PHBkZng6Q29uVGVYdC5Kb2JuYW1lPnhtbHNldHVwLXRlbXBsYXRlPC9w ZGZ4OkNvblRlWHQuSm9ibmFtZT48cGRmeDpDb25UZVh0LlRpbWU+MjAyMy0wOS0wNFQyMDoxNDo1 MCswMjowMDwvcGRmeDpDb25UZVh0LlRpbWU+PHBkZng6Q29uVGVYdC5Vcmw+Z2l0aHViLmNvbS9j b250ZXh0Z2FyZGVuL2NvbnRleHQ8L3BkZng6Q29uVGVYdC5Vcmw+PHBkZng6Q29uVGVYdC5TdXBw b3J0PmNvbnRleHRnYXJkZW4ubmV0PC9wZGZ4OkNvblRlWHQuU3VwcG9ydD48cGRmeDpDb25UZVh0 LlZlcnNpb24+MjAyMy4wOS4wNCAxOToxNTwvcGRmeDpDb25UZVh0LlZlcnNpb24+PHBkZng6Q29u VGVYdC5MTVRYLz48cGRmeDpUZVguU3VwcG9ydD50dWcub3JnPC9wZGZ4OlRlWC5TdXBwb3J0Pjxw ZGZ4Okx1YVRlWC5WZXJzaW9uPjIuMTAuMTE8L3BkZng6THVhVGVYLlZlcnNpb24+PHBkZng6THVh VGVYLkZ1bmN0aW9uYWxpdHk+MjAyMzA5MDQ8L3BkZng6THVhVGVYLkZ1bmN0aW9uYWxpdHk+PHBk Zng6THVhVGVYLkx1YVZlcnNpb24+NS40PC9wZGZ4Okx1YVRlWC5MdWFWZXJzaW9uPjxwZGZ4Okx1 YVRlWC5QbGF0Zm9ybT5vc3gtYXJtPC9wZGZ4Okx1YVRlWC5QbGF0Zm9ybT48L3JkZjpEZXNjcmlw dGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC8iPjx4bXA6Q3JlYXRlRGF0ZS8+PHhtcDpDcmVhdG9yVG9vbD5MdWFN ZXRhVGVYIDIuMTAuMTEgMjAyMzA5MDQgKyBDb25UZVh0IExNVFggMjAyMy4wOS4wNCAxOToxNTwv eG1wOkNyZWF0b3JUb29sPjx4bXA6TW9kaWZ5RGF0ZS8+PHhtcDpNZXRhZGF0YURhdGUvPjwvcmRm OkRlc2NyaXB0aW9uPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBkZj0iaHR0 cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyI+PHBkZjpLZXl3b3Jkcy8+PHBkZjpQcm9kdWNlcj5M dWFNZXRhVGVYLTIuMTAuMTE8L3BkZjpQcm9kdWNlcj48cGRmOlRyYXBwZWQ+RmFsc2U8L3BkZjpU cmFwcGVkPjwvcmRmOkRlc2NyaXB0aW9uPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj48eG1wTU06RG9jdW1l bnRJRD51dWlkOjk3YWFjNzY1LTQ0OWEtYmZkYS04NjNiLWU0ZmEyN2E3OTQxODwveG1wTU06RG9j dW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOjkxOWQ1YTM0LTQ4OGUtYmI3OS1jMGMxLTZk OWQwZWFlMzI4ZjwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+ PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/PgplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2Jq Cjw8IC9TdWJ0eXBlIC9DSURGb250VHlwZTBDIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGgg MjgwOCA+PgpzdHJlYW0KeNqFVwlUE9cangCZsMQgGeKjGXun9SG2VRGpWqutBetel1PFDSy4EpZA Sth3ZIcbNmUxrEGCYVHE3SdYba0aWk8NFm17qt20m7Xq6/O9f9rrO+dNIBRstW9OzuTMvXf++/// 9/3/d0dEOThQIpHIY0NAwILVGyYvX7FCE62Z7jN19Q5VvHqL1jr3Js/xz2Ap6pBO4Mfb80/b8cjh 4Xpi+VXzm06sk4qw1I7MldpbpA4lUhpLHZ+mKJHMTbhTfa7CXWaQelqHaOnE89bHUDklEYloGfJ8 fvoSX28fnxnDm/5x85UabdQWtf92zdYdS7fviI4Lj0t+kpvCJaLsKHvKgRJTNCWhHCknyplyoaTU GEpGuVJjKTdKTjGUO6WgxlF/ozyopyglxVLjqacpZC+8LFwcxdkNmvGl/iFyF9XYUXZ77OfZZ9nf cFjl8IHYTtxKj6eD6KuScY4SxxInf6ddznLnbc5mFy+XpS77pW7SgjHjZHxokGJ3QVVhBSJf/rpY XJWfUx/PJqalJOeU7SzN4+DL/y4W7yzfndLMNtXWN3CyPDN8ahZ9bIYGsz0fAm6KfxGFIbIcLa4R R5ctrjmsbO3suP2FPiqmFKXoSlI62C5saOIskjpsjIotSM8tQoaQEJzEkrlxL6umPUj5Pp3rzfk8 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 KapSvUGwzpiCWsgNmFbSnBJFY6h4TCXojMKHh9Ua5oJrWLCIckXBdQEUpWCPVFfp/rYSwyicHyCF 23Xu/Mty7S4+zW6Xq1ukGw2JkBCbh8ByhWy55/pswQkpWL6dLgJozx18z4I2bilVhTZweS3nuAX1 thSpJGXGoqMy0YwbcVMi3+9hl74kX0qc5X0PLnf+K3WsqcpzTgo6/cdjOs1bvhRKH171/1Y9ozpH V+BntrCmw9Z1e6vik1fNnifLU25MXhs3/wGorF+XCmVuZHN0cmVhbQplbmRvYmoKMTYgMCBvYmoK PDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCA1MDUgPj4Kc3RyZWFtCnjafZRfi+IwFMXf /RR3Hwb0oWPSjnVmEMG/IKwzg8riqzZXt6BpSdsHYT/8Jj2pLqxOQfDXnHtzzm3apx9f62Cksj0H 0bOgFRdZZRIOJstd3np6mmZJdWZdfjArVs1q8U5fJkvWXFJ7spgudFp2rHihk1OluFHdF435mOqb xO1D7Q1vg+1mM11tg5/LZaYzKYIVH6vTzgTCVW3S8mTV3wvJrtKDVRKdP7bPLzZFmul3ks9CCHtj ptUkO7uIRavrbVK3MX5ItTLeK+2d8xaRDEmlSXllwr/kbCdG9eUarS9FyeeFPmT+JtFgQF1rJy1K c6mjdKj7aRSbVB+p/cC41ayrPD+x80iChkPfT/Hhup0d4sfuzNedum5OC2Ur0vLyaGD3+2wu+a1P +J9G+rCZ4iLfJWx2+njTD+xQxZAGc3s1Plmru+pIoNX+kPy2ZlypHLoOvcmwprCmfgSKQC+gl5pi CephLQTFoFdQH8op6BXkd3gD9UAj1HkagwRoUlM0Ak2x9gaaocsMNAfNa5ICBNcS+SJ4kcgX90E+ 3xiEfCGyS+SLkFb6fL6Lz+eVPl8M8vngUyJf6OuQL8bMJPL1fR3yxZig9PnG/zxQ/8yax9uc/OYc UlIZYw9f/ZrUp8qdoFTz9V3KM1dha1vuV7+GzTfB0ef8L5jDMjEKZW5kc3RyZWFtCmVuZG9iagoy MCAwIG9iago8PCAvU3VidHlwZSAvQ0lERm9udFR5cGUwQyAvRmlsdGVyIC9GbGF0ZURlY29kZSAv TGVuZ3RoIDM4MDAgPj4Kc3RyZWFtCnjajVgJWBPX2p4QJoMSURljy4ydsWpt1WrFpWpbq9Bbq7e2 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 843azJ0ui/VJlZeGbPxL43SmnQYR9lejsn2GF5cZFcBf9okryqO/2Z8gpLthpilfAjZ0IxI7h6Nb fF+tbcbU+AM100+jCg+ltXdVQUBDIu8SHRWbEum1SV0RUxF5DMOonUeJgDhEaqq02+9/kph4NScb pVTLUhIE7TqUSXse4GieKgiGc7ILUtnN6df6Ihz7ea3Zk/n17dUvVKIbu9HVvyPa+K+INnlDtPyc jEWbBCPRilS9J9oASdMpvVeKXy4h45eqlfh71b5fnfdkK8U/l+37Ud/Qbfp3dSvlW7rlTM7sjhbU +j8WGcfo+HoO1Blc0zvd7C0qZzihvmnParvlovetcWmyQo/W17pmqmTXcyShxu7qNbljX20m7YRe lp4QCcPbRca1Xd8aB8HzzqIuNiPv+/xepZf8L9O70NxTpjoYP3845JKbC70yZRf9ardhRrBd3JIg WGnAGiJm2vCEv2R6/bvGXNnqmanhNl34M4pRWtLKZ1M3ha3AF148KtfCLJ33g11V3AaTx03ZGLfb TknU21I77vIBxN1uaweTNRf50eWaXonKq4wbgRYFu5EogymmU1QLiYdCHYb4EeUh4gh5V5cwyQv3 dbfy1nbjv/A6rEb4If/WuYepx18s6aEIGVMb7ehwRhnDZHbIEExRSRSqDf0B8cOAo648ejAPD4hq TR8b9IpGguYZjTSPVbcOVbcOE0SJiAH9k4ZGOqNPoP1c7M+DYQz6edqPqsPIVTfS84QRxY/Myzhx j+O8OB8+G8cf+2/j9zGe5719mxfH1v08JL3MZ2/QC7/Ct7giff1RSakLst3a1DC52GkWNZE1lZ5A T4gD/vZb7oXjdrln65y3C0fPaU9DTFeMuPxMR7CngamJuWxZT0vY4XiPsUxTt39Mgv4NSgDnAgpl bmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqCjw8IC9JRCBbIDw3NDEzREQ3MkMzMTFFMTI0QkFGN0FD NEQzQ0EyQzJCMD4gPDc0MTNERDcyQzMxMUUxMjRCQUY3QUM0RDNDQTJDMkIwPiBdIC9JbmZvIDI1 IDAgUiAvUm9vdCAyNCAwIFIgL1NpemUgMjcgL1R5cGUgL1hSZWYgL1cgWyAxIDIgMSBdIC9GaWx0 ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggODkgPj4Kc3RyZWFtCnjaFcjNCYAwGIPhpK2/td5EhG4g ggd3cAX38uoKTuAI7iTmOzwkvADgEBopBFwziMEaJdLf9juG0zaIE8/4geMBTq/1WkqpmBM47+Dy WG8lSc/twg8yRAcmCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjEzNDY4CiUlRU9G --Apple-Mail=_4541D1F7-5A74-4207-B443-CC822D0E41D0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On 4 Sep 2023, at 10:05, denis.maier@unibe.ch = wrote:

IDK. But why do have a setup for <something>, = which does not appear in your xml source (shouldn=E2=80=99t it be = <what>?)?
 
 
Von: Hans van der Meer via = ntg-context <ntg-context@ntg.nl> 
Gesendet: Sonntag, 3. September 2023 = 14:11
An: NTG = ConTeXt <ntg-context@ntg.nl>
Cc: Hans van der Meer = <havdmeer@ziggo.nl>
Betreff:=  [NTG-context] = ifxmlselfempty
 
Is it possible that =  the new \ifxmlselfempty has reversed its outcome? Or did I = something wrong in this MWE?
Here an = MWE.
 
yours sincerely
dr. Hans van der = Meer
 
 
 
\startbuffer[test]
<what>
<emptynode value=3D"!empty = node!"/>
<notemptynode>!not = empty node!</notemptynode>
</what>
\stopbuffer
 
\startxmlsetups = xml:mysetups
  =  \xmlsetsetup{\xmldocument}{something|emptynode|notemptynode}{xml:*}<= /span>
\stopxmlsetups
 
\xmlregistersetup{xml:mysetups}
<= div>
 
\startxmlsetups = xml:emptynode
node=3D\xmltag{#1}:\crlf
ifxmlselfempty-else-fi:\space
\ifxmlselfempty{#1}
attribute =3D = \xmlatt{#1}{value}
\else
content =3D = \xmlflush{#1}
\fi
\crlf
ifxmlselfempty-else-fi = reversed:\space
\ifxmlselfempty{#1}
content =3D = \xmlflush{#1}
\else
attribute =3D = \xmlatt{#1}{value}
\fi
\blank
\stopxmlsetups
 
\startxmlsetups = xml:notemptynode
node=3D\xmltag{#1}:\crlf
ifxmlselfempty-else-fi:\space
\ifxmlselfempty{#1}
attribute =3D = \xmlatt{#1}{value}
\else
content =3D = \xmlflush{#1}
\fi
\crlf
ifxmlselfempty-else-fi = reversed:\space
\ifxmlselfempty{#1}
content =3D = \xmlflush{#1}
\else
attribute =3D = \xmlatt{#1}{value}
\fi
\blank
\stopxmlsetups
 
\startxmlsetups = xml:something
\xmlall{#1}{./emptynode}\blank
\xmlall{#1}{./notemptynode}\blank
\stopxmlsetups
 
\starttext
\ConTeXt\ = \contextversion\blank
  =  \xmlprocessbuffer{main}{test}{}
\stoptext

= --Apple-Mail=_4541D1F7-5A74-4207-B443-CC822D0E41D0-- --Apple-Mail=_A72CAD03-993D-4521-B7FD-FC489B1E4D2B-- --===============1652957932112681078== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ --===============1652957932112681078==--