"LS" stands for "Load and Save."

I'm not sure about specific differences between XercesDOMParser and DOMBuilder, though 
XercesDOMParser is older and more mature.  Both build a DOM tree from an input 
document when you call their parse methods.  DOMBuild::parse() returns a document 
pointer; you have to call XercesDOMParser::getDocument() after parsing to obtain the 
document.

> -----Original Message-----
> From: Heeg, Michael [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, September 01, 2004 11:25 AM
> To: '[EMAIL PROTECTED]'
> Subject: AW: Question concerning DOMBuilder and encoding
> 
> Hi Jesse,
> 
> > Umm, well, after reviewing the source, I imagine that the 
> > exception you're seeing is DOMException::NOT_SUPPORTED_ERR.  
> 
> Yes, exactly!
> 
> > Apparently DOMBuilder doesn't do what you want.  This is 
> > probably because it's an experimental (and incomplete) 
> > implementation.  Maybe it'll get better when the final 
> > specification is implemented.  The spec is considerably 
> > different from the draft the experimental implementation is 
> > based on.  For instance, DOMBuilder and DOMInputSource were 
> > changed to LSParser and LSInput respectively in the final spec.
> 
> A newbie question: what does "LS" stand for?
> 
> > 
> > An alternative approach may be in order.  XercesDOMParser has 
> > a parse method that accepts an InputSource.  You could pass 
> > it a LocalFileInputSource after setting the encoding.
> 
> Another newbie question: what is the functional difference between
> DOMBuilder and XercesDOMParser?
> 
> 
> Thanks!
> 
> Michael
> 
> 
> 
> 
> > 
> > On the other hand, it's possible that we're both missing 
> > something.  Questions for all: is DOMBuilder incomplete, as 
> > it appears?  Are there plans to implement the final DOM 3 LS 
> > recommendation?  Last I heard, Gareth suggested that work 
> > might start on DOM 3 Core, at least, following the release of 
> > 2.6, but I don't recall any further discussion.
> > 
> > > -----Original Message-----
> > > From: Heeg, Michael [mailto:[EMAIL PROTECTED] 
> > > Sent: Wednesday, September 01, 2004 10:12 AM
> > > To: '[EMAIL PROTECTED]'
> > > Cc: Heeg, Michael
> > > Subject: AW: Question concerning DOMBuilder and encoding
> > > 
> > > Hi Jesse,
> > > 
> > > thanks for your advice. I tried, but I failed. Please see 
> > > below the code
> > > fragment.
> > > The part which creates the pointer to the DOMImplementation 
> > > succeeds (impl
> > > != NULL),
> > > but the line
> > > "DOMInputSource* myDOMSource = impl->createDOMInputSource  ();"
> > > throws an exception.
> > > Any idea?
> > > 
> > > Regards,
> > > Michael Heeg
> > > 
> > > 
> > > try {
> > >   XMLCh temp[100];
> > >   XMLString::transcode("LS", temp, 99);   
> > >   
> > >   //create DOM Implementation
> > >   DOMImplementationLS* impl =
> > > DOMImplementationRegistry::getDOMImplementation(temp);
> > >   
> > >   XMLCh* test = XMLString::transcode(m_xmlPath.data());
> > >   
> > >   DOMInputSource* myDOMSource = impl->createDOMInputSource  ();
> > > 
> > >   myDOMSource->setEncoding(XMLString::transcode("iso-8859-1"));
> > >   m_domDoc = m_domBuilder->parse(*myDOMSource);
> > > }
> > > 
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: Jesse Pelton [mailto:[EMAIL PROTECTED]
> > > > Gesendet: Mittwoch, 1. September 2004 15:20
> > > > An: [EMAIL PROTECTED]
> > > > Betreff: RE: Question concerning DOMBuilder and encoding
> > > > 
> > > > 
> > > > Looking at the documentation, it appears that 
> > > > DOMBuilder::parse(const DOMInputSource &source) should allow 
> > > > you to do what you want.  You'll need to construct the input 
> > > > source first, of course.  As part of that process, you can 
> > > > call DOMInputSource::setEncoding().
> > > > 
> > > > > -----Original Message-----
> > > > > From: Heeg, Michael [mailto:[EMAIL PROTECTED] 
> > > > > Sent: Wednesday, September 01, 2004 9:08 AM
> > > > > To: [EMAIL PROTECTED]
> > > > > Cc: Heeg, Michael
> > > > > Subject: Question concerning DOMBuilder and encoding
> > > > > 
> > > > > Hi everybody,
> > > > > 
> > > > > I have a problem with parsing a local file into a DOM. I 
> > > > > found out that the
> > > > > reason is the encoding the DOMBuilder uses (UTF-8 by 
> > > > > default?), but I did
> > > > > not find a way how to change it.
> > > > > 
> > > > > The problem is, that the local file has NO header line 
> > > > which sets the
> > > > > encoding like
> > > > > "<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>"
> > > > > If I add this line to the local file, the parsing works 
> > > > fine. But if I
> > > > > delete this line, the parsing process terminates with an 
> > > > > exception, because
> > > > > the document contains special characters like "°C" for degree 
> > > > > Celsius. And:
> > > > > due to compatibility it is not possible to include the header 
> > > > > line in the
> > > > > local files.
> > > > > 
> > > > > My question: is it possible to set the encoding the 
> > > > > DOMBuilder should use
> > > > > outside of the local file?
> > > > > 
> > > > > Thanks for your help!
> > > > > 
> > > > > Best regards,
> > > > > Michael Heeg
> > > > > 
> > > > > 
> > > > > Here are some fragments of my sources:
> > > > > 
> > > > > //member variables
> > > > > DOMDocument* m_domDoc;
> > > > > DOMBuilder* m_domBuilder;
> > > > > 
> > > > > //set external schema path
> > > > > XMLCh* propVal = XMLString::transcode("c:\myschema.xsd");
> > > > > m_domBuilder->setProperty(XMLUni::fgXercesSchemaExternalNoName
> > > > > SpaceSchemaLoc
> > > > > ation, propVal);
> > > > > 
> > > > > //parse document, transfer into the DOMDocument
> > > > > m_domDoc = m_domBuilder->parseURI("c:\myfile.txt");

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to