/** Create a default <code>NamespaceContext</code>. * * @return a default <code>NamespaceContext</code> instance */ protected NamespaceContext createNamespaceContext() { return new SimpleNamespaceContext(); }
/** * Adds all the namespace declarations that are in scope on the given * element. In the case of an XSLT stylesheet, this would be the element * that has the XPath expression in one of its attributes; e.g. * <code><xsl:if test="condition/xpath/expression"></code>. * * @param nav the navigator for use in conjunction with * <code>element</code> * @param element the element to copy the namespaces from * @throws UnsupportedAxisException if the navigator does not support the * namespace axis */ public void addElementNamespaces( Navigator nav, Object element ) throws UnsupportedAxisException { Iterator namespaceAxis = nav.getNamespaceAxisIterator( element ); while ( namespaceAxis.hasNext() ) { Object namespace = namespaceAxis.next(); String prefix = nav.getNamespacePrefix( namespace ); String uri = nav.getNamespaceStringValue( namespace ); if ( translateNamespacePrefixToUri(prefix) == null ) { addNamespace( prefix, uri ); } } }
private static List findElements(OMElement elem, String expression) throws WSSecurityException { try { XPath xp = new AXIOMXPath(expression); //Set namespaces SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace(WSConstants.ENC_PREFIX,WSConstants.ENC_NS); nsCtx.addNamespace(WSConstants.SIG_PREFIX,WSConstants.SIG_NS); nsCtx.addNamespace(WSConstants.WSSE_PREFIX,WSConstants.WSSE_NS); nsCtx.addNamespace(WSConstants.WSU_PREFIX,WSConstants.WSU_NS); xp.setNamespaceContext(nsCtx); return xp.selectNodes(elem); } catch (JaxenException e) { throw new WSSecurityException(e.getMessage(), e); } }
if ( nsContext instanceof SimpleNamespaceContext ) ((SimpleNamespaceContext)nsContext).addNamespace( prefix, uri ); return;
String uri = super.translateNamespacePrefixToUri(prefix); if (uri == null) { Object ctx = currentContext;
public List evaluateXpath(String xpathExpression, Object element, String nsURI) throws Exception { AXIOMXPath xpath = new AXIOMXPath(xpathExpression); if (nsURI != null) { SimpleNamespaceContext nsContext = new SimpleNamespaceContext(); nsContext.addNamespace(null, nsURI); xpath.setNamespaceContext(nsContext); } return xpath.selectNodes(element); }
/** * Namespace context resolver * * @param context namespace context * @param element SOAP message element */ protected void addNamespaces(SimpleNamespaceContext context, SOAPElement element) { Iterator namespaces = element.getNamespacePrefixes(); while (namespaces.hasNext()) { String prefix = (String) namespaces.next(); String uri = element.getNamespaceURI(prefix); context.addNamespace(prefix, uri); } }
public void setNamespaceURIs(Map<String, String> map) { setNamespaceContext(new SimpleNamespaceContext(map)); }
public static void optimize(SOAPEnvelope env, List<String> expressions, Map namespaces) throws RampartException { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace(WSConstants.ENC_PREFIX,WSConstants.ENC_NS); nsCtx.addNamespace(WSConstants.SIG_PREFIX,WSConstants.SIG_NS); nsCtx.addNamespace(WSConstants.WSSE_PREFIX,WSConstants.WSSE_NS); nsCtx.addNamespace(WSConstants.WSU_PREFIX,WSConstants.WSU_NS); Iterator keys = namespaces.keySet().iterator(); while(keys.hasNext()){ String strPrefix = (String)keys.next(); String strNS = (String)namespaces.get(strPrefix); nsCtx.addNamespace(strPrefix,strNS); } try { for (String exp : expressions) { XPath xp = new AXIOMXPath(exp); xp.setNamespaceContext(nsCtx); List list = xp.selectNodes(env); for (Object aList : list) { OMElement element = (OMElement) aList; OMText text = (OMText) element.getFirstOMChild(); text.setOptimize(true); } } } catch (JaxenException e) { throw new RampartException("Error in XPath ", e); } }
protected ContextSupport getContextSupport() { return new ContextSupport(new SimpleNamespaceContext(), XPathFunctionContext.getInstance(), new SimpleVariableContext(), DocumentNavigator.getInstance()); }
public OMElement[] getElements(String xPath) { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace("ns", serverNamespace); try { XPath xp = new AXIOMXPath(xPath); xp.setNamespaceContext(nsCtx); OMElement elem = builder.getDocumentElement(); if (elem != null) { List nodeList = xp.selectNodes(elem); return (OMElement[]) nodeList.toArray(new OMElement[nodeList.size()]); } } catch (JaxenException e) { throw new RuntimeException("XPath expression " + xPath + " failed", e); } return new OMElement[0]; } }
public void setNamespaceURIs(Map<String, String> map) { setNamespaceContext(new SimpleNamespaceContext(map)); }
public OMElement[] getElements(String xPath) { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace("ns", serverNamespace); try { XPath xp = new AXIOMXPath(xPath); xp.setNamespaceContext(nsCtx); OMElement elem = builder.getDocumentElement(); if (elem != null) { List nodeList = xp.selectNodes(elem); return (OMElement[]) nodeList.toArray(new OMElement[nodeList.size()]); } } catch (JaxenException e) { throw new RuntimeException("XPath expression " + xPath + " failed", e); } return new OMElement[0]; } }
public void setNamespaceURIs(Map map) { setNamespaceContext(new SimpleNamespaceContext(map)); }
public String getUniqueValue(String xPath) { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace("ns", serverNamespace); try { XPath xp = new AXIOMXPath(xPath); xp.setNamespaceContext(nsCtx); OMElement elem = builder.getDocumentElement(); if (elem != null) { List nodeList = xp.selectNodes(elem); Object obj; if (!nodeList.isEmpty() && ((obj = nodeList.get(0)) != null)) { return ((OMElement) obj).getText(); } } } catch (JaxenException e) { throw new RuntimeException("XPath expression " + xPath + " failed", e); } return null; }
public void setNamespaceURIs(Map map) { setNamespaceContext(new SimpleNamespaceContext(map)); }
public String getUniqueValue(String xPath) { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace("ns", serverNamespace); try { XPath xp = new AXIOMXPath(xPath); xp.setNamespaceContext(nsCtx); OMElement elem = builder.getDocumentElement(); if (elem != null) { List nodeList = xp.selectNodes(elem); Object obj; if (!nodeList.isEmpty() && ((obj = nodeList.get(0)) != null)) { return ((OMElement) obj).getText(); } } } catch (JaxenException e) { throw new RuntimeException("XPath expression " + xPath + " failed", e); } return null; }
public void setNamespaceURIs(Map map) { setNamespaceContext(new SimpleNamespaceContext(map)); }
public OMElement[] getElements(String xPath) { SimpleNamespaceContext nsCtx = new SimpleNamespaceContext(); nsCtx.addNamespace("ns", serverNamespace); try { XPath xp = new AXIOMXPath(xPath); xp.setNamespaceContext(nsCtx); OMElement elem = builder.getDocumentElement(); if (elem != null) { List nodeList = xp.selectNodes(elem); return (OMElement[]) nodeList.toArray(new OMElement[nodeList.size()]); } } catch (JaxenException e) { throw new RuntimeException("XPath expression " + xPath + " failed", e); } return new OMElement[0]; } }
public void setNamespaceURIs(Map map) { setNamespaceContext(new SimpleNamespaceContext(map)); }