/** Create a new context with the given bindings added. Existing bindings will not be overwritten. */ public XmlNamespaceContext add(XmlNamespaceContext bindings) { if (bindings.prefixToUri.size() == DEFAULT_BINDINGS) { // bindings contains only the default bindings return this; } else { return add($(bindings.getBindings())); } }
/** * Create an empty catalog and register the {@link javax.xml.XMLConstants#W3C_XML_SCHEMA_INSTANCE_NS_URI} * namespace. */ protected XMLCatalogImpl() { super(); bindings = XmlNamespaceContext.mk(XSI_NS_PREFIX, W3C_XML_SCHEMA_INSTANCE_NS_URI); }
public static XmlNamespaceContext mk(Map<String, String> prefixToUri) { return new XmlNamespaceContext(prefixToUri); }
private XmlNamespaceContext add(Stream<XmlNamespaceBinding> bindings) { return mk(bindings.append(getBindings())); }
protected void addBinding(XmlNamespaceBinding binding) { bindings = bindings.add(binding); }
/** * Transform an qualified name consisting of prefix and local part to an expanded name, based on the registered * binding. * * @param prefix * the prefix * @param localName * the local part * @return the expanded name * @throws NamespaceBindingException * if the namespace name is not bound to a prefix */ protected EName toEName(String prefix, String localName) { return new EName(bindings.getNamespaceURI(prefix), localName); }
public NamespaceContext merge(final NamespaceContext precedence) { return merge(this, precedence); }
/** * Get a prefix from {@link #bindings} but throw a {@link NamespaceBindingException} if none found. */ protected String getPrefix(String namespaceURI) { final String prefix = bindings.getPrefix(namespaceURI); if (prefix != null) { return prefix; } else { throw new NamespaceBindingException(format("Namespace URI %s is not bound to a prefix", namespaceURI)); } }
public void addBindings(XmlNamespaceContext ctx) { bindings = this.bindings.add(ctx); }
/** * Transform a qualified name to an expanded name, based on the registered binding. * * @param qName * the qualified name, e.g. <code>dcterms:title</code> or <code>title</code> * @return the expanded name * @throws NamespaceBindingException * if the namespace name is not bound to a prefix */ protected EName toEName(String qName) { String[] parts = splitQName(qName); return new EName(bindings.getNamespaceURI(parts[0]), parts[1]); }
@Override public void startPrefixMapping(String prefix, String uri) throws SAXException { dc.addBindings(XmlNamespaceContext.mk(prefix, uri)); }
/** Create a new context with the given bindings added. Existing bindings will not be overwritten. */ public XmlNamespaceContext add(XmlNamespaceBinding... bindings) { return add($(bindings)); }
public static XmlNamespaceContext mk(String prefix, String namespaceUri) { return new XmlNamespaceContext(Collections.singletonMap(prefix, namespaceUri)); }
public static XmlNamespaceContext mk(List<XmlNamespaceBinding> bindings) { return mk($(bindings)); }
public static XmlNamespaceContext mk(Stream<XmlNamespaceBinding> bindings) { return new XmlNamespaceContext( bindings.foldl( new HashMap<String, String>(), new Fn2<HashMap<String, String>, XmlNamespaceBinding, HashMap<String, String>>() { @Override public HashMap<String, String> apply( HashMap<String, String> prefixToUri, XmlNamespaceBinding binding) { prefixToUri.put(binding.getPrefix(), binding.getNamespaceURI()); return prefixToUri; } })); }
public static XmlNamespaceContext mk(XmlNamespaceBinding... bindings) { return mk($(bindings)); }
/** * Create a new empty catalog suitable to take properties from the standard DublinCore * namespaces {@link DublinCore#ELEMENTS_1_1_NS_URI} and {@link DublinCore#TERMS_NS_URI}. * <p> * Please note that neither a flavor nor a root tag is set. */ @Nonnull public static DublinCoreCatalog mkStandard() { final DublinCoreCatalog dc = new DublinCoreCatalog(); dc.addBindings(XmlNamespaceContext.mk( XmlNamespaceBinding.mk(ELEMENTS_1_1_NS_PREFIX, ELEMENTS_1_1_NS_URI), XmlNamespaceBinding.mk(TERMS_NS_PREFIX, TERMS_NS_URI))); return dc; }
private static DublinCoreCatalog mkOpencast(MediaPackageElementFlavor flavor) { final DublinCoreCatalog dc = mkStandard(); dc.setFlavor(flavor); dc.addBindings(XmlNamespaceContext.mk( // Opencast property namespace XmlNamespaceBinding.mk(OC_PROPERTY_NS_PREFIX, OC_PROPERTY_NS_URI), // Opencast root tag XmlNamespaceBinding.mk(XMLConstants.DEFAULT_NS_PREFIX, OC_DC_CATALOG_NS_URI))); //XMLSchema-instance namespace xsi XmlNamespaceBinding.mk(XSI_NS_PREFIX, W3C_XML_SCHEMA_INSTANCE_NS_URI); dc.setRootTag(OC_DC_CATALOG_ROOT_ELEMENT); return dc; } }