Сообщения

Показаны сообщения с ярлыком "XPath"

Visual Studio The Watch window bug for XPath.

Ну надо же, как приятно снова встретить старинный баг, плавно перекачевавшый теперь уже в Visual Studio 2010. Окно Watch не умеет интерпретировать XPath выражения содержащие &lt; и подобрые вещи, например выражение ServiceRow[position() &lt; = $Count] в окне Watch отобразиться как недопустимое. Полностью в XSLT файле это выглядит вот так: <xsl:variable name="MyVar" select=" ServiceRow[position() &lt; = $Count] "/> В тоже время то, что будет работать в Watch, нельзя вставить в XSLT / XPath, т.к. является некорректным XML: ServiceRow[position() <= $Count] Так что не профукайте ваше время впустую. Лично мой давний запрос, по поводу этого бага, тех. поддержка Microsoft плавненько слила. :)

XSLT и XPath баг в MSXML 4.0.

Нашел баг XSLT и XPath в MSXML 4 . Видимо в версиях ниже он тоже есть. Если в XSLT-переменную xsl:variable положить набор нод, полученный с помощью XPath выражения preceding-sibling , то набор строк (Node Set) в этой переменной будет храниться не в том порядке, в котором он представлен в XML. Вроде, порядок нод будет обратный тогда. При этом, если перебирать Node Set напрямую в xsl:for-each, без присвоения набора в переменную xsl:variable, то все будет работать правильно. Утверждать не стану, т.к. уже не помню точно, но вроде это так. Получается в MSXML 4, preceding-sibling можно использовать только для получения количества элементов в наборе нод или для прямого перебора, но не для выборки элементов в переменную. Проиллюстрирую баг кодом. В следующей переменной FirstSecondThirdTables.Rows получим набор элементов ServiceRow, лежащих до ноды из переменной $FourthTable.Rows.Fi...