私は過去数週間これに取り組んできましたが、XSLT を使用するのは初めてだったので、ここまでできたことに驚いています。私の問題は、XSL が機能していることですが、結果を独自のノードにグループ化していません。私のXML:
<r25:space_reservations pubdate="2013-10-11T19:52:51-05:00" xmlns:r25="http://www.collegenet.com/r25" xmlns:xl="http://www.w3.org/1999/xlink">
<r25:space_reservation xl:href="reservation.xml?rsrv_id=4630649">
<r25:reservation_start_dt>2013-10-11T08:25:00-05:00</r25:reservation_start_dt>
<r25:reservation_end_dt>2013-10-11T09:15:00-05:00</r25:reservation_end_dt>
<r25:act_head_count>25</r25:act_head_count>
<r25:shared>F</r25:shared>
<r25:reservation_state>1</r25:reservation_state>
<r25:spaces xl:href="space.xml?space_id=582">
<r25:space_id>582</r25:space_id>
<r25:space_name>HARP 2060</r25:space_name>
<r25:formal_name>Room 2060</r25:formal_name>
<r25:related_space_id />
<r25:related_space_name />
</r25:spaces>
<r25:layout_id>10</r25:layout_id>
<r25:layout_name>SC - AUDIENCE</r25:layout_name>
<r25:reservation_comment_id />
<r25:reservation_comments />
<r25:space_instruction_id>409729</r25:space_instruction_id>
<r25:space_instructions></r25:space_instructions>
<r25:registration_url />
<r25:event xl:href="event.xml?event_id=88949">
<r25:event_id>88949</r25:event_id>
<r25:event_locator>2013-AAFBPD</r25:event_locator>
<r25:event_name>Event Name here</r25:event_name>
<r25:event_title>Event Title here</r25:event_title>
<r25:event_type_name>COURSE-70</r25:event_type_name>
<r25:event_type_class />
<r25:organization_id xl:href="organization.xml?organization_id=37">37</r25:organization_id>
<r25:organization_name>BUS</r25:organization_name>
<r25:pre_event_dt>2013-10-11T08:25:00-05:00</r25:pre_event_dt>
<r25:event_start_dt>2013-10-11T08:25:00-05:00</r25:event_start_dt>
<r25:event_end_dt>2013-10-11T09:15:00-05:00</r25:event_end_dt>
<r25:post_event_dt>2013-10-11T09:15:00-05:00</r25:post_event_dt>
<r25:profile_id>269970</r25:profile_id>
<r25:profile_name>70049-1</r25:profile_name>
<r25:expected_count>25</r25:expected_count>
<r25:registered_count>0</r25:registered_count>
</r25:event>
<r25:last_mod_dt>2013-08-09T14:28:20-05:00</r25:last_mod_dt>
</r25:space_reservation>
<r25:space_reservation xl:href="reservation.xml?rsrv_id=4630700">
<r25:reservation_start_dt>2013-10-11T09:30:00-05:00</r25:reservation_start_dt>
<r25:reservation_end_dt>2013-10-11T10:20:00-05:00</r25:reservation_end_dt>
<r25:act_head_count>25</r25:act_head_count>
<r25:shared>F</r25:shared>
<r25:reservation_state>1</r25:reservation_state>
<r25:spaces xl:href="space.xml?space_id=582">
<r25:space_id>582</r25:space_id>
<r25:space_name>HARP 2060</r25:space_name>
<r25:formal_name>Room 2060</r25:formal_name>
<r25:related_space_id />
<r25:related_space_name />
</r25:spaces>
<r25:layout_id>10</r25:layout_id>
<r25:layout_name>SC - AUDIENCE</r25:layout_name>
<r25:reservation_comment_id />
<r25:reservation_comments />
<r25:space_instruction_id>410075</r25:space_instruction_id>
<r25:space_instructions></r25:space_instructions>
<r25:registration_url />
<r25:event xl:href="event.xml?event_id=88950">
<r25:event_id>88950</r25:event_id>
<r25:event_locator>2013-AAFBPE</r25:event_locator>
<r25:event_name>event name here</r25:event_name>
<r25:event_title>event title here</r25:event_title>
<r25:event_type_name>COURSE-70</r25:event_type_name>
<r25:event_type_class />
<r25:organization_id xl:href="organization.xml?organization_id=37">37</r25:organization_id>
<r25:organization_name>BUS</r25:organization_name>
<r25:pre_event_dt>2013-10-11T09:30:00-05:00</r25:pre_event_dt>
<r25:event_start_dt>2013-10-11T09:30:00-05:00</r25:event_start_dt>
<r25:event_end_dt>2013-10-11T10:20:00-05:00</r25:event_end_dt>
<r25:post_event_dt>2013-10-11T10:20:00-05:00</r25:post_event_dt>
<r25:profile_id>269971</r25:profile_id>
<r25:profile_name>70050-1</r25:profile_name>
<r25:expected_count>25</r25:expected_count>
<r25:registered_count>0</r25:registered_count>
</r25:event>
<r25:last_mod_dt>2013-08-09T11:17:42-05:00</r25:last_mod_dt>
</r25:space_reservation>
</r25:space_reservations>
私のXSL:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:r25="http://www.collegenet.com/r25">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name="r25data">
<xsl:apply-templates select="r25:space_reservations/r25:space_reservation/r25:spaces/r25:space_name"/>
<xsl:apply-templates select="r25:space_reservations/r25:space_reservation/r25:event/r25:event_name"/>
<xsl:apply-templates select="r25:space_reservations/r25:space_reservation/r25:event/r25:event_title"/>
<xsl:apply-templates select="r25:space_reservations/r25:space_reservation/r25:event/r25:event_start_dt"/>
<xsl:apply-templates select="r25:space_reservations/r25:space_reservation/r25:event/r25:event_end_dt"/>
</xsl:element>
</xsl:template>
<xsl:template match="r25:space_reservations/r25:space_reservation/r25:spaces/r25:space_name">
<xsl:element name="room" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="r25:space_reservations/r25:space_reservation/r25:event/r25:event_name">
<xsl:element name="eventName" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="r25:space_reservations/r25:space_reservation/r25:event/r25:event_title">
<xsl:element name="eventTitle" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="r25:space_reservations/r25:space_reservation/r25:event/r25:event_start_dt">
<xsl:element name="eventStart" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="r25:space_reservations/r25:space_reservation/r25:event/r25:event_end_dt">
<xsl:element name="eventStart" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
私が得ている結果は
<r25data>
<room></room>
<room></room>
<room></room>...
<eventName></eventName>
<eventName></eventName>
<eventName></eventName>
<eventName></eventName>....
などなど、私が望んでいるさまざまなノードを介して
</r25data>
この XSL スタイルシートを取得して、ノード内でそれぞれをグループ化するにはどうすればよいですか? 基本的に私が目指しているのは、XSL を使用して必要なデータを XML フィードから取り出し、それを簡単に解析できるようにすることです。私が必要とするのは、私がリクエストした独自のより単純な XML フィードに要素を追加することだけであり、それを解析することができます (r25: 名前空間もなしで!) どんな助けも大歓迎です!! ありがとうございました!