You can already do some of what AXSL does with the XMLDocument product and rendor methods. The only problem is that this solution is somewhat unmanageable (lots of rendor medthods), buggy and slow. Alternatively, you could write an external method (or python method) using the new 4XSL and 4DOM packages (www.fourthought.com) which would allow you to do essentially what AXSL, LotusXSL and all of the other XSLT engines let you do. I don't know what the speed would be like though, and this solution wouldn't be as well integrated into Zope as XMLDocument is. What would be really nice is the ability to register XML content with the Zope system (from a file or ZSQL Query), tie that to one or more XSLT descriptions and tie that to the catalog. I posted a scenario a while back that I'll repeat here. It would be great to hear what people think (this includes some ZCatalog ideas too).... ..............previous message...................... 1. ZCatalog should be able to index objects according to user defined criteria (such as indexing on anchors in text, on in-text meta-data, etc...) so that matched positions can be specifically targeted. 2. ZCatalog should be able to return text hits in a user defined context, the easy way would be to have this context determined by the method 1. For instance if my boundary is anchor based, then context could be all text corresponding to that anchor chunk. 3. XML should be a built in system type, not confined to an XMLDocument. My thinking is that it would be great if I could register a DTD (or Schema) with zope, and then do something like <dtml-var text_content fmt="XML:my"> where "my" is a registered DTD, and then use dtml based render methods, or an associated XSL stylesheet to format my output. 4. ZCatalog should be integrated with the above XSL services. When you register a dtd or schema with zope, you should then be able to set up indexes on elements and attributes of that schema (just like you do on properties of regular objects). ZCatalog could then be used as an XQL engine as well. Ultimately it would be great to do something like this: registered dtd: <!DOCTYPE EXAMPLE [ <!ELEMENT article (title, author, abstract, body, discussion, references)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT abstract (#PCDATA, ital, bold)> <!ELEMENT body (#PCDATA, p, ital, bold, head1, head2, head3, math, image, list)> ..... etc ..... ]> Along with the dtd, I would register any number of XSLT documents or render methods for example: "formatHTML_xsl" And I would index elements in the ZCatalog: title, author, abstract, body, etc... Then, with the following XMLDocument text: <?XML version="1.0" encoding="UTF-8"?> <article> <title>Example Article</title> <author>Me</author> <abstract>This is <ital>abstract</ital> text</abstract> <body> <head1>This is <ital>body</ital> text</head1> <p>This is some general <bold>paragraph</bold> text.</p> ..... etc ..... </article> I could do something like: <dtml-in "catalog.searchResults(meta_type='EXAMPLE')"--> <a href="/<dtml-var "catalog.getpath(data_record_id_)">"><dtml-var title></a> <dtml-var abstract fmt="XML:EXAMPLE" render="formatHTML_xsl"> <hr> </dtml-in> To return a nicely formatted abstract and link to the full XML article, which could then be rendered to down like: <dtml-var article fmt="XML:EXAMPLE" render="formatHTML_xsl"> or if I had another XSLT document called "formatPDA_xsl" then: <dtml-var article fmt="XML:EXAMPLE" render="formatPDA_xsl"> I left off .dtd and .xsl because they'll be zope objects not file references. etc... Of course, folding in items 1 and 2 with the above, then I could search on "body" for instance, return a context chunk from indexed <p id=#> tags for instance, and then jump to the appropriate paragraph section in my body text in my formatted XMLDocument. Also, I could identify any random block of text (in a DTML Document for example) as an XML fragment corresponding to a certain DTD and have it automatically rendered by the appropriate method or stylesheet. Anyway, just some ideas and wishful thinking for the future. ......................end of previous message.................... Jason ----- Original Message ----- From: Eron <woodsage@op.net> To: <zope@zope.org> Sent: Tuesday, October 05, 1999 9:24 AM Subject: [Zope] The JAVA "AXSL" processor - an idea for Zope?
Hello all - was just talking with a friend interested in "AXSL" (http://www.javalobby.org/axsl.html), which can be used for format XML data from a database. Any ideas about how we could implement something like this into Zope? Check it out.
Eron.
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(Related lists - please, no cross posts or HTML encoding!
To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )