Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 80505 invoked from network); 10 Dec 2004 10:28:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 10 Dec 2004 10:28:10 -0000 Received: (qmail 74592 invoked by uid 500); 10 Dec 2004 10:27:53 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 74471 invoked by uid 500); 10 Dec 2004 10:27:52 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 74443 invoked by uid 99); 10 Dec 2004 10:27:52 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from 66.111.0.243.nyinternet.net (HELO confixx.bestiole.ch) (66.111.0.243) by apache.org (qpsmtpd/0.28) with ESMTP; Fri, 10 Dec 2004 02:27:51 -0800 Received: from [192.168.1.36] (lsn-boi-catv-c126-p138.vtx.ch [212.147.126.138]) by confixx.bestiole.ch (8.11.6/8.11.6) with ESMTP id iBAARjH27870; Fri, 10 Dec 2004 11:27:45 +0100 Mime-Version: 1.0 (Apple Message framework v619) Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-10--186787108; protocol="application/pkcs7-signature" Message-Id: <210CC1D1-4A96-11D9-8BD5-000A95AF004E@apache.org> Cc: users@cocoon.apache.org Reply-To: dev@cocoon.apache.org From: Bertrand Delacretaz Subject: Templating: experiments with Conal's html-to-xslt transform Date: Fri, 10 Dec 2004 11:27:43 +0100 To: dev@cocoon.apache.org X-Mailer: Apple Mail (2.619) X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --Apple-Mail-10--186787108 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed (ccing users@ as I'm sure many subscribers there could contribute to this experiment as well, please discuss on dev@) I've been playing [1] with Conal Tuohy's transform [2], to generate XSLT transforms based on simple attribute-based templates (HTML in this case, could be whatever) and I like it very much. Converting attribute-based templates to XSLT instead of processing them directly is fairly easy to implement, easy to use for the template writer yet powerful by giving access, when needed, to all XSLT constructs. And the syntax of attributes like for-each or apply-templates *is* XSLT, so Bob can ask Alice for help when needed ([3]). There's more info, including source code, on the wiki [1]. Feel free to use this page as a poor man's source code control system for improving this, if people like it we might want to include this our distribution? Compared to Conal's version, the current version allows "element templates" to be defined in the HTML template, they are similar to XSLT templates but much easier to write. I think this adds a lot of power while allowing the template to remain concise and modular, and "fairly" editable in visual tools. There has to be a compromise somewhere I think, converting XML data to HTML or another format *is* programming at some stage, the "100% visual" paradigm does not work for this in today's world IMHO. Comments/opinions/enhancements/flames are welcome (well, maybe not flames but if you think this sucks I'm all ears ;-) -Bertrand [1] http://wiki.apache.org/cocoon/HtmlToXsltExperiments [2] http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=110246247525208&w=2 [3] http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=110231970204971&w=2 --Apple-Mail-10--186787108 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGRTCCAv4w ggJnoAMCAQICAw0p3DANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0EwHhcNMDQxMDA0MTQyMzU0WhcNMDUxMDA0MTQyMzU0WjBtMRMwEQYDVQQE EwpEZWxhY3JldGF6MREwDwYDVQQqEwhCZXJ0cmFuZDEcMBoGA1UEAxMTQmVydHJhbmQgRGVsYWNy ZXRhejElMCMGCSqGSIb3DQEJARYWYmRlbGFjcmV0YXpAYXBhY2hlLm9yZzCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALXTKyJRGv/islEqVhG+iE8FSGe+4ikts9rca6OUPD4CJ+vYcXS5 arpv87lSoi0cyC8QkjB6MzsXzsraQjyO3EOeFOcNWN1XFe0Qc2uqVBSdYM6LtaSs4A1OYSweKKFK iNscMmlsIIKXvZ8xb4QmbZZSkklh5tWdJh+aNNV0m++NEUXRsqRffz6eHRmf0RjYmwxBig3KpzmH dPAcGTtDcI9O7p2OpQ7zPFAt9n4tMPx6makpU97HeGKqvWPIaaprQa/4nLhTcWDaZ1AHyFYNhzru gyRI0SDyp6OijuUZKXsaESJWEEySke18l6aZbsflzXpoCMTS9ce93fJ0uBFax/kCAwEAAaMzMDEw IQYDVR0RBBowGIEWYmRlbGFjcmV0YXpAYXBhY2hlLm9yZzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3 DQEBBAUAA4GBAEBia6WrujKxJoVkme3aFszr/WmH4x+mIj+AmrAVG2tGB+RO0yCK/aal3wLzMBYn O6zr7TPW2PqOUmMGeP7Pgr5KSMn4rlfM+Hdfd/IvqCpHuWcqq/VAto47XF2cZyGNw32EdGx8IeCe 6BFaoRh6yJdS3GkOnbqSNCVTih/PdRlxMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB 0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3du MRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJ KoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoX DTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5n IChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENB MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ox7svc31 W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2JCoTzyvV84J3 PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wIDAQABo4GUMIGRMBIG A1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC50aGF3dGUuY29t L1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYDVR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAc MRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswN o2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAgk3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSe JVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/ XV9lTzGCAucwggLjAgEBMGkwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0 aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5n IENBAgMNKdwwCQYFKw4DAhoFAKCCAVMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG 9w0BCQUxDxcNMDQxMjEwMTAyNzQ0WjAjBgkqhkiG9w0BCQQxFgQU/81w0ECmA0alw4S8NfY/YGfI c1kweAYJKwYBBAGCNxAEMWswaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1 bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vp bmcgQ0ECAw0p3DB6BgsqhkiG9w0BCRACCzFroGkwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRo YXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVl bWFpbCBJc3N1aW5nIENBAgMNKdwwDQYJKoZIhvcNAQEBBQAEggEAi0te+oa9v9I5QX61D+5gptQ2 Sds8AnNb2KDaXHMBnf0xtl+EzJonryDrtQwram8lfQChNW2nD1BCvZIF8bG4RafQQ3NObu9uA37p 7v+tGVym0iENOjEFKSvkx7MERWtVd7g+tb3fsJFp5Mm0fLQ1lHOyVN4Zrp+LxhRDYqogaI2Vio0F n0WP7vsVYm82/NXZ0SVy8ESK/pibjQBs1zdGvzJ9Jzyqv2omN+/B5CVpdTDOh3ostgZm8u7ADvw7 yrow5brdfUPC1yOUvpssFEAu45QYx1GovKmzedmtxwQtA4joVBmswlOFaf/DVqDLLu5FOTv2YOXC 7QazwUiymDF2jQAAAAAAAA== --Apple-Mail-10--186787108--