Return-Path: Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 42345 invoked from network); 8 Nov 2000 18:51:27 -0000 Received: from nat.saba.com (HELO SABAHQMAIL.saba.com) (208.197.163.94) by locus.apache.org with SMTP; 8 Nov 2000 18:51:27 -0000 Received: by sabahqmail.saba.com with Internet Mail Service (5.5.2650.21) id ; Wed, 8 Nov 2000 10:55:55 -0800 Message-ID: From: Michael Hussey To: "'cocoon-dev@xml.apache.org'" Subject: RE: XSP Debugger for cocoon 1.8 Date: Wed, 8 Nov 2000 10:55:49 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C049B5.85ABA2FE" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C049B5.85ABA2FE Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C049B5.85ABA2FE" ------_=_NextPart_001_01C049B5.85ABA2FE Content-Type: text/plain; charset="iso-8859-1" Here is an older version that anyone can build and use today. Just extract the files into your xsp package directory, rebuild cocoon 1.8, and follow the directions in Debugger.java. The "wdk" prefix is internal to Saba, so you'll probably want to change it to a simpler prefix like "xsp" or nothing at all. A newer version which fixes the other stuff mentioned below is not ready for general consumption. Happy debugging, Michael -----Original Message----- From: Robin Green [mailto:greenrd@hotmail.com] Sent: Wednesday, November 08, 2000 9:21 AM To: cocoon-dev@xml.apache.org Cc: MHussey@Saba.com Subject: RE: XSPClassLoader: Caching problem in Cocoon 1.8 once page is su cces sfully compiled. Michael Hussey wrote: >Yes, I meant the classes are not loaded into memory, even though the class >files are updated. Thanks for pointing out the TODO file. It sounds like >exactly our problem. > >We have had to fix the caching problems and stylesheet chaining problems so >I'm excited to hear that you are planning on getting these addressed on the >main line. > >We've also added considerable debugging support which consists of >generating >xml files with intermediate results of logicsheet translations, XSP output, >and XSL transforms, as well as displaying this XML in the browser. We'd >love to have this functionality rolled into the main line. Let me know if >you would like to see the code for possible inclusion. Hey, great minds think alike!! :-) I'd still like to see your debugging code though to see if it's better than mine. ------_=_NextPart_001_01C049B5.85ABA2FE Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: XSP Debugger for cocoon 1.8

Here is an older version that anyone can build and = use today.  Just extract the files into your xsp package = directory, rebuild cocoon 1.8, and follow the directions in = Debugger.java. 

The "wdk" prefix is internal to Saba, so = you'll probably want to change it to a simpler prefix like = "xsp" or nothing at all.

A newer version which fixes the other stuff mentioned = below is not ready for general consumption.

Happy debugging,
Michael

-----Original Message-----
From: Robin Green [mailto:greenrd@hotmail.com]
Sent: Wednesday, November 08, 2000 9:21 AM
To: cocoon-dev@xml.apache.org
Cc: MHussey@Saba.com
Subject: RE: XSPClassLoader: Caching problem in = Cocoon 1.8 once page is
su cces sfully compiled.


Michael Hussey <MHussey@Saba.com> wrote:
>Yes, I meant the classes are not loaded into = memory, even though the class
>files are updated.  Thanks for pointing out = the TODO file.  It sounds like
>exactly our problem.
>
>We have had to fix the caching problems and = stylesheet chaining problems so
>I'm excited to hear that you are planning on = getting these addressed on the
>main line.
>
>We've also added considerable debugging support = which consists of
>generating
>xml files with intermediate results of = logicsheet translations, XSP output,
>and XSL transforms, as well as displaying this = XML in the browser.  We'd
>love to have this functionality rolled into the = main line.  Let me know if
>you would like to see the code for possible = inclusion.

Hey, great minds think alike!! :-)

I'd still like to see your debugging code though to = see if it's better than
mine.

  ------_=_NextPart_001_01C049B5.85ABA2FE-- ------_=_NextPart_000_01C049B5.85ABA2FE Content-Type: application/octet-stream; name="xspDebug.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xspDebug.zip" UEsDBBQAAAAIAIxraCk+5WwcpgIAAHEHAABKAAAAQXBhY2hlIEdyb3VwL2NvY29vbjE4L3NyYy9v cmcvYXBhY2hlL2NvY29vbi9wcm9jZXNzb3IveHNwL1hTUERlYnVnZ2VyLmphdmGdVE1v2zAMvQfI fyB8SpPCPuyYNNiAtliBAiuaHnoYMCg2k2iRRU+S84Gh/32UvxI7XotNF1sU+US+RzEaj4cDGINB lxttwZkcQa6AcpflDhyB2yAsDe0tGiDemL20WMQoWltIKM5T1IWrgJVUCEInDd5KqNI7Gg4yEW/F GoHMOhS82WAYU0ykw8xQjNaSCQ82mw4Hw4FMMzIOfoqdCCWF42nbpNFd2HIn1bnRX7P/FIcJpV3z IVWhFYfwQXORC8pNjP0Oiy+vd4cYMydJd/M6hEzJTl1mcjrYOJcVpy3wdu2d1NqH1pHB911YhTWa 930yYexHPs4IbVdk0g/BGrHedVsZkeKezPYjAlrih0rodc5dUkVFVX8+n/fTWYNK2+nR6/9t0rDu 0nypZAyxEtbC6+LpFpe5Zxjw4FAnFhrDb58gR/GqgqwTjj8rqYWChTNSr2HLGDdBSgmqYNrxXxIp FBoSD/lIaxnbDaIbVaGaGbTMFV7DbV1BXcqVvx6qxXyMCoyXjbSjJuyq5cQrimgrjp6Fwrt1Bu2d h6wo/abVcXSBVaySwWJqTNunb4BeqZ6Yqjivgs8Ublg+aUODv3K0DpN7L88Egh8BTJpSppc4rGwh xYNe0aim5bqGveqJqLIt5O6me9pWmf/Fufx76wi5I5mUnN577Vny0b8o5nukn+D+InsYO6/3rZNk +Yj8GsNDyu9thxbQGDLA9Fo/k5dH8HaZeGkEbI4ZGiX1tn5dthiSYQPT/Hzm2SLSk5on58J28qv4 rA1Ri7+qJzYuVY986wuVQ3nU6ZUWRdUZX1g6cyMZzMhKnpnHqon8h6exz5GtbKiRpn04/mpGCWZP c5gJ+Pp8d3/zPQgmzRWT4Hswh5YBZpGYz6KneXAGWT+LEnLayMFd9gdQSwMEFAAAAAgA/EFYKWUj BthEAgAAwgYAAE0AAABBcGFjaGUgR3JvdXAvY29jb29uMTgvc3JjL29yZy9hcGFjaGUvY29jb29u L3Byb2Nlc3Nvci94c3AvRGVidWdnZXJDb25maWcuamF2YY1UTW/bMAy9B8h/IHqyh8C9z8gp7TZg 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 LMfYLdgg+uWH01Py0V3/miE7OiZBhZDj6PT0XdQnG/lkolSrXs1wNRFSsc7qN5JQnazIYPKUsI1p aaw36Z5PC2OC8RVOr8746JjhyD9lStEliO7Irn/i0AM1kPs/RBvEDHopvCYUTyFLaSZT6UecztDt ztd+EjIXd+40lHZnofB4WQ0reFdlRj+xf/n/MciEt2MOwkLUavWP0EJogNwdd3AxFlTpKxgOnmbZ IAT2ZnSscgNO3o3IT0fkbzU9FLky8gY/nRB+RM6qpfNDNMfNh2neWsMGe/5f29XkBtTPG8ihI/3c srChQUM6sgs0iOKo352hMEPX9Gjg0IbJzzvVn7LdT3PzHPjS5ZpZGJmrOlAiikCW+XSQkACIGrwv KGib0oIkIwTJjwVbQhemuf8+6DqCJAgLA78jns6u7z6Z/j+MwiI5bm+9HH/5Ovvw9TsovkzGcztb wOz90uZPs3u7+eylndOr6/u7yWF7bycXs+vLQ/l+/nzlCNpbB/W28ZSMRm3a8fTrzfQIEywi4ymG NyI306jqcd/s/Qr89x9QSwECFAAUAAAACACMa2gpPuVsHKYCAABxBwAASgAAAAAAAAABACAAtoEA AAAAQXBhY2hlIEdyb3VwL2NvY29vbjE4L3NyYy9vcmcvYXBhY2hlL2NvY29vbi9wcm9jZXNzb3Iv eHNwL1hTUERlYnVnZ2VyLmphdmFQSwECFAAUAAAACAD8QVgpZSMG2EQCAADCBgAATQAAAAAAAAAB ACAAtoEOAwAAQXBhY2hlIEdyb3VwL2NvY29vbjE4L3NyYy9vcmcvYXBhY2hlL2NvY29vbi9wcm9j ZXNzb3IveHNwL0RlYnVnZ2VyQ29uZmlnLmphdmFQSwECFAAUAAAACABCTFgp/FlRtp0aAABVXwAA UAAAAAAAAAABACAAtoG9BQAAQXBhY2hlIEdyb3VwL2NvY29vbjE4L3NyYy9vcmcvYXBhY2hlL2Nv Y29vbi9wcm9jZXNzb3IveHNwL0RlYnVnWFNQUHJvY2Vzc29yLmphdmFQSwECFAAUAAAACAAxbGgp oPhFajALAAApJQAARwAAAAAAAAABACAAtoHIIAAAQXBhY2hlIEdyb3VwL2NvY29vbjE4L3NyYy9v cmcvYXBhY2hlL2NvY29vbi9wcm9jZXNzb3IveHNwL0RlYnVnZ2VyLmphdmFQSwUGAAAAAAQABADm AQAAXSwAAAAA ------_=_NextPart_000_01C049B5.85ABA2FE--