/** * Bind a variable to an object that can be used to refer to it * @param qName the name of the variable * @return a VariableDeclaration object that can be used to identify it in the Bindery * @throws XPathException if the variable has not been declared */ public VariableReference bindVariable(StructuredQName qName) throws XPathException { XSLVariableDeclaration xslVariableDeclaration = element.bindVariable(qName); VariableReference var = (xslVariableDeclaration.isGlobal() ? new VariableReference() : new LocalVariableReference()); xslVariableDeclaration.registerReference(var); return var; }
public void validate() throws XPathException { super.validate(); XSLVariableDeclaration declaration; try { declaration = bindVariable(getVariableQName()); declaration.registerReference(instruction); requiredType = declaration.getRequiredType(); } catch (XPathException err) { // variable not declared compileError(err.getMessage()); return; } if (!declaration.isAssignable()) { compileError("Variable " + getVariableDisplayName() + " is not marked as assignable"); } if (!declaration.isGlobal()) { compileError("saxon:assign now works only with global variables"); } }
public void validate() throws XPathException { super.validate(); XSLVariableDeclaration declaration; try { declaration = bindVariable(getVariableQName()); declaration.registerReference(instruction); requiredType = declaration.getRequiredType(); } catch (XPathException err) { // variable not declared compileError(err.getMessage()); return; } if (!declaration.isAssignable()) { compileError("Variable " + getVariableDisplayName() + " is not marked as assignable"); } if (!declaration.isGlobal()) { compileError("saxon:assign now works only with global variables"); } }