/** * Method called by {@link com.ctc.wstx.evt.DefaultEventAllocator} * to get double-indirection necessary for constructing start element * events. * * @return Null, if stream does not point to start element; whatever * callback returns otherwise. */ public Object withStartElement(ElemCallback cb, Location loc) { if (mCurrToken != START_ELEMENT) { return null; } return cb.withStartElement(loc, getName(), mElementStack.createNonTransientNsContext(loc), mAttrCollector.buildAttrOb(), mStEmptyElem); }
initHashArea(); int currIndex = map[index]-1; // Index of primary collision entry int spillIndex = mAttrSpillEnd; map = spillAttr(uri, localName, map, currIndex, spillIndex, attrIndex, hash, mAttrHashSize); if (map == null) { // dup! getAttrBuilder(prefix, localName); Attribute attr = mAttributes[mAttrCount-1]; attr.mNamespaceURI = uri;
attrCollector.getCount() : attrCollector.getSpecifiedCount(); attrCollector.writeAttribute(i, mWriter);
public String getQName(int index) { if (index < mAttrCount) { if (index < 0) { return null; } String prefix = mAttrCollector.getPrefix(index); String ln = mAttrCollector.getLocalName(index); return (prefix == null || prefix.length() == 0) ? ln : (prefix + ":" + ln); } index -= mAttrCount; if (index < mNsCount) { /* As discussed in <code>fireStartTag</code>, we must use * element stack, not attribute collector: */ //String prefix = mAttrCollector.getNsPrefix(index); String prefix = mElemStack.getLocalNsPrefix(index); if (prefix == null || prefix.length() == 0) { return "xmlns"; } return "xmlns:"+prefix; } return null; }
int attrCount = mConfig.willCopyDefaultAttrs() ? ac.getCount() : ac.getSpecifiedCount(); uri = ac.getURI(i); prefix = ac.getPrefix(i); mWriter.writeAttribute(ac.getLocalName(i), ac.getValue(i)); } else { mWriter.writeAttribute(prefix, ac.getLocalName(i), ac.getValue(i));
tb = ac.getNsBuilder(localName); tb = ac.getDefaultNsBuilder(); tb = ac.getAttrBuilder(prefix, localName);
int nsCount = ac.getNsCount(); if (nsCount > 0) { Attribute ns = ac.resolveNamespaceDecl(i, internNsUris); String nsUri = ns.mNamespaceURI; int xmlidIx = ac.resolveNamespaces(mReporter, mNamespaces); mIdAttrIndex = xmlidIx; ac.normalizeSpacesInValue(xmlidIx); int attrLen = ac.getCount(); if (attrLen > 0) { for (int i = 0; i < attrLen; ++i) { ac.validateAttribute(i, mValidator);
public QName getAttributeName(int index) { if (mCurrToken != START_ELEMENT) { throw new IllegalStateException(ErrorConsts.ERR_STATE_NOT_STELEM); } return mAttrCollector.getQName(index); }
public String getAttributeLocalName(int index) { if (mCurrToken != START_ELEMENT) { throw new IllegalStateException(ErrorConsts.ERR_STATE_NOT_STELEM); } return mAttrCollector.getLocalName(index); }
public String getURI(int index) { if (index < mAttrCount) { if (index < 0) { return null; } String uri = mAttrCollector.getURI(index); return (uri == null) ? "" : uri; } if ((index - mAttrCount) < mNsCount) { return XMLConstants.XMLNS_ATTRIBUTE_NS_URI; } return null; }
public String getAttributePrefix(int index) { if (mCurrToken != START_ELEMENT) { throw new IllegalStateException(ErrorConsts.ERR_STATE_NOT_STELEM); } // Internally it's marked as null, externally need to see "" String p = mAttrCollector.getPrefix(index); return (p == null) ? XmlConsts.ATTR_NO_PREFIX : p; }
public final int getAttributeCount() { return mAttrCollector.getCount(); }
/** * Method called to normalize value of an ID attribute, specified * using name xml:id, when support for Xml:id specification enabled. */ protected final void normalizeXmlIdAttr(AttributeCollector ac, int ix) { // StringUtil has a method, but it works on char arrays... TextBuilder attrBuilder = ac.getAttrBuilder(); char[] attrCB = attrBuilder.getCharBuffer(); String normValue = StringUtil.normalizeSpaces (attrCB, attrBuilder.getOffset(ix), attrBuilder.getOffset(ix+1)); if (normValue != null) { ac.setNormalizedValue(ix, normValue); } } }
/** * @return null if the default namespace URI has been already declared * for the current element; TextBuilder to add URI to if not. */ public TextBuilder getDefaultNsBuilder() throws XMLStreamException { if (mDefaultNsDeclared) { return null; } mDefaultNsDeclared = true; return getNsBuilder(null); }
TextBuilder tb = ac.getAttrBuilder(null, name); c = (mInputPtr < mInputEnd) ? mInputBuffer[mInputPtr++] : getNextCharFromCurrent(SUFFIX_IN_ELEMENT);
int attrCount = mCfgCopyDefaultAttrs ? ac.getCount() : ac.getSpecifiedCount(); uri = attrCollector.getURI(i); prefix = attrCollector.getPrefix(i); mWriter.writeAttribute(attrCollector.getLocalName(i), attrCollector.getValue(i)); } else { mWriter.writeAttribute(prefix, attrCollector.getLocalName(i), attrCollector.getValue(i));
tb = ac.getNsBuilder(localName); tb = ac.getDefaultNsBuilder(); tb = ac.getAttrBuilder(prefix, localName);
/** * Method that can be used to get the specified attribute value, * by getting it written using Writer passed in. Can potentially * save one String allocation, since no (temporary) Strings need * to be created. */ /* protected final void writeValue(int index, Writer w) throws IOException { mValueBuilder.getEntry(index, w); } */ protected void throwDupAttr(InputProblemReporter rep, int index) throws XMLStreamException { rep.throwParseError("Duplicate attribute '"+getQName(index)+"'."); } }
public String getAttributeLocalName(int index) { return getAttrCollector().getLocalName(index); }
public String getAttributeNamespace(int index) { if (mCurrToken != START_ELEMENT) { throw new IllegalStateException(ErrorConsts.ERR_STATE_NOT_STELEM); } // Internally it's marked as null, externally need to see "" String uri = mAttrCollector.getURI(index); return (uri == null) ? XmlConsts.ATTR_NO_NS_URI : uri; }