public NonNsStreamWriter(XmlWriter xw, String enc, WriterConfig cfg) { super(xw, enc, cfg); mElements = new StringVector(32); }
/** * Callback method called by the namespace default provider. At * this point we can trust it to only call this method with somewhat * valid arguments (no dups etc). */ public void addNsBinding(String prefix, String uri) { // Unbind? (xml 1.1...) if ((uri == null) || (uri.length() == 0)) { uri = null; } // Default ns declaration? if ((prefix == null) || (prefix.length() == 0)) { prefix = null; mCurrElement.mDefaultNsURI = uri; } mNamespaces.addStrings(prefix, uri); }
protected String getTopElementDesc() { return mElements.isEmpty() ? "#root" : mElements.getLastString(); }
public boolean isPrefixLocallyDeclared(String internedPrefix) { if (internedPrefix != null && internedPrefix.length() == 0) { // default ns internedPrefix = null; } int offset = mCurrElement.mNsOffset; for (int len = mNamespaces.size(); offset < len; offset += 2) { // both interned, can use identity comparison String thisPrefix = mNamespaces.getString(offset); if (thisPrefix == internedPrefix) { return true; } } return false; }
String[] strs = mNamespaces.getInternalArray(); int len = mNamespaces.size();
mNamespaces.addStrings(prefix, nsUri); } else { ns = mNamespaces.findLastFromMap(prefix); if (ns == null) { mReporter.throwParseError(ErrorConsts.ERR_NS_UNDECLARED, prefix); String[] nameData = attrNames.getInternalArray(); TextBuilder attrBuilder = ac.getAttrBuilder(); char[] attrCB = attrBuilder.getCharBuffer();
mNamespaces.addStrings(prefix, nsUri); } else { ns = mNamespaces.findLastFromMap(prefix);
mAttrURIs = attrURIs = new String[attrCount]; String[] attrNames = mAttrNames.getInternalArray(); for (int i = 0; i < attrCount; ++i) { String prefix = attrNames[i+i]; attrURIs[i] = XMLConstants.XML_NS_URI; } else { String uri = ns.findLastFromMap(prefix); if (uri == null) { rep.throwParseError(ErrorConsts.ERR_NS_UNDECLARED_FOR_ATTR,
mElements.addString(localName); try { mWriter.writeStartTagStart(localName);
public final String getNamespaceURI(String prefix) { if (prefix == null) { throw new IllegalArgumentException(ErrorConsts.ERR_NULL_ARG); } if (prefix.length() == 0) { if (mDepth == 0) { // unexpected... but let's not err at this point /* 07-Sep-2007, TSa: Default/"no namespace" does map to * "URI" of empty String. */ return XmlConsts.DEFAULT_NAMESPACE_URI; } return mCurrElement.mDefaultNsURI; } if (prefix.equals(XMLConstants.XML_NS_PREFIX)) { return XMLConstants.XML_NS_URI; } if (prefix.equals(XMLConstants.XMLNS_ATTRIBUTE)) { return XMLConstants.XMLNS_ATTRIBUTE_NS_URI; } /* Ok, need to find the match, if any; starting from end of the * list of active namespaces. Note that we can not count on prefix * being interned/canonicalized. */ return mNamespaces.findLastNonInterned(prefix); }
String localName = mElements.removeLast(); if (mElements.isEmpty()) { mState = STATE_EPILOG;
/** * @return null if prefix has been already declared; TextBuilder to * add value to if not. */ public TextBuilder getNsBuilder(String prefix) { if (mNsPrefixes.containsInterned(prefix)) { return null; } mNsPrefixes.addString(prefix); return mNamespaceURIs; }
attr.mNamespaceURI = XMLConstants.XML_NS_URI; } else { String uri = ns.findLastFromMap(prefix); if (uri == null) { rep.throwParseError(ErrorConsts.ERR_NS_UNDECLARED_FOR_ATTR,
public String getPrefix(int index) { if (index < 0 || index >= mAttrCount) { throwIndex(index); } return mAttrNames.getString(index << 1); }
/** *<p> * Note: only called by {@link InputElementStack} */ protected String[] getNsPrefixes() { return mNsPrefixes.getInternalArray(); }
public QName getCurrentElementName() { if (mElements.isEmpty()) { return null; } return new QName(mElements.getLastString()); }
String[] strs = mNamespaces.getInternalArray(); int len = mNamespaces.size(); ArrayList l = null;
public final String getLocalNsPrefix(int index) { int offset = mCurrElement.mNsOffset; int localCount = (mNamespaces.size() - offset); index <<= 1; // 2 entries, prefix/URI for each NS if (index < 0 || index >= localCount) { throwIllegalIndex(index >> 1, localCount >> 1); } return mNamespaces.getString(offset + index); }
mNamespaces.addStrings(prefix, nsUri); } else { ns = mNamespaces.findLastFromMap(prefix);