From tismer@appliedbiometrics.com Wed Sep 1 19:01:55 1999 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Wed, 01 Sep 1999 20:01:55 +0200 Subject: [XML-SIG] CVS tree reorganized References: <199908160104.VAA03692@207-172-146-60.s60.tnt3.ann.va.dialup.rcn.com> Message-ID: <37CD6A13.EE1DBF04@appliedbiometrics.com> Howdy, I've updated my cvs tree and tried the setup script. Besides some other problems which were mentioned already, I'm wondering where xmlproc.utils has gone. The xmlproc demo files use something like from xml.parsers.xmlproc import xmlproc,dtdparser,utils and from utils, they use an ErrorPrinter object which doesn't exist in that form anywhere. In sax.saxutils is an ErrorPrinter, but it doesn't work with xmlproc. xmlproc.xmlutils also doesn't have such an object. Is this module missing, or has it been replaced? I'd like to fix this, but I don't know how. Also I think the demo directory should be included in the distribution, since there are valuable starters between them which one can use and modify to cook something together quickly. On the install script: For what reason is a "build" directory created in the cvs tree, copied to the destination and afterwards not removed? For Windows users, the script makes not so much sense, I think. It installs into a non existent directory, forgets the binaries and so on. For a problem free installation, I'd suggest to do it like PythonWin and others and use the WISE installer. I would also suggest to optional include the available HTML documentation. If that makes sense, drop me a note and I'll make a WISE installer. ciao - chris -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net 10553 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF we're tired of banana software - shipped green, ripens at home From uche.ogbuji@fourthought.com Wed Sep 1 17:45:48 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 12:45:48 -0400 Subject: [XML-SIG] ANN: 4DOM 0.8.0 Message-ID: <199909011645.MAA02422@malatesta.local> FourThought LLC (http://FourThought.com) announces the release of 4DOM 0.8.0 ----------------------- An implementation of the W3C's Document Object Model in Python 4DOM is a close implementation of the DOM recommendation, including DOM Core level 1, DOM HTML level 1, Node Iterator and Node Filter from DOM Level 2, and a few utility and helper components. 4DOM can work in a CORBA* enviroment, or in a purely local set-up. 4DOM is designed to allow developers rapidly design applications that read, write or manipulate HTML and XML. News ---- There have been many changes to 4DOM since the last major release, 0.7.0. There were two more releases, which were only bundled with 4XSL. For a complete listing, please see ftp://FourThought.com/pub/4Suite/4DOM/ChangeLog But some highlights: * Support for non-CORBA usage * Improved performance * DOM Level 2 NodeFilters and NodeIterators * Pythonic interface for NodeLists and NamedNodeMaps * XML Namespace support (proprietary until W3C decides chooses between the proposed Level 2 interfaces) * Several interface changes in Ext * Re-organized module structure * Explicit garbage-collection method * Better-tested Fnorb and Ilu support * Many bug-fixes More info and Obtaining 4DOM ---------------------------- Please see http://FourThought.com/4Suite/4DOM Or you can download 4DOM from ftp://FourThought.com/pub/4Suite/4DOM 4DOM is distributed under a license similar to that of Python. *For CORBA users, 4DOM directly supports ILU and Fnorb. -- Uche Ogbuji uche.ogbuji@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Wed Sep 1 18:41:20 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 13:41:20 -0400 Subject: [XML-SIG] ANN: 4XPath 0.7.0 Message-ID: <199909011741.NAA02677@malatesta.local> FourThought LLC (http://FourThought.com) announces the release of 4XPath 0.7.0 ----------------------- A python implementation of the W3C's XPath language 4XPath implements the W3C XPath language for indicating and selecting XML document components. http://www.w3.org/TR/xpath 4XPath implements the full 4XPath specification. News ---- This is the first public release. More info and Obtaining 4XPath ----------------------------- Please see http://FourThought.com/4Suite/4XPath Or you can download 4XPath from ftp://FourThought.com/pub/4Suite/4XPath 4XPath is distributed under a license similar to that of Python. -- Uche Ogbuji uche.ogbuji@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Wed Sep 1 18:42:55 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 13:42:55 -0400 Subject: [XML-SIG] ANN: 4XSLT 0.7.0 Message-ID: <199909011742.NAA02691@malatesta.local> FourThought LLC (http://FourThought.com) announces the release of 4XSLT 0.7.0 ----------------------- A python implementation of the W3C's XSLT language 4XSLT is an XML transformation processor based on the W3C's specification for the XSLT transform language. http://www.w3.org/TR/xslt Currently, 4XSLT supports a sub-set of the August 13th working draft of XSLT including the following: Full expression support and attribute-value template expansion xsl:include xsl:template xsl:apply-templates xsl:element xsl:attribute xsl:text xsl:value-of and literal elements and text 4XSLT produces its result tree by throwing standard SAX events to a document handler, so it can be easily modified to supply results to any SAX consumer. News ---- This is the first broad release. More info and Obtaining 4XSLT ----------------------------- Please see http://FourThought.com/4Suite/4XSLT Or you can download 4XSLT from ftp://FourThought.com/pub/4Suite/4XSLT 4XSLT is distributed under a license similar to that of Python. -- Uche Ogbuji uche.ogbuji@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Wed Sep 1 22:18:11 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 17:18:11 -0400 Subject: [XML-SIG] Oops (re: 4XSLT and 4XPath) Message-ID: <199909012118.RAA03100@malatesta.local> Due to a bonehead error in our packaging scripts, the version of 4XPath and 4XSLT we placed on ftp.fourthought.com prior to our announcements were a day old, and thus didn't include a few bug-fixes. We noticed that there have been some downloads of the software. If you downloaded either copy, please delete the copies you got and download the updated files that are on the server now. Details of the updated files: 23324 Sep 1 17:12 4XPath-0.7.0.tar.gz 35584 Sep 1 17:12 4XPath-0_7_0.zip 17232 Sep 1 17:00 4XSLT-0.7.0.tar.gz 30262 Sep 1 17:00 4XSLT-0_7_0.zip This problem did _not_ affect 4DOM or 4Suite-base: if you just downloaded just those packages, you're fine. We're really sorry for the wasted time and expense of anyone who downloaded the broken packages. We've fixed the packaging scripts and this should not happen again. And thanks for all the early interest. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Wed Sep 1 22:20:44 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 17:20:44 -0400 Subject: [XML-SIG] ANN: 4XSLT 0.7.0 Message-ID: <199909012120.RAA03119@malatesta.local> FourThought LLC (http://FourThought.com) announces the release of 4XSLT 0.7.0 ----------------------- A python implementation of the W3C's XSLT language 4XSLT is an XML transformation processor based on the W3C's specification for the XSLT transform language. http://www.w3.org/TR/xslt Currently, 4XSLT supports a sub-set of the August 13th working draft of XSLT including the following: Full expression support and attribute-value template expansion xsl:include xsl:template xsl:apply-templates xsl:element xsl:attribute xsl:text xsl:value-of and literal elements and text 4XSLT produces its result tree by throwing standard SAX events to a document handler, so it can be easily modified to supply results to any SAX consumer. News ---- This is the first broad release. More info and Obtaining 4XSLT ----------------------------- Please see http://FourThought.com/4Suite/4XSLT Or you can download 4XSLT from ftp://FourThought.com/pub/4Suite/4XSLT 4XSLT is distributed under a license similar to that of Python. -- Uche Ogbuji uche.ogbuji@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Wed Sep 1 22:43:37 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 01 Sep 1999 17:43:37 -0400 Subject: [XML-SIG] ANN: 4XSLT 0.7.0 In-Reply-To: Your message of "Wed, 01 Sep 1999 17:20:44 EDT." <199909012120.RAA03119@malatesta.local> Message-ID: <199909012143.RAA03192@malatesta.local> > Currently, 4XSLT supports a sub-set of the August 13th working draft > of XSLT including the following: I almost forgot that 4XSLT also supports xsl:for-each -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From sean@digitome.com Thu Sep 2 15:00:45 1999 From: sean@digitome.com (Sean Mc Grath) Date: Thu, 02 Sep 1999 15:00:45 +0100 Subject: [XML-SIG] CVS tree reorganized In-Reply-To: <37CD6A13.EE1DBF04@appliedbiometrics.com> References: <199908160104.VAA03692@207-172-146-60.s60.tnt3.ann.va.dialup.rcn.com> Message-ID: <3.0.6.32.19990902150045.009eb520@gpo.iol.ie> [Christian] >For Windows users, the script makes not so much sense, I think. >It installs into a non existent directory, forgets the binaries >and so on. For a problem free installation, I'd suggest to do >it like PythonWin and others and use the WISE installer. >I would also suggest to optional include the available HTML >documentation. > >If that makes sense, drop me a note and I'll make a WISE installer. > A WISE install for windows would be just great and would come at just the right time for my book "XML processing with Python". I have to commit to master files soon for the CD-ROM and would love to have an easy Windows install. I do not have WISE here (we use installshield). If you could make a WISE distribution, I will put it on the CD-ROM for the book. An alternative is that I could create an installshield but I think it would be more consistent with the way Python itself is distributed to use WISE. regards, Developers Day Co-Chair, 9th International World Wide Web Conference 16-19, May, 2000, Amsterdam, The Netherlands http://www9.org From akuchlin@mems-exchange.org Thu Sep 2 15:22:15 1999 From: akuchlin@mems-exchange.org (Andrew M. Kuchling) Date: Thu, 2 Sep 1999 10:22:15 -0400 (EDT) Subject: [XML-SIG] CVS tree reorganized In-Reply-To: <37CD6A13.EE1DBF04@appliedbiometrics.com> References: <199908160104.VAA03692@207-172-146-60.s60.tnt3.ann.va.dialup.rcn.com> <37CD6A13.EE1DBF04@appliedbiometrics.com> Message-ID: <14286.34839.639673.788590@amarok.cnri.reston.va.us> Christian Tismer writes: >I've updated my cvs tree and tried the setup script. >Besides some other problems which were mentioned already, >I'm wondering where xmlproc.utils has gone. The xmlproc >demo files use something like I'm unable to look into this before the weekend, but will definitely figure out what's wrong; your bug report won't drop off the map. Thanks, Christian! >For Windows users, the script makes not so much sense, I think. >It installs into a non existent directory, forgets the binaries >and so on. For a problem free installation, I'd suggest to do I made no claim that the script worked for Windows at all, but would ask that someone fix it to work on Windows (and Mac, while we're at it). A WISE installer would be even better, of course. Should I remove Windows support from setup.py if we have an installer? -- A.M. Kuchling http://starship.python.net/crew/amk/ Jenkins! Chap with the wings there -- five rounds rapid. -- The Brigadier, in "The Daemons" From tismer@appliedbiometrics.com Thu Sep 2 15:52:55 1999 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Thu, 02 Sep 1999 16:52:55 +0200 Subject: [XML-SIG] CVS tree reorganized References: <199908160104.VAA03692@207-172-146-60.s60.tnt3.ann.va.dialup.rcn.com> <37CD6A13.EE1DBF04@appliedbiometrics.com> <14286.34839.639673.788590@amarok.cnri.reston.va.us> Message-ID: <37CE8F47.F1E360B2@appliedbiometrics.com> "Andrew M. Kuchling" wrote: > > Christian Tismer writes: > >I've updated my cvs tree and tried the setup script. > >Besides some other problems which were mentioned already, > >I'm wondering where xmlproc.utils has gone. The xmlproc > >demo files use something like > > I'm unable to look into this before the weekend, but will definitely > figure out what's wrong; your bug report won't drop off the map. > Thanks, Christian! Thanks, too! I've just so long not looked into this that I now feel like a new user :-) The reason was that I never got new updates, since the CVS has changed, but the old one on Python.org ist still there. :-)) > >For Windows users, the script makes not so much sense, I think. > >It installs into a non existent directory, forgets the binaries > >and so on. For a problem free installation, I'd suggest to do > > I made no claim that the script worked for Windows at all, but would > ask that someone fix it to work on Windows (and Mac, while we're at > it). A WISE installer would be even better, of course. Should I > remove Windows support from setup.py if we have an installer? This was not meant as criticism, I just wondered about the comments in the script, and the fact that windows was treated like others. Of course, installing the binaries, finding the install directory and so on is quite a lot of work and would mess the script completely up. If you don't mind, I'll make the WISE thing. In some future, I want to turn to Gordon's installer, but if I'm asked for a quick solution, then it is still WISE. What about the options: Should it be with optional components, buttons which say "with HTML, with Demo" and so on? As with standard Python, I think to use the DLLs and DOC directories. The doc can automagically be added to PythonWin help. My suggestion for a directory is just
/xml, and if Demo is included, I'd make it a subdir there? ciao - chris -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net 10553 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF we're tired of banana software - shipped green, ripens at home From bgdarnel@unity.ncsu.edu Wed Sep 8 23:37:26 1999 From: bgdarnel@unity.ncsu.edu (Ben Darnell) Date: Wed, 8 Sep 1999 18:37:26 -0400 Subject: [XML-SIG] Embedding HTML in XML? Message-ID: <19990908183726.A25916@bgdarnel.dhis.org> I am writing a Python application that uses XML for data storage. I would like to allow HTML (or a subset thereof) to be used in notes, e.g.: Parrot bold, etc. I currently use SAX for processing XML. Is there a way to tell the parser to ignore everything until it reaches the end tag, or do I have to rebuild the original text in my {start,end}Element handlers? Thanks, -Ben -- Ben Darnell bgdarnel@unity.ncsu.edu http://www4.ncsu.edu/~bgdarnel/thoughtstream/ From uche.ogbuji@fourthought.com Thu Sep 9 16:05:49 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Thu, 09 Sep 1999 11:05:49 -0400 Subject: [XML-SIG] Embedding HTML in XML? In-Reply-To: Your message of "Wed, 08 Sep 1999 18:37:26 EDT." <19990908183726.A25916@bgdarnel.dhis.org> Message-ID: <199909091505.LAA14779@malatesta.local> > I am writing a Python application that uses XML for data storage. I > would like to allow HTML (or a subset thereof) to be used in notes, > e.g.: > > Parrot > > bold, etc. > > > > I currently use SAX for processing XML. Is there a way to tell the > parser to ignore everything until it reaches the end tag, or do > I have to rebuild the original text in my {start,end}Element handlers? Have you considered using CDATA sections? Parrot bold, etc.]]> This way, your HTML will be preserved perfectly as a text node. All XML 1.0 processors should handle this for you. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Fri Sep 10 17:30:30 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Fri, 10 Sep 1999 12:30:30 -0400 Subject: [XML-SIG] xbel_parse bug Message-ID: <199909101630.MAA22303@malatesta.local> xbel_parse.py does not properly convert "&"s in URLs to the & character entity. I haven't checked its handling of < or " yet. The really ugly thing about this is that if you try to use pyexpat to parse the resulting file, it dumps core. xmlproc, of course recovers more gracefully (it throws a parse exception). -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Fri Sep 10 18:15:31 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Fri, 10 Sep 1999 13:15:31 -0400 Subject: [XML-SIG] XBEL: Netscape Communicator Default Folders Message-ID: <199909101715.NAA22419@malatesta.local> This is a multipart MIME message. --==_Exmh_21386782080 Content-Type: text/plain; charset=us-ascii In case anyone is interested, attached is the default set of bookmarks installed with Netscape Communicator 4.61 in xbel format. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org --==_Exmh_21386782080 Content-Type: text/plain; name="communicator.xml"; charset=us-ascii Content-Description: communicator.xml Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="communicator.xml" No description Personal Toolbar Folder WebMail Contact People Yellow Pages Download Find Sites Channels Autos Business Computing and Internet Education Entertainment Games Health Kids and Family Lifestyles Local Netscape News Personal Finance Real Estate Shopping Small Business Sports Travel Netscape Netcenter Search Excite GoTo.com Infoseek LookSmart Lycos Netscape Search Snap! TechSearch Web Directory Business and Finance CBS.MarketWatch Datek Online dbusiness.com DiTech Gartner Group Interactive NextCard Internet Visa Personal Finance Channel Real Estate-HomeSmart.com Small Business Channel Computers and Internet @vantage Community Forums Computing Channel eBay Computers Domain Name Registration Netscape Channel ONSALE Computer Auctions RealNetworks Toshiba Directories BellSouth-Real WhitePages Find Web Sites GTE SuperPages Member Directory Netscape Yellow Pages People Finder Thomas Register YellowPages AtHand Entertainment and Lifestyles Celebrities Channel ET Online Rolling Stone Network Kids and Family Movies Channel theglobe.com community TV Channel TV Directory Women.com News and Sports ABCNEWS.com Business Journal CBS SportsLine eBay Sports Entertainment News In-Box Direct News Channel Sports Channel Today's Tech News Shopping and Classifieds Amazon.com Autos Directory DealDeal.com Auctions FreeRide FTD Flowers Music Boulevard Rent.Net Shopping Directory Software Depot Travel and Leisure Hobbies Directory Leisure Planet Local Channel Outdoors Directory Regional Directory Renaissance Cruises Travelocity Travel Directory World Directory What's New and Cool Advertise with Netscape Become a Directory Editor Internet Keywords My Netscape Web Calendar WebMail What's Cool What's New What's Related Personal Bookmarks --==_Exmh_21386782080-- From uche.ogbuji@fourthought.com Fri Sep 10 18:21:27 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Fri, 10 Sep 1999 13:21:27 -0400 Subject: [XML-SIG] Bookmark merging script Message-ID: <199909101721.NAA22443@malatesta.local> This is a multipart MIME message. --==_Exmh_-21429583430 Content-Type: text/plain; charset=us-ascii Again, if anyone is interested, here is a script to merge two XBEL bookmark files somewhat intelligently. It merges folders with the same name recursively, etc. I'm still working on adding a little more intelligence, so if anyone is interested, please e-mail me. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org --==_Exmh_-21429583430 Content-Type: text/plain ; name="merge_bookmarks.py"; charset=us-ascii Content-Description: merge_bookmarks.py Content-Disposition: attachment; filename="merge_bookmarks.py" #!/usr/bin/env python from Ft.Dom import Dom from Ft.Dom import Node from Ft.Dom import NodeIterator from Ft.Dom import Ext from Ft.Dom.Ext import Builder def MergeFolders(folderNode1, folderNode2): folder1_folders = filter(lambda x: x.getNodeName() == 'folder', folder1.getChildNodes()) for elem in folderNode2.getChildNodes(): if elem.getNodeName() == 'title': continue elif elem.getNodeName() == 'folder': title = string.strip(elem.getElementsByTagName('title')[0].getFirstChild().getNodeValue()) for a_folder in folder1_folders: if title == string.strip(a_folder.getElementsByTagName('title')[0].getFirstChild().getNodeValue()): MergeFolders(a_folder, elem) else: folderNode1.appendChild(elem) def XbelMerge(xbel1, xbel2): xbel1_top_level = filter(lambda x: x.getNodeType() == Node.ELEMENT_NODE, xbel1.getDocumentElement().getChildNodes()) xbel1_top_level_folders = filter(lambda x: x.getNodeName() == 'folder', xbel1_top_level) xbel1_top_level_bookmarks = filter(lambda x: x.getNodeName() == 'bookmark', xbel1_top_level) xbel2_top_level = filter(lambda x: x.getNodeType() == Node.ELEMENT_NODE, xbel2.getDocumentElement().getChildNodes()) for elem in xbel2_top_level: if elem.getNodeName() == 'folder': title = string.strip(elem.getElementsByTagName('title')[0].getFirstChild().getNodeValue()) for a_folder in xbel1_top_level_folders: if title == string.strip(a_folder.getElementsByTagName('title')[0].getFirstChild().getNodeValue()): MergeFolders(a_folder, elem) else: a_folder.appendChild(elem) return xbel1 if __name__ == "__main__": import sys xbel1 = Builder.FromXmlUrl(sys.argv[1], validate=1) xbel2 = Builder.FromXmlUrl(sys.argv[2], validate=1) new_xbel = XbelMerge(xbel1, xbel2) Ext.PrettyPrint(new_xbel, indent=' ') Ext.ReleaseNode(new_xbel) Ext.ReleaseNode(xbel1) Ext.ReleaseNode(xbel2) --==_Exmh_-21429583430-- From uche.ogbuji@fourthought.com Fri Sep 10 19:57:51 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Fri, 10 Sep 1999 14:57:51 -0400 Subject: [XML-SIG] Small Update, re: Bookmark merging script Message-ID: <199909101857.OAA23224@malatesta.local> This is a multipart MIME message. --==_Exmh_-18396449480 Content-Type: text/plain; charset=us-ascii This version should work better. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org --==_Exmh_-18396449480 Content-Type: text/plain ; name="merge_bookmarks.py"; charset=us-ascii Content-Description: merge_bookmarks.py Content-Disposition: attachment; filename="merge_bookmarks.py" #!/usr/bin/env python import string from Ft.Dom import Dom from Ft.Dom import Node from Ft.Dom import NodeIterator from Ft.Dom import Ext from Ft.Dom.Ext import Builder def MergeFolders(folderNode1, folderNode2): folder1_folders = filter(lambda x: x.getNodeName() == 'folder', folder1.getChildNodes()) for elem in folderNode2.getChildNodes(): if elem.getNodeName() == 'title': continue elif elem.getNodeName() == 'folder': title = string.strip(elem.getElementsByTagName('title')[0].getFirstChild().getNodeValue()) for a_folder in folder1_folders: if title == string.strip(a_folder.getElementsByTagName('title')[0].getFirstChild().getNodeValue()): MergeFolders(a_folder, elem) else: folderNode1.appendChild(elem) def XbelMerge(xbel1, xbel2): xbel1_top_level = filter(lambda x: x.getNodeType() == Node.ELEMENT_NODE, xbel1.getDocumentElement().getChildNodes()) xbel1_top_level_folders = filter(lambda x: x.getNodeName() == 'folder', xbel1_top_level) xbel1_top_level_bookmarks = filter(lambda x: x.getNodeName() == 'bookmark', xbel1_top_level) xbel2_top_level = filter(lambda x: x.getNodeType() == Node.ELEMENT_NODE, xbel2.getDocumentElement().getChildNodes()) for elem in xbel2_top_level: if elem.getNodeName() == 'folder': title = string.strip(elem.getElementsByTagName('title')[0].getFirstChild().getNodeValue()) for a_folder in xbel1_top_level_folders: if title == string.strip(a_folder.getElementsByTagName('title')[0].getFirstChild().getNodeValue()): MergeFolders(a_folder, elem) else: a_folder.appendChild(elem) return xbel1 if __name__ == "__main__": import sys xbel1 = Builder.FromXmlUrl(sys.argv[1], validate=1) xbel2 = Builder.FromXmlUrl(sys.argv[2], validate=1) new_xbel = XbelMerge(xbel1, xbel2) Ext.PrettyPrint(new_xbel, indent=' ') Ext.ReleaseNode(new_xbel) Ext.ReleaseNode(xbel1) Ext.ReleaseNode(xbel2) --==_Exmh_-18396449480-- From mnot@mnot.net Sat Sep 11 04:13:13 1999 From: mnot@mnot.net (Mark Nottingham) Date: Sat, 11 Sep 1999 13:13:13 +1000 Subject: [XML-SIG] XBEL features Message-ID: <032301befc03$95692530$0301a8c0@mnot.net> While we're on the subject of XBEL, I really like it; however, it would be great if it supported the 'description' field in Netscape. Why? I've written a quick-n-dirty Netscape bookmark parser that formats bookmarks and folders of them into HTML. It uses the description field to both enable displaying a description, and to give the parser hints as to whether the folder / item should be displayed. The upshot is that you can have a cron job on your machine that regularly reads your bookmarks and parses them into Web pages, while not showing those that you set the description field to 'no'. Very handy. You can see this at http://www.mnot.net/bookmarks/ and the script is at http://www.mnot.net/python/ It would be great to do this with XBEL to make it cross-browser, but I really need that description field support. Possible? (I don't know if there is a description analogue, or safe way to store it, in the other bookmark formats out there). Cheers, -- Mark Nottingham, Melbourne Australia http://www.mnot.net/ From uche@ieee.org Sat Sep 11 23:45:46 1999 From: uche@ieee.org (uche@ieee.org) Date: Sat, 11 Sep 1999 18:45:46 -0400 Subject: [XML-SIG] XBEL features In-Reply-To: Your message of "Sat, 11 Sep 1999 13:13:13 +1000." <032301befc03$95692530$0301a8c0@mnot.net> Message-ID: <199909112245.SAA01112@malatesta.local> > While we're on the subject of XBEL, I really like it; however, it would be > great if it supported the 'description' field in Netscape. > > Why? I've written a quick-n-dirty Netscape bookmark parser that formats > bookmarks and folders of them into HTML. It uses the description field to > both enable displaying a description, and to give the parser hints as to > whether the folder / item should be displayed. [snip] > It would be great to do this with XBEL to make it cross-browser, but I > really need that description field support. Possible? (I don't know if there > is a description analogue, or safe way to store it, in the other bookmark > formats out there). IIRC, it was the lack of portability that did in the description field for XBEL. But I don't see why this should bother you. Using DOM (any DOM), It would be quite trivial complement ns_parse and xbel_parse with post-processing scripts that add in and strip description fields. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From dieter@handshake.de Sat Sep 11 08:37:08 1999 From: dieter@handshake.de (Dieter Maurer) Date: Sat, 11 Sep 1999 09:37:08 +0200 (CEST) Subject: [XML-SIG] xbel_parse bug In-Reply-To: <199909101630.MAA22303@malatesta.local> References: <199909101630.MAA22303@malatesta.local> Message-ID: <14298.1235.46455.997167@lindm.dm> Hello Uche > xbel_parse.py does not properly convert "&"s in URLs to the & character > entity. I haven't checked its handling of < or " yet. It is a bug in "html_builder.HtmlBuilder" combined with a bug in "XmlWriter". "html_builder.HtmlBuilder" contains: # Names of entities that will be converted to their character # representation. Entities not listed here will be left as # entity references. self.expand_entities = ('lt', 'gt', 'apos', 'quot') These entities are converted to character codes, all other entities remain entity references. The "XmlWriter" in the 0.5.1 distribution seems not to handle entity references (they are lost). Newer "XmlWriter" versions seem to have improved somewhat. I did not check it for myself, though. I (and someone else, too) reported this bug some months before. Look into the archive to see some discussion for work arounds. - Dieter From ht@cogsci.ed.ac.uk Mon Sep 13 10:41:12 1999 From: ht@cogsci.ed.ac.uk (Henry S. Thompson) Date: 13 Sep 1999 10:41:12 +0100 Subject: [XML-SIG] Announcing public beta release of LT PyXML In-Reply-To: uche.ogbuji@fourthought.com's message of "Fri, 10 Sep 1999 13:15:31 -0400" References: <199909101715.NAA22419@malatesta.local> Message-ID: LT PyXML is a Python module which embeds our fast validating C-language parser and API in Python. It is the basis of the XED editor for XML. Not much documentation or help with installation, but I've built and used it under Solaris, FreeBSD, Linux and WIN32. Slides from a talk about it can be found at http://metalab.unc.edu/bosak/conf/xmldev99/thompson.htm No license constraints, but you need a copy of LT XML 1.1, which DOES require a licensee: free for non-profits/evaluation use. See ftp://ftp.cogsci.ed.ac.uk/pub/ht/PyXML.tar.gz for the sources, http://www.ltg.ed.ac.uk/software/xml/ for LT XML 1.1. Feedback very much encouraged. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ From Fred L. Drake, Jr." References: <032301befc03$95692530$0301a8c0@mnot.net> Message-ID: <14301.3523.639985.831337@weyr.cnri.reston.va.us> Mark Nottingham writes: > While we're on the subject of XBEL, I really like it; however, it would be > great if it supported the 'description' field in Netscape. This is a software issue, not an XBEL issue. (This is the advantage of keeping the DTD and software separate! ;) I had my first look at the XBEL code packaged in the XML package the other day (when Uche reported a bug to the list), and was surprised. You might want to take a look at the final version of Grail; there's a tool called "bkmktool.py" which can be used to perform conversions between XBEL and Netscape HTML. It works to preserve as much information as possible; I don't recall having any problems with the textual descriptions (which I also use, when I remember ;). Grail is at: . > The upshot is that you can have a cron job on your machine that regularly > reads your bookmarks and parses them into Web pages, while not showing those > that you set the description field to 'no'. Very handy. If your bookmarks are only maintained in XBEL, you could use the metadata structures to create an application-specific metadata field; using the description field for this means you can't use it for descriptions. ;-) I'm glad you like XBEL! -Fred -- Fred L. Drake, Jr. Corporation for National Research Initiatives From Mike.Olson@FourThought.com Tue Sep 14 18:05:05 1999 From: Mike.Olson@FourThought.com (Mike Olson) Date: Tue, 14 Sep 1999 12:05:05 -0500 Subject: [XML-SIG] ANN: 4XSLT 0.7.1 Message-ID: <37DE8041.E96161AE@FourThought.com> FourThought LLC (http://FourThought.com) announces the release of 4XSLT 0.7.1 ----------------------- A python implementation of the W3C's XSLT language 4XSLT is an XML transformation processor based on the W3C's specification for the XSLT transform language. http://www.w3.org/TR/xslt Currently, 4XSLT supports a sub-set of the August 13th working draft of XSLT including the following: Full expression support and attribute-value template expansion xsl:include xsl:import xsl:template xsl:apply-imports xsl:apply-templates xsl:if xsl:for-each xsl:choose xsl:element xsl:when xsl:attribute xsl:otherwise xsl:text xsl:message xsl:value-of xsl:variable xsl:processing-instruction xsl:key xsl:preserve-space xsl:copy-of xsl:strip-space and literal elements and text 4XSLT produces its result tree by throwing standard SAX events to a document handler, so it can be easily modified to supply results to any SAX consumer. News ---- Changes in 0.7.1: - Fixed Ext functions in the Xslt Context. - Implemented the document extension function for absolute URIs - Implemented the following instructions: o key o import o apply-imports o if o choose o when o otherwise o message o variable o processing-instruction o copy-of o preserve-space o strip-space - Implemented modes for template rules - Implemented the key() method. Needs to be optimized - Implemented the following Extension functions: o current o generate-id o system-property o extension-function-available More info and Obtaining 4XSLT ----------------------------- Please see http://FourThought.com/4Suite/4XSLT Or you can download 4XSLT from ftp://FourThought.com/pub/4Suite/4XSLT 4XSLT is distributed under a license similar to that of Python. -- Mike Olson Mike.Olson@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From Mike.Olson@FourThought.com Tue Sep 14 18:08:15 1999 From: Mike.Olson@FourThought.com (Mike Olson) Date: Tue, 14 Sep 1999 12:08:15 -0500 Subject: [XML-SIG] ANN: 4XPath 0.7.1 Message-ID: <37DE80FF.F2070419@FourThought.com> FourThought LLC (http://FourThought.com) announces the release of 4XPath 0.7.1 ----------------------- A python implementation of the W3C's XPath language 4XPath implements the W3C XPath language for indicating and selecting XML document components. http://www.w3.org/TR/xpath 4XPath implements the full 4XPath specification except for the lang core function. News ---- Changes in 0.7.1: - Added name mangling to Core function name resolution. Now namespace-uri will call the function NamespaceUri. - Implemented all but the lang Core functions. - Bug fixes More info and Obtaining 4XPath ----------------------------- Please see http://FourThought.com/4Suite/4XPath Or you can download 4XPath from ftp://FourThought.com/pub/4Suite/4XPath 4XPath is distributed under a license similar to that of Python. -- Mike Olson Mike.Olson@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org From Mike.Olson@FourThought.com Tue Sep 14 18:12:36 1999 From: Mike.Olson@FourThought.com (Mike Olson) Date: Tue, 14 Sep 1999 12:12:36 -0500 Subject: [XML-SIG] ANN: 4DOM 0.8.1 Message-ID: <37DE8204.92185CA@FourThought.com> This is a cryptographically signed message in MIME format. --------------ms5A898BB89D3EA2F25E686112 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit FourThought LLC (http://FourThought.com) announces the release of 4DOM 0.8.1 ----------------------- An implementation of the W3C's Document Object Model in Python 4DOM is a close implementation of the DOM recommendation, including DOM Core level 1, DOM HTML level 1, NodeIterator and TreeWalker from DOM Level 2, and several utility and helper components. 4DOM can work in a CORBA* enviroment, or in a purely local set-up. 4DOM is designed to allow developers rapidly design applications that read, write or manipulate HTML and XML. News ---- The DOM Level 2 Core Interfaces have been implemented. Bugs were fixed in Printer, Attr and elsewhere. __repr__ has been added so that orbless users can get more useful results from printing Node instances. More info and Obtaining 4DOM ---------------------------- Please see http://FourThought.com/4Suite/4DOM Or you can download 4DOM from ftp://FourThought.com/pub/4Suite/4DOM 4DOM is distributed under a license similar to that of Python. *For CORBA users, 4DOM directly supports ILU and Fnorb. -- Mike Olson Mike.Olson@fourthought.com Consulting Member, FourThought LLC http://FourThought.com http://OpenTechnology.org --------------ms5A898BB89D3EA2F25E686112 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIIKpgYJKoZIhvcNAQcCoIIKlzCCCpMCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CDIwggT8MIIEZaADAgECAhBgV5Y2xbIHJpkIwhs+UflwMA0GCSqGSIb3DQEBBAUAMIHMMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y azFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1JQQSBJbmNvcnAuIEJ5 IFJlZi4sTElBQi5MVEQoYyk5ODFIMEYGA1UEAxM/VmVyaVNpZ24gQ2xhc3MgMSBDQSBJbmRp dmlkdWFsIFN1YnNjcmliZXItUGVyc29uYSBOb3QgVmFsaWRhdGVkMB4XDTk5MDUwNjAwMDAw MFoXDTAwMDUwNTIzNTk1OVowggEXMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UE CxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNvbS9y ZXBvc2l0b3J5L1JQQSBJbmNvcnAuIGJ5IFJlZi4sTElBQi5MVEQoYyk5ODEeMBwGA1UECxMV UGVyc29uYSBOb3QgVmFsaWRhdGVkMTMwMQYDVQQLEypEaWdpdGFsIElEIENsYXNzIDEgLSBO ZXRzY2FwZSBGdWxsIFNlcnZpY2UxEzARBgNVBAMUCk1pa2UgT2xzb24xKTAnBgkqhkiG9w0B CQEWGm1pa2Uub2xzb25AZm91cnRob3VnaHQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCuk+Frgbi1QG7ni53t3TaFTU5IXKp/aOYYXaR/iPN9Ure9P6fAajZIDUXyR+bCIe8U Sq1kHjMNbb/ziX3/oPPeUy3Cy1sVZ/Cq2FPofSInSaLl0EB+k0aMbEBtmyVxTGByoNaPL3Lj Er/aLaIkNcPIaCzT0okEOA/pu9RU0efBaQIDAQABo4IBjzCCAYswCQYDVR0TBAIwADCBrAYD VR0gBIGkMIGhMIGeBgtghkgBhvhFAQcBATCBjjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cu dmVyaXNpZ24uY29tL0NQUzBiBggrBgEFBQcCAjBWMBUWDlZlcmlTaWduLCBJbmMuMAMCAQEa PVZlcmlTaWduJ3MgQ1BTIGluY29ycC4gYnkgcmVmZXJlbmNlIGxpYWIuIGx0ZC4gKGMpOTcg VmVyaVNpZ24wEQYJYIZIAYb4QgEBBAQDAgeAMIGGBgpghkgBhvhFAQYDBHgWdmQ0NjUyYmQ2 M2YyMDQ3MDI5Mjk4NzYzYzlkMmYyNzUwNjljNzM1OWJlZDFiMDU5ZGE3NWJjNGJjOTcwMTc0 N2RhNWQzZjIxNDFiZWFkYjJiZDJlODkyMTNhZTZhZjlkZjExNDk5OWEzYjg0NWY5ZjNlYTQ1 MGMwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC52ZXJpc2lnbi5jb20vY2xhc3MxLmNy bDANBgkqhkiG9w0BAQQFAAOBgQB8SeBjPc9TSSC1iwIP0gVMzQVGkcPG4I/yoMUFK1CfgW6T dvtP5z9WNcSIfQ8mIjsl/jbwnfYevfK0EiCjU5slnsOjrbIiWwRe7qYBuGqE6gnfkhMRt8l3 ZJe2AqRptWZYY8axL5nQm0iSnVEmYoZAtAnQkkldheTU4n+x9vlUHjCCAy4wggKXoAMCAQIC EQDSdi6NFAw9fbKoJV2v7g11MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05ODA1MTIwMDAwMDBaFw0wODA1MTIyMzU5NTla MIHMMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3Qg TmV0d29yazFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1JQQSBJbmNv cnAuIEJ5IFJlZi4sTElBQi5MVEQoYyk5ODFIMEYGA1UEAxM/VmVyaVNpZ24gQ2xhc3MgMSBD QSBJbmRpdmlkdWFsIFN1YnNjcmliZXItUGVyc29uYSBOb3QgVmFsaWRhdGVkMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQC7WkSKBBa7Vf0DeootlE8VeDa4DUqyb5xUv7zodyqdufBo u5XZMUFweoFLuUgTVi3HCOGEQqvAopKrRFyqQvCCDgLpL/vCO7u+yScKXbawNkIztW5UiE+H Sr8Z2vkV6A+HthzjzMaajn9qJJLj/OBluqexfu/J2zdqyErICQbkmQIDAQABo3wwejARBglg hkgBhvhCAQEEBAMCAQYwRwYDVR0gBEAwPjA8BgtghkgBhvhFAQcBATAtMCsGCCsGAQUFBwIB Fh93d3cudmVyaXNpZ24uY29tL3JlcG9zaXRvcnkvUlBBMA8GA1UdEwQIMAYBAf8CAQAwCwYD VR0PBAQDAgEGMA0GCSqGSIb3DQEBAgUAA4GBAIi4Nzvd2pQ3AK2qn+GBAXEekmptL/bxndPK ZDjcG5gMB4ZbhRVqD7lJhaSV8Rd9Z7R/LSzdmkKewz60jqrlCwbe8lYq+jPHvhnXU0zDvcjj F7WkSUJj7MKmFw9dWBpJPJBcVaNlIAD9GCDlX4KmsaiSxVhqwY0DPOvDzQWikK5uMYICPDCC AjgCAQEwgeEwgcwxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMUYwRAYDVQQLEz13d3cudmVyaXNpZ24uY29tL3JlcG9zaXRvcnkv UlBBIEluY29ycC4gQnkgUmVmLixMSUFCLkxURChjKTk4MUgwRgYDVQQDEz9WZXJpU2lnbiBD bGFzcyAxIENBIEluZGl2aWR1YWwgU3Vic2NyaWJlci1QZXJzb25hIE5vdCBWYWxpZGF0ZWQC EGBXljbFsgcmmQjCGz5R+XAwCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN AQcBMBwGCSqGSIb3DQEJBTEPFw05OTA5MTQxNzEyMzZaMCMGCSqGSIb3DQEJBDEWBBTVMTof MSkRG03ovtHi6LKbzlDfzjBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3 DQMCAgIAgDAHBgUrDgMCBzANBggqhkiG9w0DAgIBQDANBggqhkiG9w0DAgIBKDANBgkqhkiG 9w0BAQEFAASBgDEkdoglwDoI528yXf4QysW2Mu7IfSX/aUgkLkS1blkBei6wfCsgHlEalKKf i6a5nWtMLkZxbKRUKmlv2v3t2pZSaJTF2zm7s3BeLQTT4sflS3cviFdSeQ/a1NSUNo1G3AlW ZRi4rFHmnaxmC53Rre4+UIRuvMVnr6xFTEDgmziA --------------ms5A898BB89D3EA2F25E686112-- From akuchlin@mems-exchange.org Tue Sep 14 21:14:32 1999 From: akuchlin@mems-exchange.org (Andrew M. Kuchling) Date: Tue, 14 Sep 1999 16:14:32 -0400 (EDT) Subject: [XML-SIG] Revisions to XML Topic Guide Message-ID: <199909142014.QAA17938@amarok.cnri.reston.va.us> I'd like some comments about a revised version of the XML Topic Guide. A draft copy is at: http://starship.python.net/crew/amk/xml/ Ignore the broken images and the broken relative links; they'll be correct when the pages are on python.org. The changes are: 1) The general pages on XML, SAX, and DOM have been dropped. Instead, links to the XML and SGML dmoz.org have been added to the sidebar. This leaves one page in the "General XML Information" section, namely the book list; I may move this or remove the "General XML" section in the future. Rationale: I lack time to maintain a general resource guide for XML. dmoz.org does exactly this job, so we can benefit from their work. 2) 4DOM, 4XSLT, 4XPath, and 4XSL have been moved to a page of their own, titled "Other Software: FourThought", because IMHO it makes sense to group them together because of the dependencies between them. I don't think this will be construed as a python.org endorsement of FourThought or an advertisement -- the text is written neutrally -- but this is potentially controversial. 3) LT PyXML has been added to the "Other Software" page. (As always, further suggestions for useful links are appreciated.) What do people think of these changes? -- A.M. Kuchling http://starship.python.net/crew/amk/ Time, place, and action may with pains be wrought, / But Genius must be born; and can never be taught. -- John Congreve From tpassin@idsonline.com Wed Sep 15 05:34:01 1999 From: tpassin@idsonline.com (Thomas B. Passin) Date: Wed, 15 Sep 1999 00:34:01 -0400 Subject: [XML-SIG] xbel_parse bug, and new xbel bug report/fix Message-ID: <000d01beff33$89de1300$0101a8c0@pavilion> Uche, > xbel_parse.py does not properly convert "&"s in URLs to the & character > xbel_parse.py does not properly convert "&"s in URLs to the & character > entity. I haven't checked its handling of < or " yet. In using the xbel package in the 0.5.1 package against Internet Explorer bookmarks, I had the same problem. Actually, the problem I had is not exactly in converting "&" characters. msie_parse.py correctly replaces them with "&" entities. But xbel2html then gives errors trying to process them. Until this is fixed, I am using a text editor on the xbel file to replace all & and & with printable character groups. After running xbel2html I am replacing them back to the correct values. Of course you could do this with an awk or python script easily. There is ANOTHER BUG in the package. msie_parse.py does not nest folders correctly at all - the nesting level keeps increasing from folder to folder. Here is a PATCH to fix the problem: in msie_parse.py, add the single line shown below: #---snip--- class MSIE: # internet explorer def __init__(self,bookmarks, path): self.bms=bookmarks self.root = None self.path = path self.__walk() def __walk(self, subpath=[]): # traverse favourites folder path = os.path.join(self.path, string.join(subpath, os.sep)) for file in os.listdir(path): fullname = os.path.join(path, file) if os.path.isdir(fullname): self.bms.add_folder(file,None) self.__walk(subpath + [file]) # ======= Add the following line: ======= self.bms.leave_folder() # go back up a level when done with the children # ============================== else: url = self.__geturl(fullname) if url: self.bms.add_bookmark(os.path.splitext(file)[0],None, None,None,url) #---snip--- This fixes the problem, and it works fine with empty folders too. I haven't looked to see if the equivalent programs for Netscape, etc. bookmarks have similar problems. Regards, Tom Passin From tismer@appliedbiometrics.com Sat Sep 18 19:11:45 1999 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Sat, 18 Sep 1999 20:11:45 +0200 Subject: [XML-SIG] ANN: XML-Sig Wise Installer for WIndows Message-ID: <37E3D5E1.C680E593@appliedbiometrics.com> Hi all, I have packed together a Wise installer for the current XML SIG CVS snapshot as of today. ----------------------------------------------------- DOWNLOAD of the installer executable: ftp://pns@pns.cc/usr/www/htdocs/pns/anonftp/pub/xml/PythonXML.EXE DOWNLOAD of the Wise source and helper scripts: (these should go into xml/Wise for the CVS) ftp://pns@pns.cc/usr/www/htdocs/pns/anonftp/pub/xml/Wise.zip ----------------------------------------------------- The installer takes the main XML directory and installs it by default under \yourPythonDir\xml . Additionally, it puts the 'demo' and 'doc' files into the installation directory. The available documentation seems to have some broken links, but partially it works fine. The help files are accessible from PythonWin's help menu. As a note for CVS uploads: The xmlproc .gif uploads had additional cr/lf chars which I removed. I thought it was a CVS setup error, but they were in fact binary and wrong before the upload. Please complain to XML-SIG about bugs left in the demo directory. Complaints about the installer should go to me :-) have fun with XML - chris -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net 10553 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF we're tired of banana software - shipped green, ripens at home From tismer@appliedbiometrics.com Sat Sep 18 19:21:08 1999 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Sat, 18 Sep 1999 20:21:08 +0200 Subject: [XML-SIG] ANN: XML-Sig Wise Installer for WIndows Message-ID: <37E3D814.150D4B7B@appliedbiometrics.com> Oops, here the corrected FTP URLs: (sorry about that) please replace my former post with this one :) Hi all, I have packed together a Wise installer for the current XML SIG CVS snapshot as of today. ----------------------------------------------------- DOWNLOAD of the installer executable: ftp://ftp.pns.cc/pub/xml/PythonXML.EXE DOWNLOAD of the Wise source and helper scripts: (these should go into xml/Wise for the CVS) ftp://ftp.pns.cc/pub/xml/Wise.zip ----------------------------------------------------- The installer takes the main XML directory and installs it by default under \yourPythonDir\xml . Additionally, it puts the 'demo' and 'doc' files into the installation directory. The available documentation seems to have some broken links, but partially it works fine. The help files are accessible from PythonWin's help menu. As a note for CVS uploads: The xmlproc .gif uploads had additional cr/lf chars which I removed. I thought it was a CVS setup error, but they were in fact binary and wrong before the upload. Please complain to XML-SIG about bugs left in the demo directory. Complaints about the installer should go to me :-) have fun with XML - chris -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net 10553 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF we're tired of banana software - shipped green, ripens at home From quest@netg.se Sun Sep 19 07:24:28 1999 From: quest@netg.se (Anders Qvist) Date: Sun, 19 Sep 1999 08:24:28 +0200 (CEST) Subject: [XML-SIG] xmllib setliteral misfeature? Message-ID: (I am not on the mailing list, so please reply accordingly.)) Consider if you will, the following program: #!/usr/bin/python from xmllib import XMLParser class Parser (XMLParser): def __init__(self): XMLParser.__init__(self) self.feed("123456789") def unknown_starttag (self, tag, attributes): print "starttag " + tag self.setliteral() def unknown_endtag (self, tag): print "endtag " + tag def handle_data (self, data): print "data " + data test = Parser() According to xmllib doc, setliteral() is supposed to do the following: setliteral () Enter literal mode (CDATA mode). This mode is automatically exited when the close tag matching the last unclosed open tag is encountered. If I feed the XMLParser this "123456789" and call setliteral() in unknown_starttag(), I interpret the above doc as meaning that I should get the following output: starttag jabber data 123 data < data tjipp>456 data 654 data < data /tjipp> data 789 endtag jabber Or something similar. I don't however. Rather I get the following: starttag jabber data 123 data < data tjipp>456 data 654 endtag tjipp <= Why call to unknown_endtag here? data 789 endtag jabber As you can see, the internal tag generates a call to unknown_endtag. This does not seem to be in accordance with the docs. Is this a bug or am I missing something? I'm using the Debian package for python, version 1.5.2-3. Anders "Quest" Qvist NetGuide Scandinavia And we who listen to the sky, or walk the dusty grade, Or break the very atoms down, to see how they are made, Or study cells, or living things, seek truth with open hand; The profoundest act of worship is to try to understand. -- Catherine Faber, "The Word of God" From sjoerd@oratrix.nl Mon Sep 20 11:09:36 1999 From: sjoerd@oratrix.nl (Sjoerd Mullender) Date: Mon, 20 Sep 1999 12:09:36 +0200 Subject: [XML-SIG] xmllib setliteral misfeature? In-Reply-To: Your message of Sun, 19 Sep 1999 08:24:28 +0200. References: Message-ID: <19990920100937.26854301CFA@bireme.oratrix.nl> What can I say? The current version (in the Python CVS repository, probably not in the XML repository) does this correctly. I seem to remember fixing this fairly recently, so that's probably why it doesn't behave right in your version. The output that I get is this: starttag jabber data 123 data < data tjipp>456 data < data /tjipp>789 endtag jabber On Sun, Sep 19 1999 Anders Qvist wrote: > (I am not on the mailing list, so please reply accordingly.)) > > Consider if you will, the following program: > > #!/usr/bin/python > from xmllib import XMLParser > class Parser (XMLParser): > def __init__(self): > XMLParser.__init__(self) > self.feed("123456789") > def unknown_starttag (self, tag, attributes): > print "starttag " + tag > self.setliteral() > def unknown_endtag (self, tag): > print "endtag " + tag > def handle_data (self, data): > print "data " + data > test = Parser() > > According to xmllib doc, setliteral() is supposed to do the following: > > setliteral () > Enter literal mode (CDATA mode). This mode is automatically > exited when the close tag matching the last unclosed open tag > is encountered. > > If I feed the XMLParser this "123456789" > and call setliteral() in unknown_starttag(), I interpret the above doc as > meaning that I should get the following output: > > starttag jabber > data 123 > data < > data tjipp>456 > data 654 > data < > data /tjipp> > data 789 > endtag jabber > > Or something similar. I don't however. Rather I get the following: > > starttag jabber > data 123 > data < > data tjipp>456 > data 654 > endtag tjipp <= Why call to unknown_endtag here? > data 789 > endtag jabber > > As you can see, the internal tag generates a call to unknown_endtag. This > does not seem to be in accordance with the docs. Is this a bug or am I > missing something? I'm using the Debian package for python, version > 1.5.2-3. > > Anders "Quest" Qvist > NetGuide Scandinavia > > And we who listen to the sky, or walk the dusty grade, > Or break the very atoms down, to see how they are made, > Or study cells, or living things, seek truth with open hand; > The profoundest act of worship is to try to understand. > > -- Catherine Faber, "The Word of God" > > > > -- Sjoerd Mullender From Alain.Michard@inria.fr Tue Sep 21 11:20:46 1999 From: Alain.Michard@inria.fr (Alain Michard) Date: Tue, 21 Sep 1999 12:20:46 +0200 Subject: [XML-SIG] XML / Python Developper position in France Message-ID: <3.0.5.32.19990921122046.00953d40@pop-rocq.inria.fr> Thanks to disseminate to interested people : ---------------------------------------------- Software engineer position open at INRIA (http://www.inria.fr) France. Qualification : Software Engineer Content of the work: Development of experimental software for XML document management, within a large European R&D project. Keywords : XML, RDF, XML wrappers, metadata, indexing. Development environment : Python / C++ / Linux. Requested background : proven experience of object-oriented software development, and scientific / technical background in structured document processing, document management, and parsing techniques. Applications from beginners with excellent education in computer-science will be considered. Where: Rocquencourt, 5 kms away from Versailles, 20 kms from Paris, France. When : starting December 1st 1999, or January 2nd 2000 Working languages : French and English Duration: one year. Send application with detailed CV to: Dr Alain Michard Direction du Développement INRIA Domaine de Voluceau BP 105 F-78153 Le Chesnay Cedex e-mail: Alain.Michard@inria.fr From thara@starmedia.net Tue Sep 21 18:37:34 1999 From: thara@starmedia.net (Thara Henschel) Date: Tue, 21 Sep 1999 13:37:34 -0400 Subject: [XML-SIG] inquiring about posting jobs Message-ID: <8010ABD57ACCD211942B0008C7A457B9B701C4@NYEXCH01> Please send me information on posting jobs. Thank you, Thara Thara Henschel Technical Recruiter StarMedia Network , Inc. 212-520-6311 212-548-9650 (fax) ******************************************************************* StarMedia Network, Inc. the #1 Online Community in Latin America. From jblaine@shore.net Thu Sep 23 17:58:45 1999 From: jblaine@shore.net (Jeff Blaine) Date: Thu, 23 Sep 1999 12:58:45 -0400 Subject: [XML-SIG] Confused and grasping Message-ID: <199909231658.MAA28500@shell2.shore.net> About 8 months ago, I started reading up on XML. I got to the point where I felt comfortable with my knowledge of what it is, what it offers, etc. I was excited. Then I began to realize that functioning, documented, and stabilized tools did not really exist for me to feel confident enough to start on a first simply XML project (in Python or any other language or binary release that I could find). There seemed to be a handful of people who lived and breathed XML, and these were the people who knew how to actually get this sea of acronyms to work. It was as if my Christmas presents were wrapped up and set out in the living room 11 months before Christmas. :) So I stepped back and waited. I sure didn't understand enough to help the cause mature faster. I still have this burning desire to do electronic text Right. That's the reason *I* want to use XML. I want to be able to write a readable semi-marked up README.txt conforming to some DTD and generate HTML, Postscript, etc. I want to redo my personal web pages with a common and consistent look and feel. Being a Python-head, I downloaded and poked at the XML-SIG's xml-0.5.1.tgz today, and it all still seems like a programmer's toolkit. Am I wrong? I want to set my expections appropriately and redirect my efforts to areas more suitable to what I am looking for. It seems that xml-0.5.1.tgz is meant for XML gurus who want to develop Python applications with XML functionality built in. Is there anything available for a person with my goal(s)? Should I just continue writing straight HTML? Could someone kick me in the right direction? From akuchlin@mems-exchange.org Thu Sep 23 22:14:39 1999 From: akuchlin@mems-exchange.org (Andrew M. Kuchling) Date: Thu, 23 Sep 1999 17:14:39 -0400 (EDT) Subject: [XML-SIG] Confused and grasping In-Reply-To: <199909231658.MAA28500@shell2.shore.net> References: <199909231658.MAA28500@shell2.shore.net> Message-ID: <14314.38975.299840.687370@amarok.cnri.reston.va.us> Jeff Blaine writes: >Being a Python-head, I downloaded and poked at the XML-SIG's xml-0.5.1.tgz >today, and it all still seems like a programmer's toolkit. Am I >wrong? > >It seems that xml-0.5.1.tgz is meant for XML gurus who want to develop >Python applications with XML functionality built in. Correct, and it's going to stay that way because the range of possible applications for XML is large. I think it was Tim Bray who compared XML to ASCII; it's just a data format. No one advertises "Version 2.0 now supports ASCII!", because ASCII isn't exciting, and XML, in itself, isn't that exciting either. Particular applications of XML may be exciting to you, but other applications may not be. For example, I'm not really interested in producing formatted printed output from XML, but I am interested in storing bits of data in XML, perhaps inventing a DTD along the way. So, the base XML package is always going to be very nuts-and-bolts, aimed at letting people build basic XML parsing functions into their code. The hope is that people will build MathML displayers, or DocBook formatters, or ICML servers, using the basic package. What exactly are you in search of? -- A.M. Kuchling http://starship.python.net/crew/amk/ When a world ends, there's always something left over. A story, perhaps, or a vision, or a hope. This inn is a refuge, after the lights go out. For a while. -- The innkeeper, in SANDMAN #56: "World's End" From jblaine@shore.net Thu Sep 23 22:36:03 1999 From: jblaine@shore.net (Jeff Blaine) Date: Thu, 23 Sep 1999 17:36:03 -0400 Subject: [XML-SIG] Confused and grasping In-Reply-To: Your message of "Thu, 23 Sep 1999 17:14:39 EDT." <14314.38975.299840.687370@amarok.cnri.reston.va.us> Message-ID: <199909232136.RAA27327@shell2.shore.net> In message <14314.38975.299840.687370@amarok.cnri.reston.va.us>you write: >Jeff Blaine writes: >>Being a Python-head, I downloaded and poked at the XML-SIG's xml-0.5.1.tgz >>today, and it all still seems like a programmer's toolkit. Am I >>wrong? >> >>It seems that xml-0.5.1.tgz is meant for XML gurus who want to develop >>Python applications with XML functionality built in. > >Correct, and it's going to stay that way because the range of possible >applications for XML is large. I think it was Tim Bray who compared >XML to ASCII; it's just a data format. No one advertises "Version 2.0 >now supports ASCII!", because ASCII isn't exciting, and XML, in >itself, isn't that exciting either. Particular applications of XML >may be exciting to you, but other applications may not be. For >example, I'm not really interested in producing formatted printed >output from XML, but I am interested in storing bits of data in XML, >perhaps inventing a DTD along the way. > >So, the base XML package is always going to be very nuts-and-bolts, >aimed at letting people build basic XML parsing functions into their >code. The hope is that people will build MathML displayers, or >DocBook formatters, or ICML servers, using the basic package. What >exactly are you in search of? I apologize for this definitely getting out of Python XML-SIG boundaries now. Okay - I just needed that clarification (above) made to me. I couldn't figure out on my own from the tar.gz and the XML-SIG area on the Python web site if I was missing something (being stupid) or not. I'm just trying to sink my teeth into XML. I want to use XML (and I guess XSL) to redo my web site (????). I want to find or write the DTD for describing something like the document found at: http://www.shore.net/~jblaine/code-GCS.html (the part starting with 'PyGCS README' centered). Then with some sort of backend formatter dealie I want to generate HTML, maybe Postscript, etc... Do I just still not understand what XML is? I just am tired of writing un-marked or pseudo-marked text only to realize I can't do anything with it other than copy it somewhere and mark it up by hand into a different format. I'm seeking a single document format I guess.... From tpassin@idsonline.com Sat Sep 25 18:33:28 1999 From: tpassin@idsonline.com (Thomas B. Passin) Date: Sat, 25 Sep 1999 13:33:28 -0400 Subject: [XML-SIG] Re: Confused and grasping Message-ID: <002d01bf077c$20174bc0$0101a8c0@pavilion> Jeff Blaine wrote: ---snip--- > I still have this burning desire to do electronic text Right. That's > the reason *I* want to use XML. I want to be able to write a readable > semi-marked up README.txt conforming to some DTD and generate HTML, > Postscript, etc. I want to redo my personal web pages with a common and > consistent look and feel. ---snip--- Jeff, what you want to do is get XT from James Clark's web site: http://www.jclark.com/xml/xt.html get the XSLT standard from the W3C web site: http://www.w3.org and start fooling with XSLT. XSLT is one way to generate all those document types from a master document. It has nothing to do with extracting data and creating the original document, but given an XML document, you will be in business. Soon there will probably be XSL Postscript formatters, and you will need XSLT to use them. There is very little written about using XSLT, and most of what there is, is out of date and virually worthless. The is because there have been MAJOR changes to the standards since December 1998, but most published work refers to the April or August 1998 versions. Nothing earlier than the Spring 1999 version will do. You should plan on doing a lot of experimenting (XSLT is hard), but it may be worth it. I generate a number of different web pages for my own site from XML, awk, and XT. You don't need DTDs to learn XSLT. Another thing you might want is to convert an HTML page to an XML one. There is a very nice tool called Tidy, linked to on the W3C site, that can do this job. And Tidy has been incorporated into a Windows GUI-style editor called WinTidy, put out by Chami (sorry, I don't have the URL here) (free). Excellent tools! Tidy/WInTidy also can fix up many common errors in HTML. Now, what about Python in all this? Once you are up to speed with the tools above, you may well want to start creating your master xml documents with the help of Python programs, and even to use Python to do some format conversions. It would be easier than writing for Java, C, or (perhaps) perl. Tom Passin From uche.ogbuji@fourthought.com Sat Sep 25 19:11:59 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Sat, 25 Sep 1999 14:11:59 -0400 Subject: [XML-SIG] Re: Confused and grasping In-Reply-To: Your message of "Sat, 25 Sep 1999 13:33:28 EDT." <002d01bf077c$20174bc0$0101a8c0@pavilion> Message-ID: <199909251812.OAA03040@malatesta.local> > Jeff, what you want to do is get XT from James Clark's web site: > > http://www.jclark.com/xml/xt.html Since this is the Python/XML list, I won't miss the chance to plug 4XSLT, http://opentechnology.org/4Suite/4XSLT It is mostly written in Python. It doesn't cover as much of XSLT as XT does, but it covers more than enough to get started (and full coverage is coming RSN). It also has a Python API, naturally. > get the XSLT standard from the W3C web site: > > http://www.w3.org > > and start fooling with XSLT. XSLT is one way to generate all those document types from a master document. It has nothing to do with extracting data and creating the original document, but given an XML document, you will be in business. Soon there will probably be XSL Postscript formatters, and you will need XSLT to use them. Ouch! This is a hard path along which to send a newbie. See below. > There is very little written about using XSLT, and most of what there is, is out of date and virually worthless. The is because there have been MAJOR changes to the standards since December 1998, but most published work refers to the April or August 1998 versions. Nothing earlier than the Spring 1999 version will do. There is one good resource, if you are willing to spend $40. Crane Softwrights sell XSLT training material in PDF that matches the August-99 XSLT WD. I'm not associated with them, but I've seen the material and it's quite good. http://www.CraneSoftwrights.com/training I should have an article out in LinuxWorld any day now (the editors are a bit back-logged) that has a short, but intensive intro to XSLT. I'll let the list know when it comes out. Also, http://www.xmlsoftware.com/articles/xsl-by-example.html Is indeed based on the 1998 XSLT drafts, but besides the namespace, at first glance, I don't see too much that is broken by the latest draft. James Tauber also promises to update the tutorial soon, so watch that space. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From tpassin@idsonline.com Sat Sep 25 23:18:28 1999 From: tpassin@idsonline.com (Thomas B. Passin) Date: Sat, 25 Sep 1999 18:18:28 -0400 Subject: [XML-SIG] Re: Confused and grasping References: <199909251812.OAA03040@malatesta.local> Message-ID: <000f01bf07a3$e57cfaa0$0101a8c0@pavilion> Uche - Thanks for the references to XSL training material and other links. I got one of the sample pdf files from Crane. But I don't think much of it - too complex and confusing. I agree, though, that it's a hard road to read the XSLT spec and go from there. On the other hand, we did it, it can be done. I'm publishing a short introductory article too, but it will be in a conference proceedings for a conference in January 2000, so it won't really be helpful to readers of this list. I'll see if I can get permission from my company to modify it and find somewhere to publish it. Any suggestions where? For anyone starting off with XSLT I have these key pieces of advice - 1) Start with VERY SIMPLE xml input files, but 2) Make sure they have at least 2 or 3 levels of nested elements, and 3) most of all, DO NOT INCLUDE ANY MARKUP in the output at first. Just make the stylesheet output plain text. Markup tags just confuse you and keep you from knowing if the output is right. When you can get the attribute text and output it where you want, when you can pick up all the nested elements, when you can number sections or elements, when you can sort the results, then it is time to add markup tags. Not before. Finally Uche, I didn't suggest 4xslt because you have to install so many pieces for it. XT is so much simpler. I don't have 4xslt running myself yet because of this. How about making a package with all-in-one for us regular folks? With so many pieces there could be versioning problems, and a package would alleviate that, too. But my highest regards to you for developing it to its current state!! Tom P ----- Original Message ----- From: To: Thomas B. Passin Cc: Sent: Saturday, September 25, 1999 2:11 PM Subject: Re: [XML-SIG] Re: Confused and grasping > > Jeff, what you want to do is get XT from James Clark's web site: > > > > http://www.jclark.com/xml/xt.html > > Since this is the Python/XML list, I won't miss the chance to plug 4XSLT, > > http://opentechnology.org/4Suite/4XSLT > > It is mostly written in Python. It doesn't cover as much of XSLT as XT does, > but it covers more than enough to get started (and full coverage is coming > RSN). > > It also has a Python API, naturally. > > > get the XSLT standard from the W3C web site: > > > > http://www.w3.org > > > > and start fooling with XSLT. XSLT is one way to generate all those document types from a master document. It has nothing to do with extracting data and creating the original document, but given an XML document, you will be in business. Soon there will probably be XSL Postscript formatters, and you will need XSLT to use them. > > Ouch! This is a hard path along which to send a newbie. See below. > > > There is very little written about using XSLT, and most of what there is, is out of date and virually worthless. The is because there have been MAJOR changes to the standards since December 1998, but most published work refers to the April or August 1998 versions. Nothing earlier than the Spring 1999 version will do. > > There is one good resource, if you are willing to spend $40. Crane > Softwrights sell XSLT training material in PDF that matches the August-99 XSLT > WD. I'm not associated with them, but I've seen the material and it's quite > good. > > http://www.CraneSoftwrights.com/training > > I should have an article out in LinuxWorld any day now (the editors are a bit > back-logged) that has a short, but intensive intro to XSLT. I'll let the list > know when it comes out. > > Also, > > http://www.xmlsoftware.com/articles/xsl-by-example.html > > Is indeed based on the 1998 XSLT drafts, but besides the namespace, at first > glance, I don't see too much that is broken by the latest draft. James Tauber > also promises to update the tutorial soon, so watch that space. > > > -- > Uche Ogbuji > FourThought LLC, IT Consultants > uche.ogbuji@fourthought.com (970)481-0805 > Software engineering, project management, Intranets and Extranets > http://FourThought.com http://OpenTechnology.org > From uche@ieee.org Sat Sep 25 22:40:12 1999 From: uche@ieee.org (uche@ieee.org) Date: Sat, 25 Sep 1999 17:40:12 -0400 Subject: [XML-SIG] Re: Confused and grasping In-Reply-To: Your message of "Sat, 25 Sep 1999 18:18:28 EDT." <000f01bf07a3$e57cfaa0$0101a8c0@pavilion> Message-ID: <199909252140.RAA04398@malatesta.local> > Uche - > Thanks for the references to XSL training material and other links. I got one of the sample pdf files from Crane. But I don't think much of it - too complex and confusing. I agree, though, that it's a hard road to read the XSLT spec and go from there. On the other hand, we did it, it can be done. Hmm. I'll admit that I didn't go through the PDF as a beginner would, but it did seem to have a decent amount of explanation and example. Perhaps any respite from the specs seemed pleasant. As for direct-to-spec. My poorer excuse is that I was implementing it, although I very often learn things from specs: Java, C++ (from the ARM), DOM, to think of a few, and I have a feeling unicode will be next. But not everyone is a masochist. And one would really need to bone up on XPath as well to get much use of the XSLT spec. > I'm publishing a short introductory article too, but it will be in a conference proceedings for a conference in January 2000, so it won't really be helpful to readers of this list. I'll see if I can get permission from my company to modify it and find somewhere to publish it. Any suggestions where? XML.com are affiliated with O'Reilly and they are always looking for authors. You might have seen Norm Walsh's intro to Schemas. I have a feeling they wouldn't mind seeing a similar treatment of XSLT. > For anyone starting off with XSLT I have these key pieces of advice - > 1) Start with VERY SIMPLE xml input files, but > 2) Make sure they have at least 2 or 3 levels of nested elements, and > 3) most of all, DO NOT INCLUDE ANY MARKUP in the output at first. Just make the stylesheet output plain text. Markup tags just confuse you and keep you from knowing if the output is right. When you can get the attribute text and output it where you want, when you can pick up all the nested elements, when you can number sections or elements, when you can sort the results, then it is time to add markup tags. Not before. OK, my question, which comes from having tried to explain XSLT to users, is how do you clearly help them differentiate from the context of the XML source and the current XSLT template instruction? I think I might have managed this in my article, but I've found that's where the biggest hang-ups come. Of course I'm usually dealing with people for whom recursion and tree traversal are old hat. How would you begin putting it to someone coming from, say, a visual BASIC background? > Finally Uche, I didn't suggest 4xslt because you have to install so many pieces for it. XT is so much simpler. I don't have 4xslt running myself yet because of this. How about making a package with all-in-one for us regular folks? With so many pieces there could be versioning problems, and a package would alleviate that, too. But my highest regards to you for developing it to its current state!! This is a valid complaint, and one that I happened to be working on today. The next release will have an optional unified package with a single "make world". There will also be RPMs, and we're evaluating our options for Windows packaging. I also don't expect a huge migration towards 4XSLT, not even from Python folks, just yet. For those who've been about the XSLT block, XT is useful, and there are a few instructions 4XSLT doesn't implement yet. I think that useful differentiation between processors will begin to emerge after XSLT hits 1.0. Our plans are to develop a more powerful and general-purpose python API such as we discussed with Paul Prescod on this list a while back. We also plan to provide several processing models. I never expect it to be the fastest XSLT processor in the world, but I think it will be one of the most versatile. For now, it is good for most transformation tasks. We generate most of our Web site with it (everything that can benefit from structure). -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Sun Sep 26 13:53:32 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Sun, 26 Sep 1999 08:53:32 -0400 Subject: [XML-SIG] (no subject) Message-ID: <199909261253.IAA06192@malatesta.local> For those following the discussion of XSLT introductory materials, I just remembered that the July through October editions of Web Techniques have a column, "Beyond HTML" by Michael Floyd, that has focused on introducing XSLT. It is based on the April spec, and he does a decent job. In the October edition, he goes over some of the gotchas of MSIE's non-standard XSL, but elsewhere he sticks to discussing the strict standard. Unfortunately they don't have these articles on-line, so it's back-issues or nought. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Sun Sep 26 15:07:14 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Sun, 26 Sep 1999 10:07:14 -0400 Subject: [XML-SIG] (no subject) In-Reply-To: Your message of "Sun, 26 Sep 1999 08:53:32 EDT." <199909261253.IAA06192@malatesta.local> Message-ID: <199909261407.KAA06360@malatesta.local> > For those following the discussion of XSLT introductory materials, I just > remembered that the July through October editions of Web Techniques have a > column, "Beyond HTML" by Michael Floyd, that has focused on introducing XSLT. > It is based on the April spec, and he does a decent job. In the October > edition, he goes over some of the gotchas of MSIE's non-standard XSL, but > elsewhere he sticks to discussing the strict standard. Actually, the articles are based on the July 9 spec. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From r.w.w.hooft@nonius.nl Mon Sep 27 07:38:00 1999 From: r.w.w.hooft@nonius.nl (Rob Hooft) Date: Mon, 27 Sep 1999 08:38:00 +0200 (MZT) Subject: [XML-SIG] Revising an XML file. Message-ID: <14319.4296.227471.578863@octopus.chem.uu.nl> I've been playing with XML and a self-designed DTD to store X-ray crystallographic data: everything from the calibration of the X-ray detector to the final results are stored in one file. The calibration is performed by a number of different programs. My next "task" is to figure out an easy way of re-calibration: i.e. I have to change a few fields in an XML database without touching anything I do not understand. Is there a simple way to implement such an editor? Do I need to parse the full file, and for every tag I don't want to touch reconstruct the XML and re-write it? Rob -- ===== r.w.w.hooft@nonius.nl http://www.xs4all.nl/~hooft/rob/ ===== ===== R&D, Nonius BV, Delft http://www.nonius.nl/ ===== ===== PGPid 0xFA19277D ========================== Use Linux! ========= From paul@prescod.net Mon Sep 27 17:17:10 1999 From: paul@prescod.net (Paul Prescod) Date: Mon, 27 Sep 1999 11:17:10 -0500 Subject: [XML-SIG] Confused and grasping References: <199909232136.RAA27327@shell2.shore.net> Message-ID: <37EF9886.F9A72BBF@prescod.net> What you are saying, Jeff is that you want to be an XML *user* not an XML software developer. That makes sense. To be a "pure" user, you need to do is find a package built on top of XML that does what you want already. That means you need to find a DTD/stylesheet package that meets your needs. The most likely contender is DocBook. It's large and complicated but it is done...you don't have to invent or code anything. You can get Docbook as a package named SGML Tools. http://www.sgmltools.org/ (SGML and XML are the same for these purposes) The Python community will one day have its own package used for the Python documentation but it doesn't have that yet. Paul Prescod Jeff Blaine wrote: > > In message <14314.38975.299840.687370@amarok.cnri.reston.va.us>you write: > >Jeff Blaine writes: > >>Being a Python-head, I downloaded and poked at the XML-SIG's xml-0.5.1.tgz > >>today, and it all still seems like a programmer's toolkit. Am I > >>wrong? > >> > >>It seems that xml-0.5.1.tgz is meant for XML gurus who want to develop > >>Python applications with XML functionality built in. > > > >Correct, and it's going to stay that way because the range of possible > >applications for XML is large. I think it was Tim Bray who compared > >XML to ASCII; it's just a data format. No one advertises "Version 2.0 > >now supports ASCII!", because ASCII isn't exciting, and XML, in > >itself, isn't that exciting either. Particular applications of XML > >may be exciting to you, but other applications may not be. For > >example, I'm not really interested in producing formatted printed > >output from XML, but I am interested in storing bits of data in XML, > >perhaps inventing a DTD along the way. > > > >So, the base XML package is always going to be very nuts-and-bolts, > >aimed at letting people build basic XML parsing functions into their > >code. The hope is that people will build MathML displayers, or > >DocBook formatters, or ICML servers, using the basic package. What > >exactly are you in search of? > > I apologize for this definitely getting out of Python XML-SIG > boundaries now. > > Okay - I just needed that clarification (above) made to me. I couldn't > figure out on my own from the tar.gz and the XML-SIG area on the Python web > site if I was missing something (being stupid) or not. > > I'm just trying to sink my teeth into XML. I want to use XML (and I > guess XSL) to redo my web site (????). > > I want to find or write the DTD for describing something like the > document found at: > > http://www.shore.net/~jblaine/code-GCS.html > > (the part starting with 'PyGCS README' centered). Then with some > sort of backend formatter dealie I want to generate HTML, maybe > Postscript, etc... > > Do I just still not understand what XML is? > > I just am tired of writing un-marked or pseudo-marked text only to > realize I can't do anything with it other than copy it somewhere > and mark it up by hand into a different format. I'm seeking a > single document format I guess.... > > _______________________________________________ > XML-SIG maillist - XML-SIG@python.org > http://www.python.org/mailman/listinfo/xml-sig From uche.ogbuji@fourthought.com Tue Sep 28 01:29:16 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Mon, 27 Sep 1999 20:29:16 -0400 Subject: [XML-SIG] Confused and grasping In-Reply-To: Your message of "Mon, 27 Sep 1999 11:17:10 CDT." <37EF9886.F9A72BBF@prescod.net> Message-ID: <199909280029.UAA09459@malatesta.local> Paul Prescod: >The Python community will one day have its own package used for the >Python documentation but it doesn't have that yet. And speaking of... What of a py-doc schema? Mike and I were just discussing this. Does Fred Drake have any ideas? Is there anything from Javadoc we might borrow? Here is what we've very tentatively set up for FourThought: And here's a style-sheet that we've been using to generate HTML doc pages. This file is automagically generated. Do not edit Documentation for <xsl:value-of select='doc:overview/doc:module_ name'/>

Public Functions

The module

Code written by on . Documentation written by .

Description

Module Dependenies

External Documentation References

Definition of Class

Base Classes

Public Member Variables

Public Class Methods

()

Description
Parameters
Name Type Description Constraints
No Parameters
Return Value(s)
Type Description Post Condition



What does everyone think? Could we hack the hell out of it on this list and adopt it for standard Python docs. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From uche.ogbuji@fourthought.com Tue Sep 28 01:36:35 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Mon, 27 Sep 1999 20:36:35 -0400 Subject: [XML-SIG] PyDoc/XML? Message-ID: <199909280036.UAA09483@malatesta.local> This is a multipart MIME message. --==_Exmh_20014085760 Content-Type: text/plain; charset=us-ascii I just realized that it might be easier to extract the proposed DTD and stylesheet if they're attachments. So I've attached them to this message. I should also note that the schema we came up with was to cover Java, IDL and C as well as Python, although Python was 98% of its target. And finally, I also included a sample XML doc file according to the DTD, and the HTML that comes from the style-sheet. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org --==_Exmh_20014085760 Content-Type: text/html ; name="example.html"; charset=us-ascii Content-Description: example.html Content-Disposition: attachment; filename="example.html" Documentation for Example.py

The Python module Example.py

Code written by Mike Olson on 1999-04-15 . Documentation written by Mike Olson .

Description

This document serves as a sample for all code.

Module Dependenies

engine.py
wheels.py

External Documentation References

Design Doc

Definition of Class Jeep

Base Classes

SUV

Public Member Variables

Engine * m_engine A pointer to the engine that makes it go
Wheels [4] m_wheels The wheels attached to this instance of the Jeep

Public Class Methods

Drive ()

Description
Override SUV::drive to make it go more places
Parameters
Name Type Description Constraints
where Location & Where to drive to The location must be less the self.gas*20 miles away
maxSpeed float Maximum speed that should be attained during the drive. The value must be greater then 0 and less then 80 miles/hr.
Return Value(s)
Type Description Post Condition
boolean Did the Jeep make it to the location? 1 if the Jeep made it. 0 if the Jeep got stuck


RemoveTop ()

Description
Remove the top from the Jeep
Parameters
No Parameters
Return Value(s)
Type Description Post Condition
boolean The results of removing the top 1 if the top was removed. 0 if the top could not be removed


Public Functions

GetAJeep ()

Description
Get a reference to a Jeep
Parameters
No Parameters
Return Value(s)
Type Description Post Condition
KeySet Will return a set of Keys for a Jeep The keys are gaurenteed to start a Jeep


--==_Exmh_20014085760 Content-Type: text/plain ; name="example.xml"; charset=us-ascii Content-Description: example.xml Content-Disposition: attachment; filename="example.xml" Example.py Python Mike Olson Mike Olson 1999-04-15 This document serves as a sample for all code. engine.py wheels.py Design Doc SUV The wheels attached to this instance of the Jeep A pointer to the engine that makes it go Override SUV::drive to make it go more places Where to drive to The location must be less the self.gas*20 miles away Maximum speed that should be attained during the drive. The value must be greater then 0 and less then 80 miles/hr. Did the Jeep make it to the location? 1 if the Jeep made it. 0 if the Jeep got stuck Remove the top from the Jeep The results of removing the top 1 if the top was removed. 0 if the top could not be removed Get a reference to a Jeep Will return a set of Keys for a Jeep The keys are gaurenteed to start a Jeep --==_Exmh_20014085760 Content-Type: text/plain ; name="module_doc.xsl"; charset=us-ascii Content-Description: module_doc.xsl Content-Disposition: attachment; filename="module_doc.xsl" This file is automagically generated. Do not edit Documentation for <xsl:value-of select='doc:overview/doc:module_name'/>

Public Functions

The module

Code written by on . Documentation written by .

Description

Module Dependenies

External Documentation References

Definition of Class

Base Classes

Public Member Variables

Public Class Methods

()

Description
Parameters
Name Type Description Constraints
No Parameters
Return Value(s)
Type Description Post Condition



--==_Exmh_20014085760 Content-Type: text/plain; name="module_doc.dtd"; charset=us-ascii Content-Description: module_doc.dtd Content-Disposition: attachment; filename="module_doc.dtd" --==_Exmh_20014085760-- From jday@csihq.com Tue Sep 28 20:42:45 1999 From: jday@csihq.com (John Day) Date: Tue, 28 Sep 1999 15:42:45 -0400 Subject: [XML-SIG] Confused and grasping In-Reply-To: <199909280029.UAA09459@malatesta.local> References: Message-ID: <3.0.1.32.19990928154245.0069d92c@mail.csihq.com> At 08:29 PM 9/27/99 -0400, you wrote: >Paul Prescod: > >>The Python community will one day have its own package used for the ......> >Here is what we've very tentatively set up for FourThought: > > > > ....> > > > > > >What does everyone think? Could we hack the hell out of it on this list and >adopt it for standard Python docs. > > >-- >Uche Ogbuji Hi, I'm just eavesdropping on your conversation, trying to understand how this would work. If I understand correctly you're proposing an 'autoDoc' facility for Python along the lines of JavaDocs. But I don't see how XML is used to mark-up the Python source code. Is that included in your idea? In other words, is it possible to use XML as a markup language inside the comments of another language etc. I seem to recall that this is done in SGML but haven't heard of it in XML. Thanks, John Day/CSI From uche.ogbuji@fourthought.com Tue Sep 28 20:32:18 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Tue, 28 Sep 1999 15:32:18 -0400 Subject: [XML-SIG] PyDoc/XML? In-Reply-To: Your message of "Tue, 28 Sep 1999 15:42:45 EDT." <3.0.1.32.19990928154245.0069d92c@mail.csihq.com> Message-ID: <199909281932.PAA12766@malatesta.local> > >>The Python community will one day have its own package used for the > ......> > >Here is what we've very tentatively set up for FourThought: > > > >What does everyone think? Could we hack the hell out of it on this list and > >adopt it for standard Python docs. > I'm just eavesdropping on your conversation, trying to understand how > this would work. If I understand correctly you're proposing an 'autoDoc' > facility for Python along the lines of JavaDocs. But I don't see how XML > is used to mark-up the Python source code. Is that included in your idea? I was not yet proposing a mechanism for generating Python docs, just a format for the eventual stand-alone docs. I personally don't like the current vogue in document/code fusion. Yes, I like modules to be self-documenting and all that, but I've found having large swathes of high-level docs scattered about a module to be a tremendous hindrance. I think that in this connected Internet world, it's better to simply link from the module to on-line docs. Yes this is not ideal, what if there are network problems, etc. but it's the trade-off I prefer. FourThought currently uses the separate-but-linked module doc approach, and we use the DTD abd Stylesheet I presented. As we develop our XLink tools, we have even cooler ideas for integrating code and docs, but once again, right now all I'm trying to do is propose a format. If we can agree on a format, then the auto-doc folks can generate the XML from their doc-strings in a similar approach to Javadoc, and others can simply enter the docs directly into Web- or command-line tools. > In other words, is it possible to use XML as a markup language inside the > comments of another language etc. I seem to recall that this is done in > SGML but haven't heard of it in XML. Where's the technical problem? #!/usr/bin/python """ A collection of k-RAD routines for the very 3733T """ class bar: """ A class all on its own """ def __init__(): etc. I don't recommend it: it is cluttered, which is why I advocate separate-but-linked docs, but it's perfectly legal, and it wouldn't be terribly difficult to write a script that extracts pure XML from it. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From jday@csihq.com Wed Sep 29 00:18:56 1999 From: jday@csihq.com (John Day) Date: Tue, 28 Sep 1999 19:18:56 -0400 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: <199909281932.PAA12766@malatesta.local> References: Message-ID: <3.0.1.32.19990928191856.00694a0c@mail.csihq.com> Uche, I wrote: >> In other words, is it possible to use XML as a markup language inside the >> comments of another language etc. I seem to recall that this is done in >> SGML but haven't heard of it in XML. You replied >Where's the technical problem? > >#!/usr/bin/python >""" > >A collection of k-RAD routines for the very 3733T > >""" I see at least two problems (perhaps more esthetic than technical :) 1. XML is not (IMHO) user-friendly enough to allow human entry and still remain well-formed & validatable (XML would require that last phrase to be written "well-formed & validatable"). We can't expect folks to remember what has to be escaped and/or quoted etc. 2. XML is not (IMHO) flexible and readable enough to be blended or mixed with ordinary, unmarked document comments in a natural way. Your triple-quoted examples show pure XML. Why can't we mix this with 'free-style' comments in a intuitive way (a la JavaDocs)? These problems suggest that we would need some kind of pre- or post- processor to correct these problems. If so, why not invent a markup-language that is friendly and flexible enough to eliminate this need? So this was my original question: Is it possible to define a markup-language like this in XML? I should point out that I mainly want to generate language _reference_ manuals with this markup language. I agree with you that other documents, including general user and programming documentation should be produced as standalone documents. Reference manuals, however, would benefit by their one-to-one relationship with the code they resemble. John Day From uche.ogbuji@fourthought.com Tue Sep 28 23:48:58 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Tue, 28 Sep 1999 18:48:58 -0400 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: Your message of "Tue, 28 Sep 1999 19:18:56 EDT." <3.0.1.32.19990928191856.00694a0c@mail.csihq.com> Message-ID: <199909282248.SAA13029@malatesta.local> John Day: > >> In other words, is it possible to use XML as a markup language inside the > >> comments of another language etc. I seem to recall that this is done in > >> SGML but haven't heard of it in XML. Uche Ogbuji: > >Where's the technical problem? > > > >#!/usr/bin/python > >""" > > > >A collection of k-RAD routines for the very 3733T > > > >""" John Day: > I see at least two problems (perhaps more esthetic than technical :) Why be so polite? It's downright hideous. > 1. XML is not (IMHO) user-friendly enough to allow human entry and still > remain well-formed & validatable (XML would require that last phrase > to be written "well-formed & validatable"). We can't expect folks > to remember what has to be escaped and/or quoted etc. > 2. XML is not (IMHO) flexible and readable enough to be blended or > mixed with ordinary, unmarked document comments in a natural way. Your > triple-quoted examples show pure XML. Why can't we mix this with > 'free-style' comments in a intuitive way (a la JavaDocs)? And that's exactly why I said I wouldn't recommend it (although I won't automatically agree with XML's lack of readibility). I appear to have misunderstood your question, and I'm still not sure I understand it. > These problems suggest that we would need some kind of pre- or post- > processor to correct these problems. If so, why not invent a markup-language > that is friendly and flexible enough to eliminate this need? Please provide some sort of example. Are you sure you mean "markup-language"? > So this was my original question: Is it possible to define a markup-language > like this in XML? I don't get it. Presumably your objection to XML-in-the-midst-of-code is all the palaver with angle brackets, beginning and end-tags, character entities and all that. In that case, how can we possibly come up with an XML-based language that is not problematic? > I should point out that I mainly want to generate language _reference_ > manuals with this markup language. I agree with you that other documents, > including general user and programming documentation should be produced > as standalone documents. Reference manuals, however, would benefit by > their one-to-one relationship with the code they resemble. Actually, I am precisely talking about reference documents with the DTD and XSL I presented. The result would certainly not be friendly enough to be used for intros or tutorials. I don't think there is any way to generate general user and programming documentation automatically until AI is a good deal further advanced. So I'm quite in the dark at this point. I think it might help if you could provide examples, even poor ones. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From greg.duncan@tpg.com.au Wed Sep 29 05:38:04 1999 From: greg.duncan@tpg.com.au (Greg Duncan) Date: Wed, 29 Sep 1999 14:38:04 +1000 Subject: [XML-SIG] EXAMPLES - NEW USER Message-ID: <004501bf0a34$6d396b80$4a4411cb@LDAP> This is a multi-part message in MIME format. ------=_NextPart_000_0042_01BF0A88.3D0D6020 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I am battling to get my first app working with the XMLLIB package and = find the examples supplied somewhat confusing. Would anyone be able to supply me with a "SIMPLE* example to perform the = following .... process an xml document and allow me to print the objects = in a stream that will effectively duplicate the input. I make the = assumption that this example will give me the kick start i require. = Actually any simple examples would do just fine. There is an assumption that the entire document is held in a tree = structure, is this correct? If so I should be able to perform arbitary = queries to perform transformations. I am not to to SGML/XML just python and the XMLLIB parser implementation Thanks _____________________________________________ Greg Duncan ------=_NextPart_000_0042_01BF0A88.3D0D6020 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
I am battling to get my first app working with the = XMLLIB=20 package and find the examples supplied somewhat confusing.
 
Would anyone be able to supply me with a "SIMPLE* = example to=20 perform the following .... process an xml document and allow me to print = the=20 objects in a stream that will effectively duplicate the input. I make = the=20 assumption that this example will give me the kick start i require. = Actually any=20 simple examples would do just fine.
 
There is an assumption that the entire document is = held in a=20 tree structure, is this correct? If so I should be able to perform = arbitary=20 queries to perform transformations.
 
I am not to to SGML/XML just python and the XMLLIB = parser=20 implementation
 
Thanks
_____________________________________________
Greg=20 Duncan
------=_NextPart_000_0042_01BF0A88.3D0D6020-- From Jacco.van.Ossenbruggen@cwi.nl Wed Sep 29 09:41:00 1999 From: Jacco.van.Ossenbruggen@cwi.nl (J.R. van Ossenbruggen) Date: Wed, 29 Sep 1999 10:41:00 +0200 Subject: [XML-SIG] Troubles with latin 1 characters Message-ID: I have troubles parsing some (not all) lat1 characters. For example, processing é works fine, ö gives troubles: it doesn't show up in my output (it even looks like the ö is parsed as an end-of-line). What is going wrong here? -- Jacco Example document: e: é o: ö Example code: import sys import xml.dom.core import xml.dom.sax_builder import xml.sax.saxexts parser = xml.sax.saxexts.make_parser() builder = xml.dom.sax_builder.SaxBuilder() parser.setDocumentHandler(builder) parser.parse(sys.argv[1]) print builder.document.documentElement.toxml() Yields: e: é o: From fredrik@pythonware.com Wed Sep 29 10:03:37 1999 From: fredrik@pythonware.com (Fredrik Lundh) Date: Wed, 29 Sep 1999 11:03:37 +0200 Subject: [XML-SIG] Troubles with latin 1 characters References: Message-ID: <008901bf0a59$850a6000$f29b12c2@secret.pythonware.com> > I have troubles parsing some (not all) lat1 characters. For example, > processing é works fine, ö gives troubles: it doesn't show up in my > output (it even looks like the ö is parsed as an end-of-line). What > is going wrong here? XML's default character set is UTF-8, not ISO Latin 1. Try adding: to the beginning of your document. (it looks like the parser you're using is broken, though -- a good parser should choke on illegal UTF-8 sequences...) From lmariusg@ifi.uio.no Wed Sep 29 10:12:29 1999 From: lmariusg@ifi.uio.no (Lars Marius Garshol) Date: 29 Sep 1999 11:12:29 +0200 Subject: [XML-SIG] Troubles with latin 1 characters In-Reply-To: References: Message-ID: * J. R. van Ossenbruggen | | I have troubles parsing some (not all) lat1 characters. For example, | processing é works fine, ö gives troubles: it doesn't show up in my | output (it even looks like the ö is parsed as an end-of-line). What | is going wrong here? That depends on the parser. I just tested with xmlproc, and it handled this fine. expat would probably require you to declare your encoding. What happens if you insert: print parser.get_parser_name(),parser.get_parser_version(),parser.get_driver_version() --Lars M. From Jacco.van.Ossenbruggen@cwi.nl Wed Sep 29 13:36:18 1999 From: Jacco.van.Ossenbruggen@cwi.nl (J.R. van Ossenbruggen) Date: Wed, 29 Sep 1999 14:36:18 +0200 Subject: [XML-SIG] Troubles with latin 1 characters In-Reply-To: Your message of "Wed, 29 Sep 1999 11:03:37 MET DST." <008901bf0a59$850a6000$f29b12c2@secret.pythonware.com> Message-ID: Lars: That depends on the parser. I just tested with xmlproc, and it handled this fine. expat would probably require you to declare your encoding. Declaring the encoding didn't help, Fredrik explained to me expat always returns UTF-8. But switching to another parser did help. Still, a proper error message (detecting characters which are not in the declared/default encoding) and/or a warning message (detecting charaters in the output that are not in UTF8) would have been helpful... BTW, is this an expat problem or a problem in the python wrapper? (Jack?) -- Jacco From jday@csihq.com Wed Sep 29 16:20:45 1999 From: jday@csihq.com (John Day) Date: Wed, 29 Sep 1999 11:20:45 -0400 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: <199909282248.SAA13029@malatesta.local> References: Message-ID: <3.0.1.32.19990929112045.006b55bc@mail.csihq.com> Day: >> So this was my original question: Is it possible to define a markup-language >> like this in XML? Uche: >I don't get it. Presumably your objection to XML-in-the-midst-of-code is all >the palaver with angle brackets, beginning and end-tags, character entities >and all that. In that case, how can we possibly come up with an XML-based >language that is not problematic? Exactly. That's _my_ question. I guess you are confirming my hunch that XML has some limitations for creating markup-languages that are 'friendly' and 'readable' enough for humans to manipulate. > >So I'm quite in the dark at this point. I think it might help if you could >provide examples, even poor ones. > OK, I will illustrate what I'm working on. Years ago I created a markup language called RML (Report Markup Language) to allow documents to be marked up as 'boiler plate' for automatic report generation. The markup language was very flexible and both declarative and procedure in nature (you could choose mostly declarative or mostly procedural, or anything in between). It was very friendly because you could use WYSIWYG features of the word processor (DecWrite) as markups, or you insert RML markups (.BOLD .CENTER etc). The RML parser read and interpreted the document's structure along with the RML markups. One of the first issues I had to resolve was this: Is RML embedded in the document or is the document embedded in RML? The answer is: neither. A marked up document is a _union_ of two languages, RML and the native structure of the document. Together they form a single language which can be interpreted and used to generate virtually any kind of document. RML has evolved beyond DecWrite and report generation and is now a scripting language superficially (quite coincidentally) resembling Python (without the nasty indenting ;) I have written a simple XML parser for RML, attempting to conform to the 1.0 Spec for well-formedness. (It also does HTML as a selectable option). I use the parser exclusively through a SAX-like event interface. (Will do some DOM stuff eventually). Going back to my insight that a marked-up document is a union of two languages. A programming language source file is an ideal candidate for my kind of RML processing because both languages are highly structured and machine readable. My goals for producing reference documents from source files are: 1. Avoid marking up anything that can be deduced by syntactic recognition of the language itself. Thus it is foolish to make lists of function names variables, data types etc since that can all be figured out with more or less perfect accuracy by a parser. 2. Look for markups in the comments that reflect some aspect of the document organization (Author, dates, purpose) Usually a set of pretty tags would be helpful. 3. Automatically (or with slight assist from a pretty tag) recognize free-form comments that describe the functionality of the code and organize them in some sensible way. Allow structural tags to be embedded in this free-form stuff. My hunch is that language coders will eventually produce good documentation when they look at the (say) HTML-generated reference entities created by their own comments. If it looks like something's missing or out of place they will eventually learn how to write comments so that they look 'pretty' on the doc page. But even if they do little or nothing, some useful documentation (function list, variable names etc) will still be produced and displayed in a useful manner. The fuzzy part is the human-written documentation residing in the comment blocks. But even this often has a regular or predictable structure. For example, I use the following template in all of my programs, regardesless of the language: /*----------------------------------------------------------------- | | FILE: template.c | | PURPOSE: This module contains dummy routines for illustration | of the ATK documentation format | | ROUTINES: | foo() makes foo out of goo | | AUTHOR: John Day/CSI | | DATE: 1-Apr-98 | | MODIFICATIONS | 2-Apr-98 Day Added, changed ,fixed etc. +---------------------------------------------------------------*/ I would like to use tokens like 'AUTHOR:' and 'FILE:' as actual markups mixed with other free-style comments. So this is the auto-doc markup language for creating manuals out of source code that I have in mind. And I want XML to play a role here, but not clear what that role is. (A 'solution' in search of a 'problem') It looks like using XML to create the actual markup language is not possible, rather I will need an external program to extract/create the structure and semantics of the goal document, then use XML as a representation language, from which HTML, PostScript, RTF, or whatever can be generated. That sounds feasible. I am trying to learn XML by developing my own tools. This has introduced me to some of the more subtle aspects of XML and has caused me to revise my opinion of what XML is. (Actually, I think my XML 'evangelists' don't really know exactly what XML is and are abusing it by proposing it for object databases and other somewhat mis-appropriate uses). I see XML strictly as a way of marking up a 'document' to expose its structure and semantics. Sure, documents are trees, like databases, but doesn't necessarily imply XML is a good way to implement a database. (Basic necessities such as query languages don't exist, yet). So I've been using my XML parser in HTML mode, while trying to think of a good XML app. Hope that's enough detail :) Thanks, Uche, for all that you've done for XML and Python. John Day Staff Scientist CSI Inc. Melbourne, FL FYI, here's a little RML snippet that grabs a list of key 'related search' phrases from AltaVista, just to give you an idea of what RML is (and how is resembles Python): #!./rml -s # FILE: about (RML 'bot' for retrieving keyword phrases) import 'url.rml'; global Count=0,Search=off,Indef=false,Related=false; {*-------------- Set traps for starting tags --------------------------*} def startElement(h, event, tbl) if (event == 'table') Search = on; elseif (event == 'td') Indef = true; endif enddef {* startElement() *} {*-------------- Filter phrases from trapped tags --------------------*} def endElement(h, event, tbl) if (event == 'table') Search = off; Related = false; elseif (event == 'td') Indef = false; text = EXPLODE(IMPLODE(LOOKUP_TABLE(tbl, 'pc$data'), ' '),':-'); if ('Related' in text(1)) Related = true; if ( (LENGTH(text) >= 2)) Count = Count + 1; log Count+". '"+REST(text(2))+"'"; endif if ( (LENGTH(text) >= 3)) Count = Count + 1; log Count+". '"+REST(text(3))+"'"; endif endif endif if (Search and Indef and Related and (event in ['a' 'A'])) Count = Count + 1; log Count+". '"+IMPLODE(LOOKUP_TABLE(tbl, 'pc$data'), ' ')+"'"; endif enddef {* endElement *} {*--------------------- Run-time stub ------------------------------------*} ifdef run$flag if ($argc==0) log 'usage: about '; return; endif url = 'www.altavista.com/cgi-bin/query?pg=q&kl=XX&stype=stext&q='+$1; fname = 'a_bout.html'; # save copy of last HTML file accessed parseURL(url,fname); endif #sample run: get phrases related to 'soup' rml/work> about soup 1. 'Chicken Soup' 2. 'Cabbage Soup Diet' 3. 'Campbell Soup' 4. 'Soup Nazi' 5. 'tomato soup' 6. 'Talk Soup' 7. 'French Onion Soup' 8. 'Cabbage Soup' 9. 'Chicken Noodle Soup' 10. 'Pumpkin Soup' 11. 'Stone Soup' From lmariusg@ifi.uio.no Wed Sep 29 16:29:08 1999 From: lmariusg@ifi.uio.no (Lars Marius Garshol) Date: 29 Sep 1999 17:29:08 +0200 Subject: [XML-SIG] Troubles with latin 1 characters In-Reply-To: References: Message-ID: * J. R. van Ossenbruggen | | Declaring the encoding didn't help, Fredrik explained to me expat | always returns UTF-8. These are separate issues. The encoding you declare is the one that the input document uses (if you don't declare anything the parser will assume that it's UTF-16/UTF-8). The encoding you get output from the parser in is the one the parser writer decided you should get. | But switching to another parser did help. Which parser did you use initially? expat? Which parser did you switch to? | Still, a proper error message (detecting characters which are not in | the declared/default encoding) and/or a warning message (detecting | charaters in the output that are not in UTF8) would have been | helpful... Agreed. If the parser assumes UTF-8 and gets incorrect bit sequences (your input was illegal as UTF-8) it should complain very loudly. --Lars M. From uche.ogbuji@fourthought.com Wed Sep 29 15:58:10 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 29 Sep 1999 10:58:10 -0400 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: Your message of "Wed, 29 Sep 1999 11:20:45 EDT." <3.0.1.32.19990929112045.006b55bc@mail.csihq.com> Message-ID: <199909291458.KAA00987@malatesta.local> [Note: you might want to suggest your ideas to the doc-sig, which, as Fred Drake pointed out to me, is also relevant] > Exactly. That's _my_ question. I guess you are confirming my hunch that XML > has some limitations for creating markup-languages that are 'friendly' and > 'readable' enough for humans to manipulate. And many very intelligent people, including yourself, have complained about this. I think it's a one man's meat is another man's poison sort of thing. I find XML as readable as any other presentation of such structure. Some say that optional end-tags, etc. would help, but I often find the un-closed "
  • " and "

    " in HTML a bit more confusing. I don't think anyone will ever come up with a markup-language that's universally readable and friendly, because the essence of a markup language is to make clear distinction between data and mark-up. This distinction is either bound to cause impaired readibility if the distinction is too sharp, or structural confusion if the distinction is too blurred. My first impression of RML is that it tends toward the latter. > Years ago I created a markup language called RML (Report Markup Language) > to allow documents to be marked up as 'boiler plate' for automatic report > generation. The markup language was very flexible and both declarative and > procedure in nature (you could choose mostly declarative or mostly > procedural, or anything in between). It was very friendly because you could > use WYSIWYG features of the word processor (DecWrite) as markups, or you > insert RML markups (.BOLD .CENTER etc). The RML parser read and interpreted > the document's structure along with the RML markups. > > One of the first issues I had to resolve was this: Is RML embedded in the > document or is the document embedded in RML? The answer is: neither. A marked > up document is a _union_ of two languages, RML and the native structure of > the document. Together they form a single language which can be interpreted > and used to generate virtually any kind of document. I think this depends greatly on the application. Im most cases where XML is used the mark-up _is_ the structure of the document. I know that the SGML world has some powerful models for incorporating non-SGML markup aspects into a document or incorporating SGML into non-markup data. I just learned enough about groves to be dangerous from Paul Prescod's _brilliant_ precis on the XML-Dev list and the ensuing conversation, but I would venture to say that the SGML parts would simply be nodes conforming to the SGML property-set (element, attribute, content, etc.), and one could determine a property-set for the non-SGML parts of the document, and combine them richly in the sort of way you are proposing. However, I don't think the XML community has embraced groves, and there's not too much support in the prevalent standard for mixed-mode documents except to extract the separate layers and process them separately. > RML has evolved beyond DecWrite and report generation and is now a scripting > language superficially (quite coincidentally) resembling Python (without the > nasty indenting ;) Another aesthetic concern in which we disagree. Again, one man's sugar is another's arsenic. The clean look that results from the indentation rules is one of the things that drew me to Python. > I have written a simple XML parser for RML, attempting to conform to the 1.0 > Spec for well-formedness. (It also does HTML as a selectable option). I use > the parser exclusively through a SAX-like event interface. (Will do some > DOM stuff eventually). Is this so that you can insert RML markup (".BOLD", etc) into XML docs? Vice-versa? Both? > Going back to my insight that a marked-up document is a union of two > languages. In some cases. > A programming language source file is an ideal candidate for my kind of RML > processing because both languages are highly structured and machine readable. > > My goals for producing reference documents from source files are: > 1. Avoid marking up anything that can be deduced by syntactic recognition > of the language itself. Thus it is foolish to make lists of function names > variables, data types etc since that can all be figured out with more or > less perfect accuracy by a parser. > 2. Look for markups in the comments that reflect some aspect of the document > organization (Author, dates, purpose) Usually a set of pretty tags would > be helpful. > 3. Automatically (or with slight assist from a pretty tag) recognize free-form > comments that describe the functionality of the code and organize them > in some sensible way. Allow structural tags to be embedded in this > free-form > stuff. I disagree that there is _any_ way to mark-up code that won't get in the way of some programmers (such as myself). That is why I advocate rich linking from code to separate documentation. > I would like to use tokens like 'AUTHOR:' and 'FILE:' as actual markups > mixed with other free-style comments. > > So this is the auto-doc markup language for creating manuals out of source > code that I have in mind. And I want XML to play a role here, but not > clear what that role is. (A 'solution' in search of a 'problem') It looks > like using XML to create the actual markup language is not possible, > rather I will need an external program to extract/create the structure > and semantics of the goal document, then use XML as a representation language, > from which HTML, PostScript, RTF, or whatever can be generated. That sounds > feasible. This makes most sense for your purposes. > I am trying to learn XML by developing my own tools. This has introduced > me to some of the more subtle aspects of XML and has caused me to revise > my opinion of what XML is. (Actually, I think my XML 'evangelists' don't > really know exactly what XML is and are abusing it by proposing it for > object databases and other somewhat mis-appropriate uses). I see XML > strictly as a way of marking up a 'document' to expose its structure and > semantics. Sure, documents are trees, like databases, but doesn't necessarily > imply XML is a good way to implement a database. (Basic necessities such > as query languages don't exist, yet). Hmm. Anyone can go about the villages and try selling XML as the cure for all ills, but I think you'll find that most "evangelists" who know what they're talking about do not claim XML for more than it is: a standard mark-up language with roots in a much more sophisticated and complex ancestor (SGML) with a very fast-growing community. This last bit is key. There is nothing magic about angle-bracket mark-up or any of that. XML's magic comes from the fact that so many people are using it and that so many tools are emerging for it. I haven't heard anyone claim that XML should replace _any_ binary data-store, such as object-database back-ends, although I have heard people advocating XML as a serialization between such back-ends, and I think this is an excellent idea. BTW, you can do basic queries on XML using XPath. It doesn't allow for combanitorial queries or any of that: that's what XQL is being developed for, but it's something. Finally, XML is about more than just documents. Data-serialization usually doesn't have much in common with documents, but XML works pretty well in that space. Be well. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From fcy@acm.org Wed Sep 29 18:30:44 1999 From: fcy@acm.org (Fred Yankowski) Date: Wed, 29 Sep 1999 12:30:44 -0500 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: <3.0.1.32.19990929112045.006b55bc@mail.csihq.com>; from John Day on Wed, Sep 29, 1999 at 11:20:45AM -0400 References: <199909282248.SAA13029@malatesta.local> <3.0.1.32.19990929112045.006b55bc@mail.csihq.com> Message-ID: <19990929123044.A58950@enteract.com> On Wed, Sep 29, 1999 at 11:20:45AM -0400, John Day wrote: > Going back to my insight that a marked-up document is a union of two > languages. You're in good company with that insight: Don Knuth's "Web" system and literate-programming approach have the same basis. > I am trying to learn XML by developing my own tools. This has introduced > me to some of the more subtle aspects of XML and has caused me to revise > my opinion of what XML is. (Actually, I think my XML 'evangelists' don't > really know exactly what XML is and are abusing it by proposing it for > object databases and other somewhat mis-appropriate uses). I see XML > strictly as a way of marking up a 'document' to expose its structure and > semantics. Sure, documents are trees, like databases, but doesn't necessarily > imply XML is a good way to implement a database. (Basic necessities such > as query languages don't exist, yet). In my experience it's really awkward to author material using XML/SGML-based notations. And even with the best XML-authoring tool that I can conceive, there's still the problem of reading and revising the content later. To me, even the best of XML documents are just plain *ugly*. XML makes sense as a data interchange format, but *not* as an authoring format or as a database format. In the case of software documentation, XML could play a role in providing a basis for a family of DTDs used in sharing useful information about programs, such as consolidating reference material from multiple sources (and source languages) into a common catalog or repository. The actual documentation source would be designed to be convenient to the authors and maintainers of the programs, and translated to the common XML DTDs as necessary. One related example is the "RSS" format being promulgated by UserLand.com and Netscape [1]. It's an XML DTD for publishing short news items and weblogs with links to extended material. Getting to my point... one of the first things RSS authors did is write scripts to generate the RSS/XML code from source written in a simple structured-text format [2]. This is likely to be typical: frequent users will create their own mini-language tailored to their tasks, and will use scripts to generate the XML from that source. [1] [2] -- Fred Yankowski fred@OntoSys.com tel: +1.630.879.1312 President OntoSys.com/fred fax: +1.630.879.1370 OntoSys, Inc 38W242 Deerpath Rd, Batavia, IL 60510, USA From Fred L. Drake, Jr." References: <3.0.1.32.19990929112045.006b55bc@mail.csihq.com> <199909291458.KAA00987@malatesta.local> Message-ID: <14322.21025.492054.432751@weyr.cnri.reston.va.us> uche.ogbuji@fourthought.com writes: > [Note: you might want to suggest your ideas to the doc-sig, which, as Fred > Drake pointed out to me, is also relevant] Uche, Thanks for pointing this out. The Python-documentation aspect of this discussion belongs in the Doc-SIG, but some of this makes more sense here (like most of the message to which I'm responding). > find XML as readable as any other presentation of such structure. > Some say that optional end-tags, etc. would help, but I often find > the un-closed "

  • " and "

    " in HTML a bit more confusing. There's always someone willing to espouse any given view, even if you have to pay them. ;-) I think the only thing I'd really like to be able to use from SGML that XML doesn't offer is the empty end tag. When marking one or two words, XML is incredibly verbose. If I have: In the module foo, the function bar() provides... The XML might be: In the module foo, the function bar provides... The corresponding SGML (with the right declaration) might be: In the module foo, the function bar provides... An alternative XML, which I don't really like, might be: In the module , the function provides... This is shorter, but I don't like using an attribute for this (not really sure why; the name of a function is an attribute of the function, but that relationship isn't that important), and it strongly relies on using a *short* name for the attribute. (Let's just assume my stylesheets will generate the parentheses following the function name.) It's only a coincidence that my example might vaguely resemble API documents. ;-) -Fred -- Fred L. Drake, Jr. Corporation for National Research Initiatives From uche.ogbuji@fourthought.com Wed Sep 29 17:43:04 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Wed, 29 Sep 1999 12:43:04 -0400 Subject: [XML-SIG] Re: PyDoc/XML? In-Reply-To: Your message of "Wed, 29 Sep 1999 12:30:44 CDT." <19990929123044.A58950@enteract.com> Message-ID: <199909291643.MAA01229@malatesta.local> [hi doc-sig folks. This is a conversation that has been brewing in xml-sig, but I think you may find it relevant] > > I am trying to learn XML by developing my own tools. This has introduced > > me to some of the more subtle aspects of XML and has caused me to revise > > my opinion of what XML is. (Actually, I think my XML 'evangelists' don't > > really know exactly what XML is and are abusing it by proposing it for > > object databases and other somewhat mis-appropriate uses). I see XML > > strictly as a way of marking up a 'document' to expose its structure and > > semantics. Sure, documents are trees, like databases, but doesn't necessarily > > imply XML is a good way to implement a database. (Basic necessities such > > as query languages don't exist, yet). > > In my experience it's really awkward to author material using > XML/SGML-based notations. And even with the best XML-authoring tool > that I can conceive, there's still the problem of reading and revising > the content later. To me, even the best of XML documents are just > plain *ugly*. XML makes sense as a data interchange format, but *not* > as an authoring format or as a database format. It isn't ideal, but I've got used to typing in XML. Maybe that's why I don't have so many of the typical first-glance reactions anymore, and I don't even remember having had them. When I'm hacking at XML, I'm usually thinking in that mode, and I make liberal use of EMACS short-cuts to get things done switfly. Of course this will never do for most normal people, and that us why no-one here has been advocating that Python programmers type their docs in straight XML. All I was pursuing was an XML format for the eventual product, and user-friendly tools such as you describe for RSS would come along easily enough. > In the case of > software documentation, XML could play a role in providing a basis for > a family of DTDs used in sharing useful information about programs, > such as consolidating reference material from multiple sources (and > source languages) into a common catalog or repository. The actual > documentation source would be designed to be convenient to the authors > and maintainers of the programs, and translated to the common XML DTDs > as necessary. > > One related example is the "RSS" format being promulgated by > UserLand.com and Netscape [1]. It's an XML DTD for publishing short > news items and weblogs with links to extended material. Getting to my > point... one of the first things RSS authors did is write scripts to > generate the RSS/XML code from source written in a simple > structured-text format [2]. This is likely to be typical: frequent > users will create their own mini-language tailored to their tasks, and > will use scripts to generate the XML from that source. > > [1] > [2] I should note that the explosion of mini-languages is probably not a good thing. I don't think it's a matter for language conversion, I think it's a case for intelligent tools. I just read through the recent doc-sig archives and a relevant discussion has been taking place there. What I conclude is that there will be no solution to meet all tastes, so this is the best we can hope for: 1) Perhaps a single structured, "normal" format for Python doc-strings that can be exported to XML. Perhaps this would be some variant of John Day's RML markup. Some people would ignore this facility, and I would be one of them. 2) A nice tool (perhaps Web-based) for generating [X|SG]ML docs from source code. My idea is that it could read Python source and put up a form or interactively ask the programmer to fill in the fields corresponding to the parts that need to be documented. This is the approach I would choose to use. 3) A DTD or schema for storing *ML docs for Python modules regardles of whether they were generated from method (1) or (2) above. It would also be used by the direct-to-*ML folks using their favorite intelligent editor. 4) A tool that could map the *ML docs back to doc-strings and comments embedded within the Python code for amateurs of method (1) 5) A tool that could generate links from code doc-strings and comments to relevant parts of the separate *ML docs for people who prefer their docs separate but accessible (probably amaterus of method (2), myself included). I don't think the above tools would be too hard to write. FourThought has already made a small start on (2), (3) and (5). And these tools would appear to satisfy all the preferences I've observed so far. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org From brk@jenkon.com Thu Sep 30 00:00:10 1999 From: brk@jenkon.com (brk@jenkon.com) Date: Wed, 29 Sep 1999 16:00:10 -0700 Subject: [XML-SIG] XSL, anyone? Message-ID: <70217CA82F4CD31190BD00A024D38D710353DE@eagle.jenkon.com> From the wish list: An XSL implementation with Python scripting instead of JavaScript. There have also been suggestions that a JavaScript-to-Python converter be written. The second working draft of XSL is available, and someone is working on this. So, what's going on with XSL in Python these days? Bryn Keller Sr. Software Engineer Jenkon International From edd@usefulinc.com Thu Sep 30 18:17:20 1999 From: edd@usefulinc.com (Edd Dumbill) Date: Thu, 30 Sep 1999 17:17:20 +0000 Subject: [XML-SIG] ANNOUNCE: xmlhack.com: new XML developer news web site Message-ID: <19990930171720.N24878@heddley.com> Hi, I'd like to announce an XML developer news web site, run by and for members of the XML development community, Here's a brief announcement (full text to be found at ) xmlhack.com is a web site covering essential news, issues, opinions and programming advice from the XML developer community. It aims to: * provide succinct and informative summaries of current issues and emerging technologies in the XML world * promote XML and its uses among developers: particularly with those who don't have the time to read five mailing lists every day! * recognize and reflect the distinct flavor of the XML community * cover discussions as well as projects * help new users find their way among the hundreds of different directions XML is going * give developers another way to find related projects and cross-pollinate ideas Thanks -- Edd Dumbill ------/ a new media consultant, writer & technologist /-- | Director, Useful Information Company | Internet Director, Pharmalicensing : UK voice/msg: +44 702-093-6870 UK fax: +44 870-164-0230 From uche.ogbuji@fourthought.com Thu Sep 30 20:16:18 1999 From: uche.ogbuji@fourthought.com (uche.ogbuji@fourthought.com) Date: Thu, 30 Sep 1999 15:16:18 -0400 Subject: [XML-SIG] XSLT Intros Message-ID: <199909301916.PAA16905@malatesta.local> As promised, this is to note that my new XML article is out at http://www.linuxworld.com/linuxworld/lw-1999-09/lw-09-xml2.html Part of it is a brief tutorial on XSLT. Another resource that I learned of most recently is http://zvon.vscht.cz:/HTMLonly/XSLTutorial/Books/Book1/index.html Both are based on the latest spec. -- Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org