Ich habe eine Tabelle von Projekten in SharePoint 2010 erstellt. Ich versuche, Berichte für die Verwaltung zu erstellen und müssen die Anzahl der verschiedenen Felder erhalten. Ich habe xsl verwendet, um die Werte von Feldern zu erhalten, wenn ich einzelne Elemente anschaue, also bin ich ziemlich vertraut mit der Sprache. Ich kann jedoch keine gute Erklärung für die Syntax zum Zählen mehrerer Elemente finden.xsl Zählen und Xpath-Syntax
Ich habe eine Tabelle wie folgt aus:
<table>
<tr>
<th class="ms-vb2">
Project Title
</th>
<th class="ms-vb2">
Project Leader
</th>
<th class="ms-vb2">
Project Status
</th>
</tr>
<tr>
<td class="ms-vb2">
Project Title 1
</td>
<td class="ms-vb2">
Project Leader 1
</td>
<td class="ms-vb2">
Completed
</td>
</tr>
<tr>
<td class="ms-vb2">
Project Title 2
</td>
<td class="ms-vb2">
Project Leader 1
</td>
<td class="ms-vb2">
Withdrawn
</td>
</tr>
<tr>
<td class="ms-vb2">
Project Title 3
</td>
<td class="ms-vb2">
Project Leader 2
</td>
<td class="ms-vb2">
Completed
</td>
</tr>
<!--About 100 more rows-->
</table>
Es gibt eine Menge von Verschachtelung los, so dass ich habe Schwierigkeiten bestimmte Bereiche gezielt und ich habe sehr wenig Kontrolle über den HTML-Code aufgrund dieser durch erzeugt wird SharePoint. Hier
ist die Berichtstabelle I mit XSL zu schaffen versuchen:
<table id="FourBlockerHead" class="ClearBlockFloat">
<tr>
<th>Completed Count</th>
<th>Withdrawn Count</th>
<th>On Hold Count</th>
</tr>
<tr>
<td>
<xsl:value-of select="count(../td[@ms-vb2='Completed'])" /><!--Should be 2-->
</td>
<td>
<xsl:value-of select="count(../td[@ms-vb2='Withdrawn'])" /><!--Should be 1-->
</td>
<td>
<xsl:value-of select="count(../td[@ms-vb2='On Hold'])" /><!--Should be 0-->
</td>
</tr>
</table>
Ich weiß, es ist ein Problem mit meiner XPath-Syntax, aber ich kann es nicht herausgefunden.
Können Sie eine Kopie von dem, was die Quelle XML aussieht? Oder versuchen Sie, HTML als XML zu verarbeiten und XSL darauf anzuwenden? – Stevangelista
@Ryan Sie nicht in eckigen Klammern schließen – splash58
@Stevangelista Das könnte tatsächlich mein Problem sein. Können Sie XSL nicht auf HTML anwenden? Ich habe eine andere Seite, die auf bestimmte Felder (im selben SharePoint) zugreift und sie zu einer schönen Präsentationsseite formatiert. Also dachte ich mir, dass ich XSL auch so verwenden könnte. Mein langfristiger Plan besteht darin, diese "Zählungen" in Kombination mit anderen zu verwenden, um Balken- und Diagrammdiagramme mit JavaScript zu erstellen. – Ryan