Я создаю страницу результатов поиска Sharepoint, чтобы найти ответы на вопросы, заданные сторонним инструментом. У меня есть подключение bdc к их sql db. Я сканирую только один стол в db. Мне нужно объединить результаты вопросов и ответов, используя метод muenchian, используя несколько столбцов в одной таблице. Я не могу изменить db, поэтому мне нужно собрать результаты в поиске, чтобы быть чем-то значимым. Эта таблица содержит все записи заданных вопросов и ответы. я должен связать их вместе для нас с помощью поиска в качестве приложения, чтобы представить Q & обзорПроблемы с группировкой Muenchian
данных: Каждая запись возвращается в основных результатах поиска имеет: название - это вопрос или ответ activityid (int) - уникальный идентификатор записи activitytypeid (int) - они идентифицируют, если его Q или A/79 или 82 parentid (int) - это значение содержит actionid исходного вопроса - если запись исходный вопрос, он будет иметь значение 0 для этого столбца. isanswer (boolean) true или ничего (это своего рода избыточность и делает то же самое, что и activitytypeid, но я не был уверен, могу ли я использовать его, чтобы помочь с th е группировка)
Обзор activitype идентификатор либо: 79 - вопрос просят - это будет иметь ParentID от 0 или 2 - ответ на вопрос - это будет иметь родительский идентификатор, совпадающий с ActivityID оригинального вопроса
Я стараюсь, но без особого успеха, чтобы получить результаты поиска, сгруппированные/отсортированные, чтобы вопрос был возвращен первым. В приведенном ниже примере это будет activityid 19142, и ответы на вопрос, отложенный под ним, сгруппированы в набор
Любая помощь в рассмотрении моего взлома при этом или примерах будет замечательной.
Я просто пытаюсь понять xsl, и это была большая кривая обучения. Мне предстоит пройти долгий путь, и, конечно же, он вскочил в глубину.
сырых XML результатов я в настоящее время получить без форматирования результатов
<All_Results>
<Result>
<id>1</id>
<title>Original Question</title>
<isanswer></isanswer>
<parentid>0</parentid>
<activitytype>79</activitytype>
<activityid>19142</activityid>
</Result>
<Result>
<id>2</id>
<title>Answer to original question</title>
<isanswer>true</isanswer>
<parentid>19142</parentid>
<activitytype>82</activitytype>
<activityid>19146</activityid>
</Result>
<Result>
<id>3</id>
<title>Another Question</title>
<isanswer></isanswer>
<parentid>0</parentid>
<activitytype>79</activitytype>
<activityid>19200</activityid>
<Result>
<Result>
<id>4</id>
<title>Second answer to original question</title>
<isanswer>true</isanswer>
<parentid>19142</parentid>
<activitytype>82</activitytype>
<activityid>19199</activityid>
</Result>
<Result>
<id>5</id>
<title>and another Question</title>
<isanswer></isanswer>
<parentid>0</parentid>
<activitytype>79</activitytype>
<activityid>19254</activityid>
<Result>
<Result>
<id>6</id>
<title>Answer to another question</title>
<isanswer>true</isanswer>
<parentid>19200</parentid>
<activitytype>82</activitytype>
<activityid>19265</activityid>
</Result>
</All_Results>
Выхода Ищу бы все ответы, сгруппированные с соответствующим вопросом, это очень упрощенное, но я думаю, что получить с точкой ввода Я тоже пытаюсь.
<All_Results>
<Result>
<title>Original Question</title>
<title>Answer to original question</title>
<title>Second answer to original question</title>
</Result>
<Result>
<title>Another Question</title>
<title>Answer to another question</title>
</Result>
</All_Results>
мои попытки шаблона
<xsl:template match="All_Results">
<xsl:for-each select="Result[count(. | key('QAsked', 'activityid')[1]) > 0]">
<xsl:sort select="questionasked" />
<xsl:value-of select="title" /><br />
<xsl:value-of select="questionasked" /><br />
<xsl:value-of select="activityid" /><br /><br />
<xsl:for-each select="key('QAsked', '82')">
<xsl:sort select="questionasked" />
<xsl:if test="normalize-space(questionasked) = '82'"></xsl:if><br />
<xsl:value-of select="questionasked" /><br />
<xsl:value-of select="originalquestion" /><br />
<xsl:value-of select="likes" /><br /><br />
</xsl:for-each>
</xsl:for-each>
</xsl:template>
Пожалуйста, разместите свой xsl-код. –
, который не слишком хорошо форматировал – user3236389
Почему вы предоставляете фиксированный ключ для второго для каждого? Он должен быть ключевым («QAsked», запрошенным). Также, пожалуйста, опубликуйте вывод этого преобразования xslt. –