public void writeNamespace (@Nullable final String sPrefix, @Nonnull final String sNamespaceURI) throws XMLStreamException { debug ( () -> "writeNamespace (" + sPrefix + ", " + sNamespaceURI + ")"); if (!m_bInElementStart) throw new IllegalStateException ("No element open"); // Avoid double mapping final boolean bIsDefault = sPrefix == null || sPrefix.equals (XMLConstants.DEFAULT_NS_PREFIX) || sPrefix.equals (XMLConstants.XMLNS_ATTRIBUTE); if (bIsDefault) m_aNamespaceContext.m_aInternalContext.setDefaultNamespaceURI (sNamespaceURI); else m_aNamespaceContext.m_aInternalContext.setMapping (sPrefix, sNamespaceURI); if (bIsDefault) writeAttribute (null, null, XMLConstants.XMLNS_ATTRIBUTE, sNamespaceURI); else writeAttribute (XMLConstants.XMLNS_ATTRIBUTE, null, sPrefix, sNamespaceURI); }