Re: [Xsltforms-support] parsing XPath expressions
Brought to you by:
alain-couthures
From: COUTHURES A. <ala...@ag...> - 2009-11-27 20:40:33
|
Hello Christophe, As you probably already know XPath parsing is performed with XSLT 1.0 in XSLTForms. This is clearly the most complex part of it and not everything is perfect yet... > > XSLTForms Exception > -------------------------- > > Error parsing the following XPath expression : > > if(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/selected='true', > concat(.,instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' '), concat(substring-before(. > ,concat(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' ') ), substring-after ( > .,concat(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' ')))) > > Unknown operator at ' ( > .,concat(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' '))))' in > 'if(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/selected='true', > concat(.,instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' '), concat(substring-before(. > ,concat(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' ') ), substring-after ( > .,concat(instance('search_indicator')/searchResult/hit[position()=index('repeat_all_search_indicator')]/id, > ' '))))' > There is a white space between "substring-after" and "(". > > XSLTForms Exception > -------------------------- > > Error parsing the following XPath expression : > > if(string-length(.) = 0 > ,(if(../preceding-sibling::*[1]/position[1],../preceding-sibling::*[1]/position[1] > + 1 ,1)), .) > > Unknown operator at > ':*[1]/position[1],../preceding-sibling::*[1]/position[1] + 1 ,1)), > .)' in 'if(string-length(.) = 0 > ,(if(../preceding-sibling::*[1]/position[1],../preceding-sibling::*[1]/position[1] > + 1 ,1)), .)' Axes are not yet supported. It shouldn't require a lot of time to implement them in XSLTForms, considering that the Javascript part (inherited from AJAXForms) can already treat them. Thank you for testing XSLTForms! -Alain |