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); }
public synchronized void setPrefix(String prefix, String nsURI) throws XMLStreamException { peekNamespaceStack().setPrefix(prefix, nsURI); }
/** * 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); } }
/** * 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; }
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
nsCtx.setPrefix(prefix, nsURI);
nsCtx.setPrefix(prefix, nsURI); namespaces.add(factory.createNamespace(prefix, nsURI));