- From: Jim Barnett <1jhbarnett@gmail.com>
- Date: Sun, 08 Feb 2015 18:19:17 -0500
- To: www-voice@w3.org
Ate, Thanks for noticing this. I will look into it. - Jim On 2/8/2015 5:22 PM, Ate Douma wrote: > Hi, > > I think I detected the following incorrect XPath expression in IR test > 153 > > The scxml test document generated by the confXPath.xsl stylesheet > contains the following datamodel: > > <datamodel> > <data id="Var1" expr="0"/> > <data id="Var2"/> > <data id="Var3"> > <node xmlns="">1</node><node xmlns="">2</node><node > xmlns="">3</node> > </data> > <data id="Var4" expr="1"/> > </datamodel> > > and the following <foreach> element: > > <foreach item="Var2" array="$Var3/*"> > <if cond="$Var1/text() <$Var2/text() "> > <assign location="$Var1" expr="$Var2/text()"/> > <else/> > <!-- values are out of order, record failure --> > <assign location="$Var4" expr="0"/> > </if> > </foreach> > > The "Var2/text()" xpath expressions in the if condition check and the > assignment value expression above are not valid/usable in this context. > > The foreach element will assign each of the Var3 <node>x</node> > children to the Var2 variable, and the Var2 variable (its data node) > thus will contains no (direct) text node children, only a (single) > "node" child. > > To access the actual text value of that "node" child, the expression > must be: "$Var2/*/text()" or if desired "$Var2/node[1]/text()". > > > And IMO a similar incorrect xpath expression, although produced > differently and in different context, exists in test 155 where: > > expr="$Var1/text() + $Var2/text()" > > should be: > > expr="$Var1/text() + $Var2/*/text()" > or > expr="$Var1/text() + $Var2/node[1]/text()" > > to produce the correct result. > > > Thanks, Ate >
Received on Sunday, 8 February 2015 23:19:45 UTC