boolean disallowNamespaceSensitiveContent =
whichNamespaces == NO_NAMESPACES &&
copyAnnotations;
Configuration config = tree.getConfiguration();
int next = nodeNr;
CopyInformee informee = receiver.getPipelineConfiguration().getCopyInformee();
// document.diagnosticDump();
do {
// determine node depth
short nodeLevel = tree.depth[next];
// extra close required?
if (closePending) {
level++;
}
// close former elements
for (; level > nodeLevel; level--) {
receiver.endElement();
}
// new node level
level = nodeLevel;
// output depends on node kind
switch (tree.nodeKind[next]) {
case Type.ELEMENT : {
// start element
final int typeCode = (copyAnnotations ? tree.getTypeAnnotation(next): StandardNames.XS_UNTYPED);
if (disallowNamespaceSensitiveContent) {
checkNotNamespaceSensitive(config, typeCode);
}
if (informee != null) {
locationId = informee.notifyElementNode(tree.getNode(next));
}
int nameCode = tree.nameCode[next];
receiver.startElement(nameCode,
typeCode,
locationId, (first ? 0 : ReceiverOptions.NAMESPACE_OK));