il.append(new PUSH(cpg, rule.getNamespace()));
il.append(new INVOKEVIRTUAL(strcmp));
il.append(ICONST_0);
if (rule.getAction() == STRIP_SPACE) {
strip[sCount++] = il.append(new IF_ICMPEQ(null));
}
else {
preserve[pCount++] = il.append(new IF_ICMPEQ(null));
}
}
// Handle elements="ns:el" type rule
else if (rule.getStrength() == RULE_ELEMENT) {
// Create the QName for the element
final Parser parser = classGen.getParser();
QName qname;
if (rule.getNamespace() != Constants.EMPTYSTRING )
qname = parser.getQName(rule.getNamespace(), null,
rule.getElement());
else
qname = parser.getQName(rule.getElement());
// Register the element.
final int elementType = xsltc.registerElement(qname);
il.append(new ILOAD(paramType));
il.append(new PUSH(cpg, elementType));
// Compare current node type with wanted element type
if (rule.getAction() == STRIP_SPACE)
strip[sCount++] = il.append(new IF_ICMPEQ(null));
else
preserve[pCount++] = il.append(new IF_ICMPEQ(null));
}
}
if (defaultAction == STRIP_SPACE) {
compileStripSpace(strip, sCount, il);