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, MAILING_LIST_MULTI,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11281 invoked from network); 25 Aug 2023 11:46:56 -0000 Received: from cgl.ntg.nl (5.39.185.202) by inbox.vuxu.org with ESMTPUTF8; 25 Aug 2023 11:46:56 -0000 Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 74EEE482F25 for ; Fri, 25 Aug 2023 13:46:18 +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 ThiXRoosLSNw for ; Fri, 25 Aug 2023 13:46:18 +0200 (CEST) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id D8620482DB4 for ; Fri, 25 Aug 2023 13:45:47 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id C814848256D for ; Fri, 25 Aug 2023 13:45:30 +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 z8RRdkAzmA0P for ; Fri, 25 Aug 2023 13:45:30 +0200 (CEST) Received: from CHE01-GV0-obe.outbound.protection.outlook.com (mail-gv0che01on2097.outbound.protection.outlook.com [40.107.23.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by cgl.ntg.nl (Postfix) with ESMTPS id 5050448255F for ; Fri, 25 Aug 2023 13:45:30 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CkxmRvXi500bGJl3LM6VV+xgcyFSJ9S6WF33GKaNGaJtp2d79l3U4kQRzqyXdCtHWNFCmKtB4YkMuc9fsAEk5FsUkH/mU6VeAhKP2KqrJPQMCihA4gfuB4vL3vMEfsw5dC7hye2nsmAxzEQ52GVEiUTfwStp7kif/fcNsQaECwSaWI4vz5RAIHMvqSWI2pjAcP6zgZnBPAjg7xsvOHuY0l5KLfE+0qbKTqCo240KfzsJTybmqswJoSPzaZgbM9dDAzQllXucvbUAYY+ZQDEcZh+TZHhqkRBuBpO0fW7R8/vSviezTFzmA7rzzEEgatsHxM6oJ50pe+xgns7gg9z/ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZVes1KueGQrIXG/UvKx+bu9CdEg1TUnkWOwLJNT9kD0=; b=TqqlvsFj0kNeAJbfqNBr2TeOOkR6XOrEOouSCDdxgZHxqO4NX28Ry0+La0aHJkfCZCYbajkUAi48t9evl8sJI//4ALO7ZgFOLt7GpzPKQ/5P/u92lCVYCMkLuvBdcMMP4U+5dJ3lOf6KdchTnkL/L7g1VsS1hRz5sg5are2V192fCbgSiNF1jQxUw6N1XfuphDkdSXe0Shu8/tu9cqvXC7Np+iUHRivSzUVS7QoJ7bXq4O7oY44yUcJ5FDoUU69mNIcrL5P7Qhh6B8D6Flm0MFl+whqV8Pix5xcLT/yzefdAUEzIHnQ/9Gri4WSWmxrhMElSmrXmLE/wtAVelP2Nsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=unibe.ch; dmarc=pass action=none header.from=unibe.ch; dkim=pass header.d=unibe.ch; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unibe.ch; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZVes1KueGQrIXG/UvKx+bu9CdEg1TUnkWOwLJNT9kD0=; b=fQK5dADjTB1YT0nIgNmOeJbVDRD8M1Tg9TYjZKxXFkM8zHRJ53tMOBpSXdmPkfU6iW9FY183+mMSd/hEtbR6kUnE47YKVsyjRerfTFvbs159831162bPmgyzpSs6qlotDx1G+ebG5y8JvMnZ8Kl8lj3nUVMI2Nc9Met0gaNwBjke5BtleoM4Z1iMK3YHctJp+4ntmCWZIpIebb65zG6FtkMMCNJ5o+oXhH8D9bxBhnRhbmdUmCcIIb2VGkPHUx0ilysW3aDr6xh9tvtGOOscrgnaSN4r5BjO85mjMczAjpGlb3DpSQpJ57vjhtDu1pw/n/eTJLbjgWTgytW90RQbBw== Received: from ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:2e::8) by GV0P278MB1094.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:4e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug 2023 11:45:28 +0000 Received: from ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM ([fe80::e676:cca3:8123:9797]) by ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM ([fe80::e676:cca3:8123:9797%2]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023 11:45:28 +0000 From: To: , Thread-Topic: [NTG-context] Re: xmldoif: checking for contents of attribute Thread-Index: AdnWlG8A1Y5MPqBnSHG+mrS4F7rkeQABmaIAACBe6QAAAY/fAAAJte9A Date: Fri, 25 Aug 2023 11:45:28 +0000 Message-ID: References: <0e5968e6-ad6f-4838-5d90-d559484f6892@xs4all.nl> In-Reply-To: <0e5968e6-ad6f-4838-5d90-d559484f6892@xs4all.nl> Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=unibe.ch; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZRAP278MB0495:EE_|GV0P278MB1094:EE_ x-ms-office365-filtering-correlation-id: a8eb93de-1cdc-49ac-5b9a-08dba560c77f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Orqw2w9N8aZFlByzCChd3Pe4I9GXO2xOe/FopyJjS8U5viwRhVPFzotrw/zHQojZzUMGy22a+D/zwQfk7ExSg/eg2d9SPw9O7O4duATuDdWaLpaunBg2KoOZmwA7m1HBadCCp0YBPybnrN92UP5AMg2XNUNjdtEDxZrO+LJ9/OiJthxyX/YIQs0e+Nqduc2Lu8PCWoW4jGfN39Q0Lkd8bsIyMgMJpCH/QkOgSmjxs8SWRoUWdW7Mf6S6Xeebaoge8HNja2pxsk2Dy58MVJjJGPvf9xSbuq7rGqzRdRXUqPgXVZSorTxzC3i3lYNHjltlWkdSfn4Z2DNkB5iO17thCbQP4dDo9RTPF1D3QfBDE8d2AqWnJ7blBdpehR4kTe893vjWAgH4nTj46ayjlNvByF1QMm/UaN9CVgeMr9x3fT55RbA5TzroMEy6xkEMEjOG0uUVU029qXPmulfe3x5qv4iwrTjhsnQ+m9LMdSciIYZT0Xsod0kRAEv2JziKqrtIQT80NPsYILw3+cJiwP82mROo95CvlruV8y3mZSaD/ckFJCWkyiabeshiqWYDCKdN4O/ZKQ3R0bRNqr4aiHZJcuVeYsPJ5kfYfsXt9fenwvEAud4gI9+7SSqp+/aXZWo+ x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(39860400002)(136003)(346002)(1800799009)(451199024)(186009)(8676002)(8936002)(26005)(71200400001)(66946007)(76116006)(9686003)(66556008)(66476007)(6506007)(53546011)(66446008)(64756008)(122000001)(5660300002)(52536014)(316002)(786003)(478600001)(110136005)(7696005)(41300700001)(2906002)(38070700005)(55016003)(86362001)(33656002)(38100700002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?mDsTsGE0hAgmVL8kbiPb2gX+2w9fnDtP8d+mNaBElA0aNo3gOPKOgLMDTv?= =?iso-8859-1?Q?ObnTVD0JiwiZLJWMq30/mgI/muvYMbUdp99UYeQi8Bx7kpH2M5NOkOzWW7?= =?iso-8859-1?Q?Xm6SSPYr/21SFfcONTtpfNXX1xfmQY/Vvmp3IxXnqxJTSd0Q6ARBa4ZAps?= =?iso-8859-1?Q?GA5bZwrGzqfyE7QBGPGgycInKbI5qaET+4HriuUGxl2H+ktDmo/HFhcWle?= =?iso-8859-1?Q?/91NlffdtRztVs/OPwXVFdJEFsb6ds4T4ixliVqTFkUg3PBliq9CexCF4V?= =?iso-8859-1?Q?i6feeSgsCNb+NsrjbudOfld5dtP4VMOh7kp21KXK3D9WQ0NBwfUR9FEfNO?= =?iso-8859-1?Q?DL9D22t167POh3dz2rL9JUcQ0KHzH5yheF6ZgtZrtYvrPq3QsdJEFHj3WB?= =?iso-8859-1?Q?qWXVOvI5gzC4BaXhXA61hy1c7ayHFKH+b68TrKwyuLSywfzAd49S+dnz4H?= =?iso-8859-1?Q?XDtDw2sUZvrAIdRVNz4Gn3/XaepYJow1KrFDf9KRsim492kCHgJ3lBPoa2?= =?iso-8859-1?Q?vwFfy9wH40jv5tfS/I7cgaPiUd3qSCMpggMVlkIT71+OaJfxmfc8aSypcd?= =?iso-8859-1?Q?PaDk9j5zXOm7+D8e6CZXbG9gmbbk6h5kLXLdbpsEqH2hTPmdTVF/LKQlTu?= =?iso-8859-1?Q?MaA/lGdj074G7Qc8L3+BYzsTXY4NqqurmV8UYJUA/Pkk7jLBHhDPo1yEFo?= =?iso-8859-1?Q?ElEnNVkGh1H8dge9Gc4sziGabegl7PauYyATCBfTIunqOmYgoQZLRDyzYb?= =?iso-8859-1?Q?QbRtbYkvjZYvKrJs0PcwGv3Wag2q21m8Mc9zH2Bli8WXb62HnwfI7G5Tar?= =?iso-8859-1?Q?Vmw2eU2XhsY0iTRcyvDfp59oJw6ulgXRm6Q6QZ8Pfpmyf5oExCjeJXsG9p?= =?iso-8859-1?Q?S6gDkcUEcQld6dosOHZnmVNu4xW0HoAvAtZCQj8N3Ra6TKjv7hRg02Lo5B?= =?iso-8859-1?Q?kRDvTCjt36JhyL0iDzN5rWwG/YOGrWc8/DIwfSLo+W+d59PAgHVOTaU2ZU?= =?iso-8859-1?Q?Sxo7+kBIUmsx/lHx3IG8AGqSzaqIwDqpPq7OcbejSQshYRAKHN4XrwqEzR?= =?iso-8859-1?Q?hkChLypdi6ewDHXwQ06qCH4y5T3BwWWirhW8At0SR8YK4R/Cm+xIK0W6lI?= =?iso-8859-1?Q?Hk8ETqc2ZGR3HUmjtdl6GaqaVCkzubSY1M3TmSxjT4vfvGCObPA8m4MA1G?= =?iso-8859-1?Q?T5ocaiCj35DMX7/hJ1Gz0uDQqg7I/XMTCoBWR0hz6YRsH3srHDdtMi7ycN?= =?iso-8859-1?Q?5na/PfMUGqSc3RwSdSFZLl0YcB6x28KufkSUdMbacMzQZRKn+DnDYXAm7L?= =?iso-8859-1?Q?a6vQ/N3dzTw1LWiGKlJi1w5lQPm8pg/MjIpgkSOVu0/Bi9o9Vq2Iz2sgJn?= =?iso-8859-1?Q?dOWEmhLgiKvh3cWIVDXWBsIwIA8d8pM3za8lC4HjKw1XfFa3OyVP0zvaFb?= =?iso-8859-1?Q?1JLmB4syYIQanWROa+Nz3MWYriD1SKa/k2ylZagw8EEE9V7RVDtQ+/9FOg?= =?iso-8859-1?Q?/DKcFlnfQi3rtA6znkz3PDHB3UBhyDQQ1nCxAQkivI/FfBt9ltlT34X1gp?= =?iso-8859-1?Q?mdevK0m2APqdu4Ge/+c+RkbS2oTzVojTDV+tOxWKbtRLjpaquIFv86cRlH?= =?iso-8859-1?Q?eJLXNAvzU/f9JLkHGXY+6DABj7KFo17+sj?= Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 X-OriginatorOrg: unibe.ch X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: a8eb93de-1cdc-49ac-5b9a-08dba560c77f X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2023 11:45:28.4991 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d400387a-212f-43ea-ac7f-77aa12d7977e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5A9KW6e+ZXQCQ0igVHl+v3fRBKkKc4/pud+bInOVfOFoYEDtL0RhGTUm8v6mkj/zDj6MUlj08tea47aCv27JQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB1094 Message-ID-Hash: SYTUZQ64XRMKZY77YGPFAVUYZORBWEKS X-Message-ID-Hash: SYTUZQ64XRMKZY77YGPFAVUYZORBWEKS X-MailFrom: denis.maier@unibe.ch 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: xmldoif: checking for contents of attribute List-Id: mailing list for ConTeXt users Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable > -----Urspr=FCngliche Nachricht----- > Von: Hans Hagen > Gesendet: Freitag, 25. August 2023 09:06 > An: Maier, Denis Christian (UB) ; mailing list for > ConTeXt users > Betreff: Re: [NTG-context] Re: xmldoif: checking for contents of attribute >=20 > On 8/25/2023 8:22 AM, denis.maier@unibe.ch wrote: >=20 > > Thanks for your help. I can use that, but why is this sort of double-ch= ecking > necessary here? >=20 > because containsa in a function that has checking while find is just the = lua find > .. so i've added a check in that one too now but no upload >=20 So, that would mean that the double checking is only necessary for find, no= t for contains. And indeed the example below works. Is that correct or are there any unwanted side-effects? \startxmlsetups xml:test \xmlsetsetup{#1}{*}{-} \xmlsetsetup{#1}{doc|element}{xml:*}=09 \stopxmlsetups \xmlregisterdocumentsetup{test}{xml:test} \startxmlsetups xml:doc \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:element 1 \xmldoifelse{#1}{.[contains(@class,'abc')]}{Yes}{No} \par 2 \xmldoifelse{#1}{.[@class and find(@class,'abc')]}{Yes}{No} \par % runs, = but no match \stopxmlsetups \startxmlsetups xml:whatever Yes \stopxmlsetups \startbuffer[test] Yes No \stopbuffer \starttext \xmlprocessbuffer{test}{test}{} \stoptext ___________________________________________________________________________= ________ If your question is of interest to others as well, please add an entry to t= he Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-con= text webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________= ________