Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Woodstox 6.4.0 - Source Code Files
Woodstox 6.4.0 Source Code Files are provided at the Woodstox GitHub Website.
You can download them from the "src/main/java" folder.
You can also browse Woodstox Source Code files below:
✍: FYIcenter
⏎ com/ctc/wstx/evt/MergedNsContext.java
package com.ctc.wstx.evt; import java.io.IOException; import java.io.Writer; import java.util.*; import javax.xml.XMLConstants; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import javax.xml.stream.events.Namespace; import com.ctc.wstx.util.BaseNsContext; import com.ctc.wstx.util.DataUtil; /** * Hierarchic {@link NamespaceContext} implementation used when constructing * event and namespace information explicitly via * {@link javax.xml.stream.XMLEventFactory}, * not by a stream reader. *<p> * TODO: *<ul> * <li>Figure out a way to check for namespace masking; tricky but not * impossible to determine * </li> *</ul> */ public class MergedNsContext extends BaseNsContext { final NamespaceContext mParentCtxt; /** * List of {@link Namespace} instances. */ final List<Namespace> mNamespaces; Map<String,Namespace> mNsByPrefix = null; Map<String,Namespace> mNsByURI = null; protected MergedNsContext(NamespaceContext parentCtxt, List<Namespace> localNs) { mParentCtxt = parentCtxt; if (localNs == null){ mNamespaces = Collections.emptyList(); } else { mNamespaces = localNs; } } public static BaseNsContext construct(NamespaceContext parentCtxt, List<Namespace> localNs) { return new MergedNsContext(parentCtxt, localNs); } /* ///////////////////////////////////////////// // NamespaceContext API ///////////////////////////////////////////// */ @Override public String doGetNamespaceURI(String prefix) { // Note: base class checks for 'known' problems and prefixes: if (mNsByPrefix == null) { mNsByPrefix = buildByPrefixMap(); } Namespace ns = mNsByPrefix.get(prefix); if (ns == null && mParentCtxt != null) { return mParentCtxt.getNamespaceURI(prefix); } return (ns == null) ? null : ns.getNamespaceURI(); } @Override public String doGetPrefix(String nsURI) { // Note: base class checks for 'known' problems and prefixes: if (mNsByURI == null) { mNsByURI = buildByNsURIMap(); } Namespace ns = mNsByURI.get(nsURI); if (ns == null && mParentCtxt != null) { return mParentCtxt.getPrefix(nsURI); } return (ns == null) ? null : ns.getPrefix(); } @Override public Iterator<String> doGetPrefixes(String nsURI) { // Note: base class checks for 'known' problems and prefixes: ArrayList<String> l = null; for (int i = 0, len = mNamespaces.size(); i < len; ++i) { Namespace ns = mNamespaces.get(i); String uri = ns.getNamespaceURI(); if (uri == null) { uri = ""; } if (uri.equals(nsURI)) { if (l == null) { l = new ArrayList<String>(); } String prefix = ns.getPrefix(); l.add((prefix == null) ? "" : prefix); } } if (mParentCtxt != null) { @SuppressWarnings("unchecked") Iterator<String> it = /*(Iterator<String>)*/mParentCtxt.getPrefixes(nsURI); if (l == null) { return it; } while (it.hasNext()) { l.add(it.next()); } } if (l == null) { return DataUtil.emptyIterator(); } return l.iterator(); } /* ///////////////////////////////////////////// // Extended API ///////////////////////////////////////////// */ /** * Method that returns information about namespace definition declared * in this scope; not including ones declared in outer scopes. */ @Override public Iterator<Namespace> getNamespaces() { return mNamespaces.iterator(); } @Override public void outputNamespaceDeclarations(Writer w) throws IOException { for (int i = 0, len = mNamespaces.size(); i < len; ++i) { Namespace ns = mNamespaces.get(i); w.write(' '); w.write(XMLConstants.XMLNS_ATTRIBUTE); if (!ns.isDefaultNamespaceDeclaration()) { w.write(':'); w.write(ns.getPrefix()); } w.write("=\""); w.write(ns.getNamespaceURI()); w.write('"'); } } /** * Method called by the matching start element class to * output all namespace declarations active in current namespace * scope, if any. */ @Override public void outputNamespaceDeclarations(XMLStreamWriter w) throws XMLStreamException { for (int i = 0, len = mNamespaces.size(); i < len; ++i) { Namespace ns = mNamespaces.get(i); if (ns.isDefaultNamespaceDeclaration()) { w.writeDefaultNamespace(ns.getNamespaceURI()); } else { w.writeNamespace(ns.getPrefix(), ns.getNamespaceURI()); } } } /* ///////////////////////////////////////////// // Private methods: ///////////////////////////////////////////// */ private Map<String,Namespace> buildByPrefixMap() { int len = mNamespaces.size(); if (len == 0) { return Collections.emptyMap(); } LinkedHashMap<String,Namespace> m = new LinkedHashMap<String,Namespace>(1 + len + (len>>1)); for (int i = 0; i < len; ++i) { Namespace ns = mNamespaces.get(i); String prefix = ns.getPrefix(); if (prefix == null) { // shouldn't happen but... prefix = ""; } m.put(prefix, ns); } return m; } private Map<String,Namespace> buildByNsURIMap() { int len = mNamespaces.size(); if (len == 0) { return Collections.emptyMap(); } LinkedHashMap<String,Namespace> m = new LinkedHashMap<String,Namespace>(1 + len + (len>>1)); for (int i = 0; i < len; ++i) { Namespace ns = mNamespaces.get(i); String uri = ns.getNamespaceURI(); if (uri == null) { // shouldn't happen but... uri = ""; } m.put(uri, ns); } return m; } }
⏎ com/ctc/wstx/evt/MergedNsContext.java
Or download all of them as a single archive file:
File name: woodstox-core-6.4.0-fyi.zip File size: 552992 bytes Release date: 2022-10-25 Download
⇒ woodstox-core-6.4.0.jar - Woodstox Core 6.4.0
⇐ What Is Woodstox XML Processing
2023-01-29, 3369👍, 0💬
Popular Posts:
XML Serializer, Release 2.7.1, allows you to write out XML, HTML etc. as a stream of characters from...
The Digester package lets you configure an XML -> Java object mapping module, which triggers certain...
commons-net.jar is the bytecode of Apache Commons Net library, which implements the client side of m...
What Is commons-logging-1.2.jar? commons-logging-1.2.jar is the JAR file for Apache Commons Logging ...
JDK 11 jdk.rmic.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) Compiler Tool tool, ...