{
XMLString data = m_dtm.getStringValue(node);
if (m_contentHandler instanceof LexicalHandler)
{
LexicalHandler lh = ((LexicalHandler) this.m_contentHandler);
data.dispatchAsComment(lh);
}
}
break;
case DTM.DOCUMENT_FRAGMENT_NODE :
// ??;
break;
case DTM.DOCUMENT_NODE :
this.m_contentHandler.startDocument();
break;
case DTM.ELEMENT_NODE :
DTM dtm = m_dtm;
for (int nsn = dtm.getFirstNamespaceNode(node, true); DTM.NULL != nsn;
nsn = dtm.getNextNamespaceNode(node, nsn, true))
{
// String prefix = dtm.getPrefix(nsn);
String prefix = dtm.getNodeNameX(nsn);
this.m_contentHandler.startPrefixMapping(prefix, dtm.getNodeValue(nsn));
}
// System.out.println("m_dh.getNamespaceOfNode(node): "+m_dh.getNamespaceOfNode(node));
// System.out.println("m_dh.getLocalNameOfNode(node): "+m_dh.getLocalNameOfNode(node));
String ns = dtm.getNamespaceURI(node);
if(null == ns)
ns = "";
// %OPT% !!
org.xml.sax.helpers.AttributesImpl attrs =
new org.xml.sax.helpers.AttributesImpl();
for (int i = dtm.getFirstAttribute(node);
i != DTM.NULL;
i = dtm.getNextAttribute(i))
{
attrs.addAttribute(dtm.getNamespaceURI(i),
dtm.getLocalName(i),
dtm.getNodeName(i),
"CDATA",
dtm.getNodeValue(i));
}
this.m_contentHandler.startElement(ns,
m_dtm.getLocalName(node),
m_dtm.getNodeName(node),
attrs);
break;
case DTM.PROCESSING_INSTRUCTION_NODE :
{
String name = m_dtm.getNodeName(node);
// String data = pi.getData();
if (name.equals("xslt-next-is-raw"))
{
nextIsRaw = true;
}
else
{
this.m_contentHandler.processingInstruction(name,
m_dtm.getNodeValue(node));
}
}
break;
case DTM.CDATA_SECTION_NODE :
{
boolean isLexH = (m_contentHandler instanceof LexicalHandler);
LexicalHandler lh = isLexH
? ((LexicalHandler) this.m_contentHandler) : null;
if (isLexH)
{
lh.startCDATA();
}
dispatachChars(node);
{
if (isLexH)
{
lh.endCDATA();
}
}
}
break;
case DTM.TEXT_NODE :