У меня есть пакет данных SP, который я преобразовал в XSLT, чтобы добавить заголовок, отображающий процент (Complete).
Прежде чем преобразовать dvwp в xslt, я добавил два заголовка count - один в поле Complete, а другой - в LastName. Они отлично работали, показывая мне # записей и # записей со значением в полном поле. Однако, когда я преобразовал dv в xslt, я понял, что потерял свои заголовки :(
Итак, я добавляю их обратно с помощью xslt. В настоящее время код XPath для уравнения, которое у меня есть, - <xsl:value-of select="count($Rows) div count($Rows)" />
.
Как мне получить общие # значений Да, которые находятся в моем поле полногоXSLT уравнение с использованием полей списка SP
Update1:
Найден этот http://www.endusersharepoint.com/STP/viewtopic.php?f=14&t=534 и попробовал, однако приводит к следующему error- Ошибке установки процессора таблицы стили: 0x80004005: Аргумент 1 должны возвращать набор узлов. -> count (/ dsQueryResponse/Rows/Row = 'Y') < -
UPDATE2:
Полное имя поля w/i my XSLT dataset. Тип возврата - Y или пробел. Для усмешек я попробовал <xsl:value-of select="count(/xpath/to/parent/element[@Complete eq 'Y']) div count($Rows)" />
, однако я получил следующую ошибку: Ошибка в таблице стилей процессора: 0x80004005: Ожидаемый токен ']' найден 'NAME'.count ((/ xpath/to/parent/element [@Complete -> eq < - -'Y ']) Количество ДИВА ($ Ряды) начинают думать, что может быть проблемой ж/'эк' .... Реферирование моих операторов XML ...
Update3:
<xsl:value-of select="count(/xpath/to/parent/element[@Complete = 'Y']) div count($Rows)" />
Хорошо, так что он все еще говорит 0, но я думаю, что причина, по которой он не показывает правильный ответ, - это b/c, он ожидает показать целое число и, очевидно, значение возвращаются из уравнения будут десятичным ... Было возились с уравнением в XPath ... вот что я tried-
count(/xpath/to/parent/element[@Complete = 'Y']) div count($Rows)*100
(count(/xpath/to/parent/element[@Complete = 'Y']) div count($Rows))*100
100(count(/xpath/to/parent/element[@Complete = 'Y']) div count($Rows))
UPDATE4:
Так что я знаю, что мое предыдущие подумал, что правильное число, не показывающее b/c, было плавающим, неверно, так как все числа в XPath и XSLT 1.0 являются поплавками. Reference
UPDATE5:
При дальнейшем исследовании, я обнаружил, что проблема заключается в count(/xpath/to/parent/element[@Complete = 'Y'])
части моего уравнения, так как это возвращает 0 вместо значения. [Я знаю, что есть по крайней мере 3 «Y» Vals в моем Complete седловине]
UPDATE6:
<records*>
<record*>
<last_name></last_name>
<first_name></first_name>
<mi></mi>
<office_symbol></office_symbol>
<geo_location></geo_location>
<complete></complete>
<date_complete></date_complete>
<date_expires></date_expires>
<email></email>
<supervisor></supervior>
</record*>
</records*>
* я не знаю, что эти узлы называются мои данные поступают из базы данных, а не файл XML, я только что сделал запись/записи
UPDATE7
Возвращаясь к моему первоначальному вопросу. Я все еще пытаюсь найти уравнение XPath для отображения числа родителей (запись в XML i, вышедшем выше), где полный узел = Y.
UPDATE8
Ok. Поэтому я редактировал и тестировал, используя http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_value-of. Рабочий XSLT для подсчета # of Complete = Y - <xsl:value-of select="count(catalog/cd [complete = 'Y'])" />
, так что я поставил ТОЧНО, что работает на W3schools в мой SP Dataview, и я ничего не получаю ... просто пустое пространство. Почему код не работает в моем SPDV?
Мне кажется, что вы используете XPath 2.0 в этом ответе. Однако XSLT-процессор, используемый Sharepoint, является (AFAIK) XSLT 1.0 и не поддерживает XPath 2.0. –
@ Murray- Я определил, что Complete является узлом элемента ... – jg100309