| 
 
Subject: RE: Multiple pages of well formed HTML ---> XML From: "Maxime Levesque" <maximel@xxxxxxxxxxxxxx> Date: Tue, 3 Aug 1999 11:20:44 -0700  | 
 As a *workaround* for the unimplemented document() function,
you could implement a 'composite parser' (or agregating parser ...)
that would callback it's org.xml.sax.DocumentHandler to make
it think that it's handling a single document ...
 That will work if you are using a SAX based XSL processor (ex.: XT),
if it's DOM based, you can just 'glue' the trees together ...
public class CompositeParser
    implements org.xml.sax.DocumentHandler, org.xml.sax.Parser {
    private InputSources[] inputSources_;
    private DocumentHandler documentHandler_;
    private org.xml.sax.Parser aRealParser_ = "... your favorite parser
...";
    public void setDocumentHandler(DocumentHandler handler) {
	 documentHandler_ = handler;
    }
    public CompositeParser(InputSource[] inputSources) {
	inputSources_ = inputSources;
    }
    public void parse(InputSource source) throws SAXException,
java.io.IOException {
	 // ignore source ...
       documentHandler_.startDocument(); // fake the start of the
'aggregated' doc,
	 // fake a root start
       documentHandler_.startElement("YourFakeRoot", new
AttributeListImpl());
	 // receive the callbacks from all the
       // inputSources_ :
	 for(int i = 0; i < inputSources_.length; i++) {
	   aRealParser_.setDocumentHandler(this);
	   aRealParser_.parse(inputSources_[i]);
       }
	 // fake a root end
	 documentHandler_.endElement("YourFakeRoot");
       documentHandler_.endDocument(); // fake the end of the 'aggregated'
doc.
    }
    public void startElement(String name, AttributeList atts) throws
SAXException {
	 documentHandler_.startElement(name, atts);
    }
    public void endElement(String name) throws SAXException {
	 documentHandler_.startElement(name);
    }
    public void characters(char[] ch, int start, int length) throws
SAXException {
	 documentHandler_.characters(ch, start, length);
    }
    public void ignorableWhitespace(char[] ch, int start, int length) throws
SAXException {
	 documentHandler_.ignorableWhitespace(ch, start, length);
    }
    public void processingInstruction(String target, String data) throws
SAXException {
	 documentHandler_.(target, data);
    }
    public void startDocument() throws SAXException {} // silence this calls
    public void endDocument() throws SAXException {} // silence this calls
    //.... implement the other methods of org.xml.sax.Parser with empty
methods ....
    //... or delegate them to 'aRealParser_' ...
}
 Maxime Levesque
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]On Behalf Of McKisson, Shawn
> Sent: Tuesday, August 03, 1999 8:38 AM
> To: 'xsl-list@xxxxxxxxxxxxxxxx'
> Subject: Multiple pages of well formed HTML ---> XML
>
>
> Thanks to all those that helped me with the linear to deep xsl
> transformation - the information you gave was priceless to a beginner like
> myself. (see post XSL problem 8/2/1999)
> Special thanks to David Carlisle and Dave Pawson who went out of their way
> to help.
>
> Related to this, I now have the need to gather well formed HTML from
> multiple web pages and form it into a single XML document. It
> seems like to
> only trick here is to get each of the HTML trees
> to hang off of the root node of the DOM tree that XSL is going to
> manipulate.
> ie.
>
> (wp = webpage)
>
>             DOM
>             root
>            / |  \
>           /  |   \
>          /   |    \
>         wp1 wp2..wpn
>
> With that accomplished, it seems that I could use XSL in standard way to
> generate the XML.
> Does this sound like a reasonable solution to the problem? Any other
> suggestions? (I haven't looked into XLink, so I'm not sure exactly what it
> is or if it is relevant here)
>
> --shawn
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: Multiple pages of well formed H, Duane Nickull | Thread | Dynamically changing an XML stylesh, Nimmons, Daniel | 
| Returning nodeset from external fun, Dan Machak | Date | RE: How to call a href?, Kara Lee | 
| Month |