Search in sources :

Example 1 with XSLParam

use of com.icl.saxon.style.XSLParam in project intellij-community by JetBrains.

the class SaxonFrameImpl method addVariables.

void addVariables(StyleElement element, ArrayList<Debugger.Variable> variables, Enumeration enumeration, boolean isGlobal) {
    final Context context = myContext;
    final StaticContext ctx = context.getStaticContext();
    final NamePool pool = element.getNamePool();
    final Bindery bindery = context.getBindery();
    while (enumeration.hasMoreElements()) {
        String name = (String) enumeration.nextElement();
        try {
            final String[] parts = name.split("\\^");
            final String realname = parts[1];
            final int fingerprint = ctx != null ? ctx.getFingerprint(realname, false) : pool.getFingerprint(parts[0], realname);
            final Binding binding = element.getVariableBinding(fingerprint);
            final Debugger.Variable.Kind kind = binding instanceof XSLParam ? Debugger.Variable.Kind.PARAMETER : Debugger.Variable.Kind.VARIABLE;
            final com.icl.saxon.expr.Value value = bindery.getValue(binding, myFrameId);
            if (binding instanceof XSLGeneralVariable) {
                final XSLGeneralVariable v = (XSLGeneralVariable) binding;
                final String id = v.getSystemId();
                variables.add(new VariableImpl(realname, convertValue(value), isGlobal, kind, id != null ? id.replaceAll(" ", "%20") : null, v.getLineNumber()));
            } else {
                variables.add(new VariableImpl(realname, convertValue(value), isGlobal, kind, null, -1));
            }
        } catch (XPathException e) {
            // this should never happen I guess...
            e.printStackTrace();
        }
    }
}
Also used : ExpressionContext(com.icl.saxon.style.ExpressionContext) Context(com.icl.saxon.Context) Binding(com.icl.saxon.Binding) XSLGeneralVariable(com.icl.saxon.style.XSLGeneralVariable) Bindery(com.icl.saxon.Bindery) XSLParam(com.icl.saxon.style.XSLParam) VariableImpl(org.intellij.plugins.xsltDebugger.rt.engine.local.VariableImpl) com.icl.saxon.expr(com.icl.saxon.expr) XSLGeneralVariable(com.icl.saxon.style.XSLGeneralVariable)

Aggregations

Bindery (com.icl.saxon.Bindery)1 Binding (com.icl.saxon.Binding)1 Context (com.icl.saxon.Context)1 com.icl.saxon.expr (com.icl.saxon.expr)1 ExpressionContext (com.icl.saxon.style.ExpressionContext)1 XSLGeneralVariable (com.icl.saxon.style.XSLGeneralVariable)1 XSLParam (com.icl.saxon.style.XSLParam)1 VariableImpl (org.intellij.plugins.xsltDebugger.rt.engine.local.VariableImpl)1