/// <summary> /// Set the value of a stylesheet parameter. /// </summary> /// <param name="name">The name of the parameter, expressed /// as a QName. If a parameter of this name has been declared in the /// stylesheet, the given value will be assigned to the variable. If the /// variable has not been declared, calling this method has no effect (it is /// not an error).</param> /// <param name="value">The value to be given to the parameter. /// If the parameter declaration defines a required type for the variable, then /// this value will be converted in the same way as arguments to function calls /// (for example, numeric promotion is applied).</param> public void SetParameter(QName name, XdmValue value) { controller.setParameter(name.ClarkName, value.Unwrap()); }
/// <summary> /// Set the value of a variable /// </summary> /// <param name="name">The name of the variable. This must match the name of a variable /// that was declared to the XPathCompiler. No error occurs if the expression does not /// actually reference a variable with this name.</param> /// <param name="value">The value to be given to the variable.</param> public void SetVariable(QName name, XdmValue value) { JXPathVariable var = null; String uri = (name.Uri == null ? "" : name.Uri); String local = name.LocalName; foreach (JXPathVariable v in declaredVariables) { String vuri = v.getVariableQName().getURI(); if (vuri == null) { vuri = ""; } if (vuri == uri && v.getVariableQName().getLocalPart() == local) { var = v; break; } } if (var == null) { // TODO: this seems to conflict with the documentation of the method throw new ArgumentException("Variable has not been declared: " + name); } dynamicContext.setVariable(var, value.Unwrap()); }
/// <summary> /// Set the value of a variable /// </summary> public void SetVariable(QName name, XdmValue value) { int slot = env.getSlotNumber(name.ToQNameValue()); if (slot == -1) { throw new ArgumentException("Variable has not been declared: " + name); } variableValues[slot] = value.Unwrap(); }
/// <summary> /// Set the value of an external variable declared in the query. /// </summary> /// <param name="name">The name of the external variable, expressed /// as a QName. If an external variable of this name has been declared in the /// query prolog, the given value will be assigned to the variable. If the /// variable has not been declared, calling this method has no effect (it is /// not an error).</param> /// <param name="value">The value to be given to the external variable. /// If the variable declaration defines a required type for the variable, then /// this value must match the required type: no conversions are applied.</param> public void SetExternalVariable(QName name, XdmValue value) { context.setParameter(name.ClarkName, value.Unwrap()); }
/// <summary> /// Set the value of a stylesheet parameter. /// </summary> /// <param name="name">The name of the parameter, expressed /// as a QName. If a parameter of this name has been declared in the /// stylesheet, the given value will be assigned to the variable. If the /// variable has not been declared, calling this method has no effect (it is /// not an error).</param> /// <param name="value">The value to be given to the parameter. /// If the parameter declaration defines a required type for the variable, then /// this value will be converted in the same way as arguments to function calls /// (for example, numeric promotion is applied).</param> public void SetParameter(QName name, XdmValue value) { controller.setParameter(name.ClarkName, value.Unwrap()); }