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 31287 invoked from network); 25 Aug 2023 06:24:28 -0000 Received: from cgl.ntg.nl (5.39.185.202) by inbox.vuxu.org with ESMTPUTF8; 25 Aug 2023 06:24:28 -0000 Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 9AA76482EC5 for ; Fri, 25 Aug 2023 08:23:43 +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 KRMBZGYLccYF for ; Fri, 25 Aug 2023 08:23:43 +0200 (CEST) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 626C9482C87 for ; Fri, 25 Aug 2023 08:23:17 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 6FFE8482BF1 for ; Fri, 25 Aug 2023 08:22:59 +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 LRdApl8B9DUA for ; Fri, 25 Aug 2023 08:22:59 +0200 (CEST) Received: from CHE01-GV0-obe.outbound.protection.outlook.com (mail-gv0che01on2103.outbound.protection.outlook.com [40.107.23.103]) (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 09E40482BE8 for ; Fri, 25 Aug 2023 08:22:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j3Bi30UpJiNr2cwtxJ2T10xeNTV3YLCoLZ1E8UBbs+Q6uQCeTuyjiuvXBjr+leIA0Bu+OFt8ge952r8iqtF98tb9xg/6e8r+srBfid6VrM0BktQk3qRvGWO1xvewU9NBnC5F1yp0s94sEymd/vKv54BXskoQGTJrJ0gxM3+AUw38Ud6iX5x8K6Y2s3yT8KoJDzFSnYNVqFd4vWxgTvXuuckzKRwWSD6tJm8natv0v8y94sbP5TZGgvVNcvDo1X/io09S0LkJJ/FUcBNZRqLN5p6ms0ADHhLf3WAJBsLpXqUdU2mtPQifHAIai7obtMOV8uTmzX2KO7ityFbr2ZWCfA== 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=EfZSPnUxrUereaGa9VzzDQBHc00cMbTkSX2WwQztQwM=; b=K3iwmIC74ITQsp6kA7P6EKNhtSs6U9diI7uqBwmwNnHgZ35wAMcJuB4Gz0CMDY+xWwMOlQGcoe7vAzHvEd6+GvkbFfUgkSM3bdBlBvDsyP/abzFTaxBYObekF0Hq83Rb9OjNoOXgMhZfIKZ5MvK8WiuZ/vs2/rnE+qM4nDC5SbGzcWgtXmNzU2A63Z7zsxm0fHm1MyDkOFEVWv8AVje1yc0AVQLQM3M/Fwyo0rA11hMXlgt3JmrxpNpcOLcNu2QDEGFO2dpgys2rn16dOwwJ6urV/StXUA4Bl8i7z6OOMD49T13xoM7Nygqdkvrqw3PVwUSb5D/do+TJKtYDf4na/w== 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=EfZSPnUxrUereaGa9VzzDQBHc00cMbTkSX2WwQztQwM=; b=DeRu6myfbOwp8KKBDjfYaUBihzSEXBEsZB1yv7DZdc8rcn7dS/ypv87Ka1qRw5sI7GjLxBcfk0+961NjlFIxVCa6YN+EPIsBRhgdGZzmMXEAmIhdhGSzoYlqn9Uqyb0VLp4L0pcmGiUVtRRxQ0yHFmyyISTne2TBGZXbHG2EE96v6IMhX6GZrP4AHbbHGXkpDwH/SEm0fHMiEApmCz/O3Q89O2zHZoN7pGN3T4cXpDGTVcK/7dv66ReE653Q8Vi4oPIwNK5dSO+w92/39io1trJfRAs/NprK0WXAkXa4oh5k2WIBIgKuJofwvPsCUhwr1uv7kdxP33musbtVJJM5Ng== Received: from ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:2e::8) by ZRAP278MB0740.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:4c::11) 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 06:22:57 +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 06:22:57 +0000 From: To: Thread-Topic: [NTG-context] Re: xmldoif: checking for contents of attribute Thread-Index: AdnWlG8A1Y5MPqBnSHG+mrS4F7rkeQABmaIAACBe6QA= Date: Fri, 25 Aug 2023 06:22:57 +0000 Message-ID: References: In-Reply-To: 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_|ZRAP278MB0740:EE_ x-ms-office365-filtering-correlation-id: 58b997f5-6c81-406a-97d2-08dba533b945 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mLZgo9K8GmeFvO//u1LnFEEBB6hKzP+L1FgX+hvxcpi2keWC1hC9s28gWIBS4VnkMrDubFxyHVG5aH9+zxIUNgq2zNd0vXTSkhs4MKbx0N3QQIP0/zcw6gTcfOFbRqko8mhZ1kE/qSJ4fuZj6ik273bi3gaXQ4FNrTgm1aHvgLteB6vF8GugiRzbgR/Z0yAzcFVqAZmKQ7gqDuPOUfy3rB0fHKVsRV763xUVPzVLbgmnTfRCSFLc063pWns3ckr+xgP+3NdUeKl6wOcw+fClqFej3dGMS2ejGuVJvfyjzEJHEnu5nrHH7PVhEF9nZPSjHU6QEkHGdOuUlheGbTC8ZCXua5aUQht/M0wrqY3niUt3fYJhzGtQ6gQjlJq8HR0Pwz7rVvsPc+sWrCh0D2pIWEf8CyhKYanmlH7QisHs5F13MISLQWYjnGeQ1oEg8PGDaOycbzl8PGMW14uZHh1Jf7B5U4ahr+x8HueKhVphvEJXT1UhTraoiVt8yZvKBNM+luH1Byx+XSu/hjAi6i4Zi8t+ofi21+uCZt5mK07RoCjcf5nN5bH+voW5loawyBv9IFuknzCipTSCGuK5GhEb0T4juzN7oIL/4aRMLYgv0CbK+RJ8PUrcMcBftEXVbvxw 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)(346002)(136003)(396003)(366004)(39860400002)(376002)(1800799009)(186009)(451199024)(478600001)(52536014)(71200400001)(6506007)(86362001)(53546011)(4326008)(122000001)(38100700002)(8676002)(41300700001)(9686003)(8936002)(316002)(33656002)(76116006)(64756008)(66556008)(66476007)(6916009)(66446008)(786003)(66946007)(38070700005)(7696005)(55016003)(5660300002)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?a5urQ/fnQvclOuAVchK1QJPOajZYZ9OaeJAue3zq+7MIBGQtfZtD3XGUrR?= =?iso-8859-1?Q?fFlfZpJQmEBkztODh+Wskzfy/oyufSvgGPJ2NNy+Y9XpZqnJUdCHj5TgsR?= =?iso-8859-1?Q?Wh5n45H+M2dkNeWzG6sTgLVVTheUdqepLReNZgbZNXjyFHarWGRDWQbIms?= =?iso-8859-1?Q?FlbbHKP+MOtnoHVfc7nvux68SvptTezOzWgbFCmnuUpro88V2F+DiKujUP?= =?iso-8859-1?Q?nuZZ/6FUXnAexARvTfysu1Tt0iBLly842ojWcZx2tf2AoK8OITFKpuFhHB?= =?iso-8859-1?Q?3QXym9Pexp7q+WFGnixC1yU4PQQep1iLX1czqQuWm12UE9urp0Rxb0qI6K?= =?iso-8859-1?Q?KGyCuRGOqYF6qcSlP+LZj2LXHwz9z5LAtrdZDdZAv+5BsRPmL0zz5QvVSL?= =?iso-8859-1?Q?F5RJDBJd6sR/qfN6H12Rl0n+ACE5eT9ZfCDomouITmm3XVFFUaYJSxqNPQ?= =?iso-8859-1?Q?s33L9yYdW/1ipgWsnmAfSb9H25l04oS8NMRmw5iHjHDJP4vIWbT3D7Ki3S?= =?iso-8859-1?Q?TPeWLeBqYg0X13FFY5uwsweFpDBJtQID0X7hm6DcUAONh6u3/8Ecjldmyc?= =?iso-8859-1?Q?sPBwm94eueFDUoniBlsQtzVOY5ya0kbhOTWLzf7A31Pfw8TbgY5HD78jj1?= =?iso-8859-1?Q?xfmCt7mGmON+Z8pt5qMgv+TZm+5GcSrS5POMaTJ8X46YYIaopQXdOgsQXT?= =?iso-8859-1?Q?Ldx4ieZoy9WBKHRjXp1jMSs9qJUChhrpTW2GTEn8FsdqlzPSjtohlX7xpV?= =?iso-8859-1?Q?/M7pAx3qY+cGwgFB4dKDPUUm9Iz7uRZksbGYfAlJlPu7tmWKIaBL5XXlve?= =?iso-8859-1?Q?UuyZlrjGYQBsgq0U3TUVG9DlY5UGpx4OLgTm4ZpG1B+5cDJkn8HEUre1lv?= =?iso-8859-1?Q?wyU86OHQhmXKTAJFvRk3eLPjKqwRHCQVfeOF/hkDoIYuwLChqrkBowzzt0?= =?iso-8859-1?Q?2oSjnoRJ9CEFpgjE8eFTPwGtv0RMueNXuH6q4hrfSYd5byb2h7MnomONTh?= =?iso-8859-1?Q?iLhjRU5oCoTDzaVDNEAB9BvcUNuJD7SSPdP2xdYSPcmLo99kisRVuu/cYu?= =?iso-8859-1?Q?0mrt3TDnvKTGtKaRbGUl4Os6qntTbKaP1d50l6MQ+rOfyRgikDjQ2MxEqh?= =?iso-8859-1?Q?Q4+DJf/6AjN1n0evr88gKyDRSFs10NtGpNpAy8KmmZKREWNHNTr9XFP0RX?= =?iso-8859-1?Q?zIf2LAMqsRMa8Q4HxQqbhfuQGdUJy0YPjd4XSr4MEFILaaxpl1MGpJeaof?= =?iso-8859-1?Q?LT8ne1fqb8Y6CH98r+gub5GDAFqrbWFlPHdf06kD3cqxnZnNiie5g7Vj0N?= =?iso-8859-1?Q?hKWNArh29nhzfqnBO+5MkUSScFZ3Aea8oPABZS3gvJ5bvjKpTkAZus6exb?= =?iso-8859-1?Q?8hYT9yiF3CfXtaVu+we3ALk1Fl4GAFOD/bXzbL0v4HD3Z+TjwkCBhdK02K?= =?iso-8859-1?Q?tx2EHLeZnpyp3+7/JLAwOLn/XUDXKHjrNx1R0JX2p64Mfo4Jlz5C4Ic6/q?= =?iso-8859-1?Q?bWfUVFw9va+NmC/kl/ZcRME0gaLu5SnCbN62UGQmIrUzUU3j94ywxqBAcp?= =?iso-8859-1?Q?2yXoC24F53vTArzKcQs+bEAac2pU9/4CWGR7itvf49NkruPkB3CPdM8tGg?= =?iso-8859-1?Q?msc45ALc7pZhfwqt9W+ROBL2EqrLlEPgDIyVOkhupdF0eya7cuQVTixYm+?= =?iso-8859-1?Q?mwYr+jiKwQu+CVc+/8EOnu9CnHswETasbSKnNRbR?= 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: 58b997f5-6c81-406a-97d2-08dba533b945 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2023 06:22:57.2718 (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: k4+bXTtR42+3ZLWMW8Vfes3gmsMuj/9M6wque4qg3HUYG1yAm9B/YRsHKgfPnXVSikcJJSL1NeDWNgfGabw4ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZRAP278MB0740 Message-ID-Hash: UKMLZKCFSRIVQR4OK6BHVVBQYKVKX656 X-Message-ID-Hash: UKMLZKCFSRIVQR4OK6BHVVBQYKVKX656 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: Donnerstag, 24. August 2023 16:54 > An: ntg-context@ntg.nl > Betreff: [NTG-context] Re: xmldoif: checking for contents of attribute >=20 > On 8/24/2023 4:11 PM, denis.maier@unibe.ch wrote: > > Hi, > > > > I'm trying to check whether an attribute contains (or, actually starts = with) a > given string. > \xmldoifelse{#1}{.[@class and contains(@class,'abc')]}{Yes}{No} > \xmldoifelse{#1}{.[@class and find(@class,"abc")]}{Yes}{No} Thanks for your help. I can use that, but why is this sort of double-checki= ng necessary here? \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}{.[@class and contains(@class,'abc')]}{Yes}{No} \par 2 \xmldoifelse{#1}{.[@class and find(@class,"abc")]}{Yes}{No} \par 3 \xmldoifelse{#1}{.[True and contains(@class,'abc')]}{Yes}{No} \par % runs= , but no match 4 \xmldoifelse{#1}{.[True and find(@class,"abc")]}{Yes}{No} \par % run, but= no match % 5 \xmldoifelse{#1}{.[contains(@class,'abc')]}{Yes}{No} \par % causes an e= rror % 6 \xmldoifelse{#1}{.[find(@class,"abc")]}{Yes}{No} \par % causes an error \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 ___________________________________________________________________________= ________