private void processAttributes(int item){ do { switch(getAIIState(item)){ case STATE_ATTRIBUTE_U_LN_QN: { final String uri = readStructureString(); final String localName = readStructureString(); final String prefix = getPrefixFromQName(readStructureString()); _attributeCache.addAttributeWithPrefix(prefix, uri, localName, readStructureString(), readContentString()); break; } case STATE_ATTRIBUTE_P_U_LN: _attributeCache.addAttributeWithPrefix(readStructureString(), readStructureString(), readStructureString(), readStructureString(), readContentString()); break; case STATE_ATTRIBUTE_U_LN: // _attributeCache follows SAX convention _attributeCache.addAttributeWithPrefix("", readStructureString(), readStructureString(), readStructureString(), readContentString()); break; case STATE_ATTRIBUTE_LN: { _attributeCache.addAttributeWithPrefix("", "", readStructureString(), readStructureString(), readContentString()); break; } default : assert false : "Internal XSB Error: wrong attribute state, Item="+item; } readStructure(); item = peekStructure(); } while((item & TYPE_MASK) == T_ATTRIBUTE); }
case STATE_NAMESPACE_ATTRIBUTE_P: _namespaceAIIsPrefix[_namespaceAIIsEnd] = readStructureString(); if (inscope) { prefixSet.add(_namespaceAIIsPrefix[_namespaceAIIsEnd]); case STATE_NAMESPACE_ATTRIBUTE_P_U: _namespaceAIIsPrefix[_namespaceAIIsEnd] = readStructureString(); if (inscope) { prefixSet.add(_namespaceAIIsPrefix[_namespaceAIIsEnd]); _namespaceAIIsNamespaceName[_namespaceAIIsEnd++] = readStructureString(); break; case STATE_NAMESPACE_ATTRIBUTE_U: prefixSet.add(""); _namespaceAIIsNamespaceName[_namespaceAIIsEnd++] = readStructureString(); break;
final String uri = readStructureString(); final String localName = readStructureString(); final String prefix = getPrefixFromQName(readStructureString()); processElement(readStructureString(), readStructureString(), readStructureString(),isInscope(_depth)); return _eventType = START_ELEMENT; case STATE_ELEMENT_U_LN: processElement(null, readStructureString(), readStructureString(),isInscope(_depth)); return _eventType = START_ELEMENT; case STATE_ELEMENT_LN: processElement(null, null, readStructureString(),isInscope(_depth)); return _eventType = START_ELEMENT; case STATE_TEXT_AS_CHAR_ARRAY_SMALL: _piTarget = readStructureString(); _piData = readStructureString();