rem: if (!expression.match(/^[\d\w\/@\[\]]*$/)) { 
add: if (!expression.match(/^[\d\w\/@\[\]=_\-']*$/)) { 
context: Freja.QueryEngine.SimplePath.prototype._find = function(document, expression) {	if (!expression.match(/^[\d\w\/@\[\]]*$/)) {		throw new Error("Can't evaluate expression " + expression);	}	var parts = expression.split(/\//);	var node = document;	var regAttr = new RegExp("^@([\\d\\w]*)");	var regOffset = new RegExp("^([@\\d\\w]*)\\[([\\d]*)\\]$");	var attr = null;	var offset = 0;	for (var i = 0; i < parts.length; ++i) {		var part = parts[i];		offset = regOffset.exec(part);		if (offset) {			part = offset[1];			offset = offset[2] - 1;		} else {			offset = 0;		}		if (part != "") {			attr = regAttr.exec(part);			if (attr) {				node = node.getAttributeNode(attr[1]);			} else {				node = node.getElementsByTagName(part).item(offset);			}		}	}	if (node && node.firstChild && node.firstChild.nodeType == 3) {		return node.firstChild;	} else if (node && node.firstChild && node.firstChild.nodeType == 4) {		return node.firstChild;	}	if (!node) {		throw new Error("Can't evaluate expression " + expression);	}	return node;};
meta: 8607	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8607/8b42fb2ed090da7f1e336726dcb69d2649658e7c/Freja.js/clean/trunk/lib/Freja.js