public void startPrefixMapping(String prefix, String uri) throws SAXException { if (prefix == null) { prefix = ""; } else if (prefix.equals("xml")) { return; } if (namespaces == null) { namespaces = new SimpleNamespaceContext(); } namespaces.setPrefix(prefix, uri); }
/** * Generates a new namespace prefix for the specified namespace URI that * doesn't collide with any existing prefix. * * @param nsURI The URI for which to generate a prefix. * @param nsCtx The namespace context in which to set the prefix. * @param namespaces A {@link List} of {@link Namespace} events to which the * new prefix will be added. * @return The new prefix. */ private String generatePrefix(String nsURI, SimpleNamespaceContext nsCtx, List namespaces) { String newPrefix; int nsCount = 0; do { newPrefix = "ns" + nsCount; nsCount++; } while (nsCtx.getNamespaceURI(newPrefix) != null); nsCtx.setPrefix(newPrefix, nsURI); namespaces.add(factory.createNamespace(newPrefix, nsURI)); return newPrefix; }
public synchronized void setNamespaceContext(NamespaceContext root) throws XMLStreamException { SimpleNamespaceContext parent = (SimpleNamespaceContext) nsStack.get(0); parent.setParent(root); }
SimpleNamespaceContext nsCtx = this.peekNamespaceStack(); if (!nsCtx.isPrefixDeclared(prefix)) { nsCtx.setDefaultNamespace(nsURI); nsCtx.setPrefix(prefix, nsURI); } else if (!nsCtx.getNamespaceURI(prefix).equals(nsURI)) {
String resolvedNS = nsCtx.getNamespaceURI(prefix); if (resolvedNS != null) { String newPrefix = nsCtx.getPrefix(nsURI); if (newPrefix == null) { nsCtx.setPrefix(prefix, nsURI); namespaces.add(factory.createNamespace(prefix, nsURI)); String newPrefix = nsCtx.getPrefix(nsURI); if (newPrefix == null) {
/** * Adds a namespace declaration to this context with the specified prefix and * namespace uri. * * @param prefix The namespace prefix. * @param nsURI The namespace uri. */ public void putNamespace(String prefix, String nsURI) { if (isReadOnly()) { throw new IllegalStateException("ElementContext is readOnly"); } if (namespacePrefixes == null) { namespacePrefixes = new ArrayList(); } if (prefix.length() == 0) { // default namespace namespacePrefixes.add(prefix); super.setDefaultNamespace(nsURI); } else { namespacePrefixes.add(prefix); super.setPrefix(prefix, nsURI); } }
public void startDocument() throws SAXException { namespaces = new SimpleNamespaceContext(); }
Iterator prefixes = namespaces.getDeclaredPrefixes(); while (prefixes.hasNext()) { String nsURI = namespaces.getNamespaceURI(prefix); String nsURI = namespaces.getNamespaceURI(attrPrefix); if (nsURI == null) {
public synchronized void setPrefix(String prefix, String nsURI) throws XMLStreamException { peekNamespaceStack().setPrefix(prefix, nsURI); }
String boundURI = nsCtx.getNamespaceURI(prefix); if (!nsURI.equals(boundURI)) { String newPrefix = nsCtx.getPrefix(nsURI); if (newPrefix != null) { String defaultURI = nsCtx.getNamespaceURI(""); if (defaultURI != null && defaultURI.length() > 0) {
public synchronized void setDefaultNamespace(String nsURI) throws XMLStreamException { peekNamespaceStack().setDefaultNamespace(nsURI); }
public Iterator getPrefixes() { if (parent == null || !(parent instanceof ExtendedNamespaceContext)) { return getDeclaredPrefixes(); } else { Set prefixes = new HashSet(this.namespaces.keySet()); ExtendedNamespaceContext superCtx = (ExtendedNamespaceContext) parent; for (Iterator i = superCtx.getPrefixes(); i.hasNext();) { String prefix = (String) i.next(); prefixes.add(prefix); } return prefixes.iterator(); } }
protected BaseXMLEventWriter(XMLEventFactory eventFactory, NamespaceContext nsCtx) { if (nsCtx != null) { nsStack.add(new SimpleNamespaceContext(nsCtx)); } else { nsStack.add(new SimpleNamespaceContext()); } if (eventFactory != null) { factory = eventFactory; } else { factory = XMLEventFactory.newInstance(); } }
Iterator prefixes = namespaces.getDeclaredPrefixes(); while (prefixes.hasNext()) { String uri = namespaces.getNamespaceURI(prefix);
/** * Declares a namespace binding in this context. * * @param prefix The namespace prefix. * @param nsURI The namespace URI. * @return The previously declared namespace uri, or <code>null</code> if * the prefix wasn't previously declared in this context. */ public String setPrefix(String prefix, String nsURI) { if (prefix == null) { throw new NullPointerException("Namespace Prefix was null"); } else if (prefix.equals(XMLConstants.DEFAULT_NS_PREFIX)) { return setDefaultNamespace(nsURI); } else if (prefix.equals(XMLConstants.XML_NS_PREFIX)) { throw new IllegalArgumentException("Attempt to map 'xml' prefix"); } else if (prefix.equals(XMLConstants.XMLNS_ATTRIBUTE)) { throw new IllegalArgumentException("Attempt to map 'xmlns' prefix"); } else if (nsURI != null) { if (nsURI.equals(XMLConstants.XML_NS_URI)) { throw new IllegalArgumentException("Attempt to map 'xml' uri"); } else if (nsURI.equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) { throw new IllegalArgumentException("Attempt to map 'xmlns' uri"); } else { return (String) namespaces.put(prefix, nsURI); } } else { // put the empty string to record an undefined prefix return (String) namespaces.put(prefix, ""); } }
XPathFactory xpf = XPathFactory.newInstance(); XPath xpath = xpf.newXPath(); SimpleNamespaceContext nsc = new SimpleNamespaceContext(); nsc.setPrefix(SchematronGenerator.SCH_PREFIX, SchematronGenerator.SCH_NAMESPACE); xpath.setNamespaceContext(nsc); String path = "/" + SchematronGenerator.SCH_PREFIX + ":" + SchematronGenerator.ROOT_NAME
/** * Creates a new {@link SimpleNamespaceContext} and adds it to the top of * the stack. * * @return The new {@link SimpleNamespaceContext}. */ protected SimpleNamespaceContext pushNamespaceStack() { SimpleNamespaceContext nsCtx; SimpleNamespaceContext parent = peekNamespaceStack(); if (parent != null) { nsCtx = new SimpleNamespaceContext(parent); } else { nsCtx = new SimpleNamespaceContext(); } nsStack.add(nsCtx); return nsCtx; }