2016-05-27 60 views
1

我試圖使用XSL 2.0,這是收到的XMLXSL 2.0不同的值對每個不同的值環

<sprints> 
    <sprint> 
     <sprintid>260</sprintid> 
     <name>-</name> 
     <startdate>05-26-2016</startdate> 
     <enddate>06-09-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>6</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>56</biid> 
       <name>test14</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-23 13:45:21.0</createdat> 
       <updatedat>2016-05-23 13:45:21.0</updatedat> 
       <priority>0</priority> 
       <size>8</size> 
       <enddate>06-09-2016</enddate> 
      </item> 
     </items> 
     <testenddate>06-09-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      test14,story,,,8 
     </csv> 
    <sprint> 
     <sprintid>262</sprintid> 
     <name /> 
     <startdate>06-23-2016</startdate> 
     <enddate>07-07-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>59</biid> 
       <name>test689</name> 
       <description>-</description> 
       <targetdate>2017-05-23</targetdate> 
       <bid>5</bid> 
       <createdat>2016-05-23 13:53:21.0</createdat> 
       <updatedat>2016-05-23 19:12:20.0</updatedat> 
       <priority>1</priority> 
       <size>11</size> 
       <enddate>07-07-2016</enddate> 
      </item> 
      <item> 
       <biid>57</biid> 
       <name>sdfdsf</name> 
       <description>-</description> 
       <targetdate>2016-05-18</targetdate> 
       <bid>5</bid> 
       <createdat>2016-05-23 13:51:15.0</createdat> 
       <updatedat>2016-05-23 19:11:33.0</updatedat> 
       <priority>2</priority> 
       <size>11</size> 
       <enddate>07-07-2016</enddate> 
      </item> 
     </items> 
     <testenddate>07-07-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      test689,story,-,2017-05-23,11 
      sdfdsf,story,-,2016-05-18,11 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>263</sprintid> 
     <name /> 
     <startdate>07-07-2016</startdate> 
     <enddate>07-21-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>60</biid> 
       <name>test09</name> 
       <description>-</description> 
       <targetdate>2017-05-23</targetdate> 
       <bid>5</bid> 
       <createdat>2016-05-23 13:54:30.0</createdat> 
       <updatedat>2016-05-23 19:23:22.0</updatedat> 
       <priority>3</priority> 
       <size>2</size> 
       <enddate>07-21-2016</enddate> 
      </item> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>07-21-2016</enddate> 
      </item> 
     </items> 
     <testenddate>07-21-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      test09,story,-,2017-05-23,2 
      tets89,story,,,100 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>264</sprintid> 
     <name /> 
     <startdate>07-21-2016</startdate> 
     <enddate>08-04-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>08-04-2016</enddate> 
      </item> 
     </items> 
     <testenddate>08-04-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      tets89,story,,,100 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>265</sprintid> 
     <name /> 
     <startdate>08-04-2016</startdate> 
     <enddate>08-18-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>08-18-2016</enddate> 
      </item> 
     </items> 
     <testenddate>08-18-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      tets89,story,,,100 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>266</sprintid> 
     <name /> 
     <startdate>08-18-2016</startdate> 
     <enddate>09-01-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>09-01-2016</enddate> 
      </item> 
     </items> 
     <testenddate>09-01-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      tets89,story,,,100 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>267</sprintid> 
     <name /> 
     <startdate>09-01-2016</startdate> 
     <enddate>09-15-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>12</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>09-15-2016</enddate> 
      </item> 
     </items> 
     <testenddate>09-15-2016</testenddate> 
     <csv>Summary,IssueType,Description,DueDate,Story Points 
      tets89,story,,,100 
     </csv> 
    </sprint> 
    <sprint> 
     <sprintid>268</sprintid> 
     <name /> 
     <startdate>09-15-2016</startdate> 
     <enddate>09-29-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>September</enddate> 
      </item> 
     </items> 
     <testenddate>September</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>269</sprintid> 
     <name /> 
     <startdate>09-29-2016</startdate> 
     <enddate>10-13-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>October</enddate> 
      </item> 
     </items> 
     <testenddate>October</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>270</sprintid> 
     <name /> 
     <startdate>10-13-2016</startdate> 
     <enddate>10-27-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>88</biid> 
       <name>tets89</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 13:41:06.0</createdat> 
       <updatedat>2016-05-26 13:41:06.0</updatedat> 
       <priority>4</priority> 
       <size>100</size> 
       <enddate>October</enddate> 
      </item> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>October</enddate> 
      </item> 
     </items> 
     <testenddate>October</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>271</sprintid> 
     <name /> 
     <startdate>10-27-2016</startdate> 
     <enddate>11-10-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>November</enddate> 
      </item> 
     </items> 
     <testenddate>November</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>272</sprintid> 
     <name /> 
     <startdate>11-10-2016</startdate> 
     <enddate>11-24-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>November</enddate> 
      </item> 
     </items> 
     <testenddate>November</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>273</sprintid> 
     <name /> 
     <startdate>11-24-2016</startdate> 
     <enddate>12-08-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>December</enddate> 
      </item> 
     </items> 
     <testenddate>December</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>274</sprintid> 
     <name /> 
     <startdate>12-08-2016</startdate> 
     <enddate>12-22-2016</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>December</enddate> 
      </item> 
     </items> 
     <testenddate>December</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>275</sprintid> 
     <name /> 
     <startdate>12-22-2016</startdate> 
     <enddate>01-05-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>January</enddate> 
      </item> 
     </items> 
     <testenddate>January</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>278</sprintid> 
     <name /> 
     <startdate>02-02-2017</startdate> 
     <enddate>02-16-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q1</enddate> 
      </item> 
     </items> 
     <testenddate>Q1</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>279</sprintid> 
     <name /> 
     <startdate>02-16-2017</startdate> 
     <enddate>03-02-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q1</enddate> 
      </item> 
     </items> 
     <testenddate>Q1</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>280</sprintid> 
     <name /> 
     <startdate>03-02-2017</startdate> 
     <enddate>03-16-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q1</enddate> 
      </item> 
     </items> 
     <testenddate>Q1</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>281</sprintid> 
     <name /> 
     <startdate>03-16-2017</startdate> 
     <enddate>03-30-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q1</enddate> 
      </item> 
     </items> 
     <testenddate>Q1</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>282</sprintid> 
     <name /> 
     <startdate>03-30-2017</startdate> 
     <enddate>04-13-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>283</sprintid> 
     <name /> 
     <startdate>04-13-2017</startdate> 
     <enddate>04-27-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>284</sprintid> 
     <name /> 
     <startdate>04-27-2017</startdate> 
     <enddate>05-11-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>285</sprintid> 
     <name /> 
     <startdate>05-11-2017</startdate> 
     <enddate>05-25-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>286</sprintid> 
     <name /> 
     <startdate>05-25-2017</startdate> 
     <enddate>06-08-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>287</sprintid> 
     <name /> 
     <startdate>06-08-2017</startdate> 
     <enddate>06-22-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q2</enddate> 
      </item> 
     </items> 
     <testenddate>Q2</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>288</sprintid> 
     <name /> 
     <startdate>06-22-2017</startdate> 
     <enddate>07-06-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>289</sprintid> 
     <name /> 
     <startdate>07-06-2017</startdate> 
     <enddate>07-20-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>290</sprintid> 
     <name /> 
     <startdate>07-20-2017</startdate> 
     <enddate>08-03-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>291</sprintid> 
     <name /> 
     <startdate>08-03-2017</startdate> 
     <enddate>08-17-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>292</sprintid> 
     <name /> 
     <startdate>08-17-2017</startdate> 
     <enddate>08-31-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>20</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <sprint> 
     <sprintid>293</sprintid> 
     <name /> 
     <startdate>08-31-2017</startdate> 
     <enddate>09-14-2017</enddate> 
     <weeks>2</weeks> 
     <capacity>300</capacity> 
     <teamid>5</teamid> 
     <items> 
      <item> 
       <biid>90</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-26 16:53:52.0</createdat> 
       <updatedat>2016-05-26 16:53:52.0</updatedat> 
       <priority>5</priority> 
       <size>500</size> 
       <enddate>Q3</enddate> 
      </item> 
      <item> 
       <biid>91</biid> 
       <name>testt</name> 
       <description /> 
       <targetdate /> 
       <bid>5</bid> 
       <createdat>2016-05-27 03:40:23.0</createdat> 
       <updatedat>2016-05-27 03:40:23.0</updatedat> 
       <priority>6</priority> 
       <size>4</size> 
       <enddate>Q3</enddate> 
      </item> 
     </items> 
     <testenddate>Q3</testenddate> 
    </sprint> 
    <result>Ok</result> 
</sprints> 

我試圖讓所有不同的衝刺轉換爲XML,並且這些不同的衝刺中我希望看到屬於衝刺的所有不同項目。爲了這樣做的,是我的XSL

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 
    <xsl:output method="xml" indent="yes" /> 
    <xsl:variable name="sprints" select="sprints/sprint" /> 
    <xsl:variable name="items" select="sprints/sprint/items/item" /> 
    <xsl:template match="/"> 
     <root> 
      <sprints> 
    <xsl:for-each select="distinct-values(sprints/sprint/testenddate)"> 
        <sprint> 
         <enddate><xsl:value-of select="." /></enddate> 
         <items> 
        <xsl:for-each select="distinct-values($items/biid)"> 
          <item> 
          <xsl:value-of select="." /> 
          </item> 
          </xsl:for-each> 
         </items> 
        </sprint> 
       </xsl:for-each> 
      </sprints> 
     </root> 
    </xsl:template> 
</xsl:stylesheet> 

輸出是不是我的預期:

<?xml version="1.0" encoding="UTF-8"?> 
<root xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <sprints> 
     <sprint> 
     <enddate>06-09-2016</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>06-23-2016</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>07-07-2016</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>07-21-2016</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>09-15-2016</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>September</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>October</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>November</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>December</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>January</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>Q1</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>Q2</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
     <sprint> 
     <enddate>Q3</enddate> 
     <items> 
      <item>56</item> 
      <item>59</item> 
      <item>57</item> 
      <item>60</item> 
      <item>88</item> 
      <item>90</item> 
      <item>91</item> 
     </items> 
     </sprint> 
    </sprints> 
</root> 

衝刺是不同的,但所有的項目出現在所有的短跑,我想匹配正確的衝刺。我怎樣才能做到這一點?

+0

我沒有一個完整的答案,現在所以這裏的時候有一個提示:變量'$ items'包含每一個'衝刺/衝刺/項目/項目節點來自整個文件。這有幫助嗎?順便說一句,祝賀一個寫得很好的第一個問題,這些在這裏短缺:-( –

+0

@吉姆·加里森:謝謝 – fasln01

回答

1

這裏有一個解決方案。

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 
    <xsl:output method="xml" indent="yes" /> 
    <xsl:variable name="sprints" select="/sprints/sprint" /> 
    <xsl:template match="/"> 
     <root> 
      <sprints> 
       <xsl:for-each select="distinct-values(sprints/sprint/testenddate)"> 
        <xsl:variable name="date" select="."/> 
        <sprint> 
         <enddate><xsl:value-of select="." /></enddate> 
         <items> 
          <xsl:for-each select="distinct-values($sprints[testenddate/text()=$date]/items/item/biid)"> 
           <item> 
            <xsl:value-of select="." /> 
           </item> 
          </xsl:for-each> 
         </items> 
        </sprint> 
       </xsl:for-each> 
      </sprints> 
     </root> 
    </xsl:template> 
</xsl:stylesheet> 

下面是使用XSLT 2.0的分組功能寫入相同的解決方案,任何變量需要:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 
    <xsl:output method="xml" indent="yes" /> 
    <xsl:template match="/"> 
     <root> 
      <sprints> 
       <xsl:for-each-group select="/sprints/sprint" group-by="testenddate"> 
        <sprint> 
         <enddate><xsl:value-of select="current-grouping-key()"/></enddate> 
         <items> 
          <xsl:for-each select="distinct-values(current-group()/items/item/biid)"> 
           <item> 
            <xsl:value-of select="." /> 
           </item> 
          </xsl:for-each> 
         </items> 
        </sprint> 
       </xsl:for-each-group> 
      </sprints> 
     </root> 
    </xsl:template> 
</xsl:stylesheet> 
+0

是的,分組密鑰解決了我的問題,從來沒有料到如此快速和清晰的答案在如此短的數量感謝 – fasln01

+0

雖然我的解決方案很有用,但你應該注意@ MichaelKay的回答,因爲他是XSLT「聖經」的作者。 –

3

這是很容易使用XSL來實現:對,每個組而不是distinct-值,因爲不同值只會給你不同的日期值,而for-each-group會給你一組具有不同日期值的衝刺。

所以,你想是這樣的:

<xsl:for-each-group select="/sprints/sprint" group-by="enddate"> 
    <sprint> 
    <enddate><xsl:value-of select="current-grouping-key()"/></enddate> 
    <items> 
     <xsl:for-each-group select="current-group()/item" group-by="biid"> 
      ... 
     </xsl:for-each-group> 
    </items> 
</sprint> 
</xsl:for-each-group> 
+0

是的,分組密鑰解決了我的問題,沒想到這樣快速和明確的答案在這麼短的時間!感謝 – fasln01