I managed to get
Xalan to write a Xerces DOMDoc, ...sort of. If the file is freshly loaded
into m_pDOMdoc, it transforms fine. When a node is inserted in to the doc
after it is loaded, like this...
...
DOMDocumentFragment
*pFragment = m_pDOMdoc->createDocumentFragment();
DOMElement *pCellElement = m_pDOMdoc->createElement(TC("cell"));
appendChild(pFragment, pCellElement);
DOMElement *pCellElement = m_pDOMdoc->createElement(TC("cell"));
appendChild(pFragment, pCellElement);
...
appendChild(pNode /* pNode is a node in m_pDOMdoc */,
pFragment);
...
... then the
resulting translation does not contain the new node. Is this a bug, or
something I am doing wrong? The translation code I am using is pasted
below. Please excuse my sense of humor in my variable naming
scheme.
int
result(1);
initializeXML(true /* init Xalan, too */); // initialize Xerces the first time
XercesDOMSupport theDOMSupport;
XercesParserLiaison theParserLiaison;
initializeXML(true /* init Xalan, too */); // initialize Xerces the first time
XercesDOMSupport theDOMSupport;
XercesParserLiaison theParserLiaison;
XSLTInputSource
xslIn(stylesheet);
XSLTResultTarget xmlOut(outputFileName);
XalanTransformer robotsInDisquise;
XSLTResultTarget xmlOut(outputFileName);
XalanTransformer robotsInDisquise;
try
{
const XercesDOMWrapperParsedSource parsedSource(m_pDOMdoc, theParserLiaison, theDOMSupport);
result = robotsInDisquise.transform(parsedSource, xslIn, xmlOut);
}
{
const XercesDOMWrapperParsedSource parsedSource(m_pDOMdoc, theParserLiaison, theDOMSupport);
result = robotsInDisquise.transform(parsedSource, xslIn, xmlOut);
}
catch(...)
{
}
Thanks,
Don A. Dehm
Software Engineer
Edgenet Inc.
w: 615.234.3844
NOTICE: This email and any attached files are
confidential and intended solely for the use of the addressee. If you have
received this email in error, please notify the sender and delete it
immediately, without disclosing or using its contents for any purpose. Edgenet
Inc accepts no liability for any damage caused by any virus transmitted by this
email.