org.apache.xml.utils.QName qname = attributeSetsNames[i];
Vector attrSets = stylesheet.getAttributeSetComposed(qname);
int nSets = attrSets.size();
for(int k = 0; k < nSets; k++)
{
ElemAttributeSet attrSet =
(ElemAttributeSet)attrSets.elementAt(k);
// expand ElemAttributeSet.execute(transformer, sourceNode, mode);
if(attrSetStack.contains(attrSet))
{
// TODO: ***** WHAT'S THE RIGHT WAY TO REPORT THIS ERROR?
String errmsg="TEMPLATE COMPILATION ERROR: ATTRIBUTE SET RECURSION SUPPRESSED in "+attrSet.getName().getLocalPart();
/**/System.err.println(errmsg);
/**/body.append("// ***** "+errmsg+" *****/\n");
/**/return;
//throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_XSLATTRSET_USED_ITSELF, new Object[]{attrSet.getName().getLocalPart()})); //"xsl:attribute-set '"+m_qname.m_localpart+
}
attrSetStack.push(attrSet);
// Recurse, since attrsets can reference attrsets
compileUseAttrSet(attrSet,body,interpretVector);
ElemAttribute attr = (ElemAttribute)attrSet.getFirstChild();
while(null != attr)
{
compileElemTemplateElement(attr,body,interpretVector);
attr = (ElemAttribute)attr.getNextSibling();
}