Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Inside the template that match <code>/*</code> your context (following the schema you've privided) is <code>PercentTimeReport</code> root element. It seems that you want to iterate trougth child elements of <code>PercentTimeReport/Items/Item</code>.</p> <p>So change:</p> <pre><code>&lt;xsl:for-each select="*[position() = 1]/*"&gt; </code></pre> <p>For:</p> <pre><code>&lt;xsl:for-each select="Items/Item[1]/*"&gt; </code></pre> <p>And this:</p> <pre><code>&lt;xsl:apply-templates/&gt; </code></pre> <p>For:</p> <pre><code>&lt;xsl:apply-templates select="Items/Item"/&gt; </code></pre> <p>And this patterns:</p> <pre><code>&lt;xsl:template match="/*/*"&gt; &lt;xsl:template match="/*/*/*"&gt; </code></pre> <p>For:</p> <pre><code>&lt;xsl:template match="Item"&gt; &lt;xsl:template match="Item/*"&gt; </code></pre> <p><strong>Edit</strong>: This input (following schema)</p> <pre><code>&lt;PercentTimeReport&gt; &lt;ParamStartDate&gt;ParamStartDate&lt;/ParamStartDate&gt; &lt;ParamEndDate&gt;ParamEndDate&lt;/ParamEndDate&gt; &lt;ParamQuarterInt&gt;ParamQuarterInt&lt;/ParamQuarterInt&gt; &lt;ParamProjID&gt;ParamProjID&lt;/ParamProjID&gt; &lt;ParamStaffID&gt;ParamStaffID&lt;/ParamStaffID&gt; &lt;ParamPercentRange&gt;ParamPercentRange&lt;/ParamPercentRange&gt; &lt;Items&gt; &lt;Item&gt; &lt;ID&gt;ID1&lt;/ID&gt; &lt;EmployeeName&gt;EmployeeName1&lt;/EmployeeName&gt; &lt;StaffID&gt;StaffID1&lt;/StaffID&gt; &lt;Status&gt;Status1&lt;/Status&gt; &lt;Date&gt;Date1&lt;/Date&gt; &lt;Department&gt;Department1&lt;/Department&gt; &lt;DepartmentCode&gt;DepartmentCode1&lt;/DepartmentCode&gt; &lt;Project&gt;Project1&lt;/Project&gt; &lt;ProjectID&gt;ProjectID1&lt;/ProjectID&gt; &lt;Hours&gt;Hours1&lt;/Hours&gt; &lt;HoursPerWeek&gt;HoursPerWeek1&lt;/HoursPerWeek&gt; &lt;PercentTime&gt;PercentTime1&lt;/PercentTime&gt; &lt;ActualContact&gt;ActualContact1&lt;/ActualContact&gt; &lt;Body&gt;Body1&lt;/Body&gt; &lt;Issue&gt;Issue1&lt;/Issue&gt; &lt;Activity&gt;Activity1&lt;/Activity&gt; &lt;/Item&gt; &lt;Item&gt; &lt;ID&gt;ID2&lt;/ID&gt; &lt;EmployeeName&gt;EmployeeName2&lt;/EmployeeName&gt; &lt;StaffID&gt;StaffID2&lt;/StaffID&gt; &lt;Status&gt;Status2&lt;/Status&gt; &lt;Date&gt;Date2&lt;/Date&gt; &lt;Department&gt;Department2&lt;/Department&gt; &lt;DepartmentCode&gt;DepartmentCode2&lt;/DepartmentCode&gt; &lt;Project&gt;Project2&lt;/Project&gt; &lt;ProjectID&gt;ProjectID2&lt;/ProjectID&gt; &lt;Hours&gt;Hours2&lt;/Hours&gt; &lt;HoursPerWeek&gt;HoursPerWeek2&lt;/HoursPerWeek&gt; &lt;PercentTime&gt;PercentTime2&lt;/PercentTime&gt; &lt;ActualContact&gt;ActualContact2&lt;/ActualContact&gt; &lt;Body&gt;Body2&lt;/Body&gt; &lt;Issue&gt;Issue2&lt;/Issue&gt; &lt;Activity&gt;Activity2&lt;/Activity&gt; &lt;/Item&gt; &lt;Item&gt; &lt;ID&gt;ID3&lt;/ID&gt; &lt;EmployeeName&gt;EmployeeName3&lt;/EmployeeName&gt; &lt;StaffID&gt;StaffID3&lt;/StaffID&gt; &lt;Status&gt;Status3&lt;/Status&gt; &lt;Date&gt;Date3&lt;/Date&gt; &lt;Department&gt;Department3&lt;/Department&gt; &lt;DepartmentCode&gt;DepartmentCode3&lt;/DepartmentCode&gt; &lt;Project&gt;Project3&lt;/Project&gt; &lt;ProjectID&gt;ProjectID3&lt;/ProjectID&gt; &lt;Hours&gt;Hours3&lt;/Hours&gt; &lt;HoursPerWeek&gt;HoursPerWeek3&lt;/HoursPerWeek&gt; &lt;PercentTime&gt;PercentTime3&lt;/PercentTime&gt; &lt;ActualContact&gt;ActualContact3&lt;/ActualContact&gt; &lt;Body&gt;Body3&lt;/Body&gt; &lt;Issue&gt;Issue3&lt;/Issue&gt; &lt;Activity&gt;Activity3&lt;/Activity&gt; &lt;/Item&gt; &lt;Item&gt; &lt;ID&gt;ID4&lt;/ID&gt; &lt;EmployeeName&gt;EmployeeName4&lt;/EmployeeName&gt; &lt;StaffID&gt;StaffID4&lt;/StaffID&gt; &lt;Status&gt;Status4&lt;/Status&gt; &lt;Date&gt;Date4&lt;/Date&gt; &lt;Department&gt;Department4&lt;/Department&gt; &lt;DepartmentCode&gt;DepartmentCode4&lt;/DepartmentCode&gt; &lt;Project&gt;Project4&lt;/Project&gt; &lt;ProjectID&gt;ProjectID4&lt;/ProjectID&gt; &lt;Hours&gt;Hours4&lt;/Hours&gt; &lt;HoursPerWeek&gt;HoursPerWeek4&lt;/HoursPerWeek&gt; &lt;PercentTime&gt;PercentTime4&lt;/PercentTime&gt; &lt;ActualContact&gt;ActualContact4&lt;/ActualContact&gt; &lt;Body&gt;Body4&lt;/Body&gt; &lt;Issue&gt;Issue4&lt;/Issue&gt; &lt;Activity&gt;Activity4&lt;/Activity&gt; &lt;/Item&gt; &lt;/Items&gt; &lt;/PercentTimeReport&gt; </code></pre> <p>With this stylesheet (Yours plus my changes)</p> <pre><code>&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"&gt; &lt;xsl:template match="/"&gt; &lt;Workbook&gt; &lt;xsl:apply-templates/&gt; &lt;/Workbook&gt; &lt;/xsl:template&gt; &lt;xsl:template match="/*"&gt; &lt;Worksheet&gt; &lt;xsl:attribute name="ss:Name"&gt; &lt;xsl:value-of select="local-name(/*/*)"/&gt; &lt;/xsl:attribute&gt; &lt;Table x:FullColumns="1" x:FullRows="1"&gt; &lt;Row&gt; &lt;xsl:for-each select="Items/Item[1]/*"&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt; &lt;xsl:value-of select="local-name()"/&gt; &lt;/Data&gt; &lt;/Cell&gt; &lt;/xsl:for-each&gt; &lt;/Row&gt; &lt;xsl:apply-templates select="Items/Item"/&gt; &lt;/Table&gt; &lt;/Worksheet&gt; &lt;/xsl:template&gt; &lt;xsl:template match="Item"&gt; &lt;Row&gt; &lt;xsl:apply-templates/&gt; &lt;/Row&gt; &lt;/xsl:template&gt; &lt;xsl:template match="Item/*"&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt; &lt;xsl:value-of select="."/&gt; &lt;/Data&gt; &lt;/Cell&gt; &lt;/xsl:template&gt; &lt;/xsl:stylesheet&gt; </code></pre> <p>Output:</p> <pre><code>&lt;Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"&gt; &lt;Worksheet ss:Name="ParamStartDate"&gt; &lt;Table x:FullColumns="1" x:FullRows="1"&gt; &lt;Row&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ID&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;EmployeeName&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;StaffID&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Status&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Date&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Department&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;DepartmentCode&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Project&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ProjectID&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Hours&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;HoursPerWeek&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;PercentTime&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ActualContact&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Body&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Issue&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Activity&lt;/Data&gt; &lt;/Cell&gt; &lt;/Row&gt; &lt;Row&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ID1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;EmployeeName1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;StaffID1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Status1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Date1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Department1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;DepartmentCode1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Project1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ProjectID1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Hours1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;HoursPerWeek1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;PercentTime1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ActualContact1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Body1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Issue1&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Activity1&lt;/Data&gt; &lt;/Cell&gt; &lt;/Row&gt; &lt;Row&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ID2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;EmployeeName2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;StaffID2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Status2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Date2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Department2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;DepartmentCode2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Project2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ProjectID2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Hours2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;HoursPerWeek2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;PercentTime2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ActualContact2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Body2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Issue2&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Activity2&lt;/Data&gt; &lt;/Cell&gt; &lt;/Row&gt; &lt;Row&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ID3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;EmployeeName3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;StaffID3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Status3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Date3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Department3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;DepartmentCode3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Project3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ProjectID3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Hours3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;HoursPerWeek3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;PercentTime3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ActualContact3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Body3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Issue3&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Activity3&lt;/Data&gt; &lt;/Cell&gt; &lt;/Row&gt; &lt;Row&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ID4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;EmployeeName4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;StaffID4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Status4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Date4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Department4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;DepartmentCode4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Project4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ProjectID4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Hours4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;HoursPerWeek4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;PercentTime4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;ActualContact4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Body4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Issue4&lt;/Data&gt; &lt;/Cell&gt; &lt;Cell&gt; &lt;Data ss:Type="String"&gt;Activity4&lt;/Data&gt; &lt;/Cell&gt; &lt;/Row&gt; &lt;/Table&gt; &lt;/Worksheet&gt; &lt;/Workbook&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload