xml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Body> <air:AirPriceRsp TraceId="202604061004_27_528" TransactionId="605B4B810A0EE1D3208A5D176AB0BD3A" ResponseTime="357" xmlns:air="http://www.travelport.com/schema/air_v52_0" xmlns:common_v52_0="http://www.travelport.com/schema/common_v52_0"> <air:AirPriceResult> <air:AirPricingSolution Key="WTmRQ1THuDKAYoZVjLAAAA==" TotalPrice="KRW2615200" BasePrice="KRW1925000" ApproximateTotalPrice="KRW2615200" ApproximateBasePrice="KRW1925000" Taxes="KRW690200" Fees="KRW0" ApproximateTaxes="KRW690200" QuoteDate="2026-04-06"> <air:AirPricingInfo Key="WTmRQ1THuDKAboZVjLAAAA==" TotalPrice="KRW2615200" BasePrice="KRW1925000" ApproximateTotalPrice="KRW2615200" ApproximateBasePrice="KRW1925000" ApproximateTaxes="KRW690200" Taxes="KRW690200" LatestTicketingTime="2026-04-09T23:59:00.000+09:00" PricingMethod="Guaranteed" Refundable="true" IncludesVAT="false" ETicketability="Yes" ProviderCode="1G"> <air:FareInfo Key="WTmRQ1THuDKAkoZVjLAAAA==" FareBasis="UKX4ZKYK" PassengerTypeCode="ADT" Origin="ICN" Destination="LAX" EffectiveDate="2026-04-06T10:14:00.000+09:00" DepartureDate="2026-06-10" Amount="KRW675000" NegotiatedFare="false" NotValidAfter="2026-12-10" TaxAmount="KRW363300"> <air:Brand Key="WTmRQ1THuDKAkoZVjLAAAA==" BrandID="1990022" UpSellBrandID="1990021" Name="ECONOMY STANDARD" Carrier="KE" BrandTier="0002"> <air:Title Type="External" LanguageCode="EN">Economy Standard</air:Title> <air:Title Type="Short" LanguageCode="EN">EYSTANDARD</air:Title> <air:Text Type="ATPCO" LanguageCode="EN">TIER 2 ECONOMY STANDARD BRAND//059/C/CHANGABLE TICKET//056/C/REFUNDABLE TICKET//03P/D/PRIORITY CHECK IN//0BX/D/LOUNGE ACCESS//0NI/D/UPGRADE WITH MILE BONUS//0FA/F/CHECKD BAG 2PC OF 23KG//0MJ/F/CABIN BAG MAX 10KG//0G6/D/PRIORITY BOARDING//0LO/F/MEAL//0B5/N/PRERESERVED SEAT ASSIGNMENT</air:Text> <air:Text Type="MarketingConsumer" LanguageCode="EN">Your Economy Standard fare includes: ㆍChecked baggage ㆍCarry on 1 bag + one other small item max combined weight 10kg. ㆍRefund allowed with a fee ㆍChange allowed with a fee (possible fare difference) ㆍNot eligible for mileage upgrade ㆍSnack and meal on board ㆍThe content on this screen is for information purpose only. Please note that if the flight is operated by another airline then the onboard product or service maybe different to that described above.</air:Text> <air:Text Type="MarketingAgent" LanguageCode="EN">Your Economy Standard fare includes: ㆍChecked baggage ㆍCarry on 1 bag + one other small item max combined weight 10kg. ㆍRefund allowed with a fee ㆍChange allowed with a fee (possible fare difference) ㆍNot eligible for mileage upgrade ㆍSnack and meal on board ㆍThe content on this screen is for information purpose only. Please note that if the flight is operated by another airline then the onboard product or service maybe different to that described above.</air:Text> <air:Text Type="Strapline" LanguageCode="EN">Economy Standard</air:Text> <air:OptionalServices> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0FA" Key="WTmRQ1THuDKApoZVjLAAAA==" Chargeable="Included in the brand" Tag="Checked Baggage" DisplayOrder="1"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Checked Bag 2Pc Of 23Kg</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">Checked Bag 2Pc Of 23Kg</air:Text> <air:Title Type="External" LanguageCode="EN">Checked Bag 2Pc Of 23Kg</air:Title> </air:OptionalService> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0MJ" Key="WTmRQ1THuDKAqoZVjLAAAA==" SecondaryType="CY" Chargeable="Included in the brand" Tag="Carry On Hand Baggage" DisplayOrder="2"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Carry10kg 22Lb Upto45li 115Lcm</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">Carry10kg 22Lb Upto45li 115Lcm</air:Text> <air:Title Type="External" LanguageCode="EN">Carry10kg 22Lb Upto45li 115Lcm</air:Title> </air:OptionalService> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0FK" Key="WTmRQ1THuDKAroZVjLAAAA==" Chargeable="Not offered" Tag="Checked Baggage" DisplayOrder="1"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>2 Checked Bags Max 32Kg Each</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">2 Checked Bags Max 32Kg Each</air:Text> <air:Title Type="External" LanguageCode="EN">2 Checked Bags Max 32Kg Each</air:Title> </air:OptionalService> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0M6" Key="WTmRQ1THuDKAsoZVjLAAAA==" Chargeable="Not offered" Tag="Checked Baggage" DisplayOrder="1"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>3 Bags Max 32Kg Each</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">3 Bags Max 32Kg Each</air:Text> <air:Title Type="External" LanguageCode="EN">3 Bags Max 32Kg Each</air:Title> </air:OptionalService> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0C3" Key="WTmRQ1THuDKAtoZVjLAAAA==" Chargeable="Not offered" Tag="Checked Baggage" DisplayOrder="1"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Checked Bag 1Pc Of 23Kg</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">Checked Bag 1Pc Of 23Kg</air:Text> <air:Title Type="External" LanguageCode="EN">Checked Bag 1Pc Of 23Kg</air:Title> </air:OptionalService> <air:OptionalService Type="Baggage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0MS" Key="WTmRQ1THuDKAuoZVjLAAAA==" SecondaryType="CY" Chargeable="Not offered" Tag="Carry On Hand Baggage" DisplayOrder="2"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Carry18kg 40Lb Upto45li 115Lcm</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Chargeable Baggage"/> <air:Text Type="Strapline" LanguageCode="EN">Carry18kg 40Lb Upto45li 115Lcm</air:Text> <air:Title Type="External" LanguageCode="EN">Carry18kg 40Lb Upto45li 115Lcm</air:Title> </air:OptionalService> <air:OptionalService Type="Branded Fares" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="056" Key="WTmRQ1THuDKAvoZVjLAAAA==" SecondaryType="RF" Chargeable="Available for a charge" Tag="Refund" DisplayOrder="4"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Refundable Ticket</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:Text Type="Strapline" LanguageCode="EN">Refundable Ticket</air:Text> <air:Title Type="External" LanguageCode="EN">Refundable Ticket</air:Title> </air:OptionalService> <air:OptionalService Type="Branded Fares" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="059" Key="WTmRQ1THuDKAwoZVjLAAAA==" SecondaryType="VC" Chargeable="Available for a charge" Tag="Rebooking" DisplayOrder="3"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Changeable Ticket</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:Text Type="Strapline" LanguageCode="EN">Changeable Ticket</air:Text> <air:Title Type="External" LanguageCode="EN">Changeable Ticket</air:Title> </air:OptionalService> <air:OptionalService Type="PreReservedSeatAssignment" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0B5" Key="WTmRQ1THuDKAxoZVjLAAAA==" Chargeable="Not offered" Tag="Seat Assignment" DisplayOrder="5"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Pre Reserved Seat Assignment</common_v52_0:Description> <common_v52_0:MediaItem caption="Agent" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_medium_5272.jpg"/> <common_v52_0:MediaItem caption="Consumer" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_medium_5272.jpg"/> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Pre Reserved Seat Assignment</air:Text> <air:Text Type="MarketingAgent" LanguageCode="EN">Pre Reserved Seat Assignment</air:Text> <air:Text Type="MarketingConsumer" LanguageCode="EN">Pre Reserved Seat Assignment</air:Text> <air:Title Type="External" LanguageCode="EN">Pre Reserved Seat Assignment</air:Title> <air:Title Type="Short" LanguageCode="EN">Pre Reserv</air:Title> </air:OptionalService> <air:OptionalService Type="MealOrBeverage" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0LO" Key="WTmRQ1THuDKAyoZVjLAAAA==" Chargeable="Included in the brand" Tag="Meals and Beverages" DisplayOrder="6"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Meal</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Meal</air:Text> <air:Title Type="External" LanguageCode="EN">Meal</air:Title> </air:OptionalService> <air:OptionalService Type="InFlightEntertainment" CreateDate="2026-04-06T01:14:49.444+00:00" Key="WTmRQ1THuDKAzoZVjLAAAA==" SecondaryType="IT" Chargeable="Not offered" Tag="WiFi" DisplayOrder="7"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>WiFi</common_v52_0:Description> </common_v52_0:ServiceInfo> </air:OptionalService> <air:OptionalService Type="Lounge" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0BX" Key="WTmRQ1THuDKA0oZVjLAAAA==" Chargeable="Not offered" Tag="Lounge Access" DisplayOrder="10"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Lounge Access</common_v52_0:Description> <common_v52_0:MediaItem caption="Consumer" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_medium_5280.jpg"/> <common_v52_0:MediaItem caption="Agent" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_medium_5280.jpg"/> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Lounge Access</air:Text> <air:Text Type="MarketingAgent" LanguageCode="EN">Lounge Access</air:Text> <air:Text Type="MarketingConsumer" LanguageCode="EN">Lounge Access</air:Text> <air:Title Type="External" LanguageCode="EN">Lounge Access</air:Title> <air:Title Type="Short" LanguageCode="EN">Lounge Acc</air:Title> </air:OptionalService> <air:OptionalService Type="TravelServices" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="03P" Key="WTmRQ1THuDKA1oZVjLAAAA==" SecondaryType="PO" Chargeable="Not offered" Tag="Priority CheckIn" DisplayOrder="14"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Priority Check In</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Priority Check In</air:Text> <air:Title Type="External" LanguageCode="EN">Priority Check In</air:Title> </air:OptionalService> <air:OptionalService Type="TravelServices" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0G6" Key="WTmRQ1THuDKA2oZVjLAAAA==" SecondaryType="PR" Chargeable="Not offered" Tag="Priority Boarding" DisplayOrder="17"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Priority Boarding</common_v52_0:Description> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Priority Boarding</air:Text> <air:Title Type="External" LanguageCode="EN">Priority Boarding</air:Title> </air:OptionalService> <air:OptionalService Type="Upgrades" CreateDate="2026-04-06T01:14:49.444+00:00" ServiceSubCode="0NI" Key="WTmRQ1THuDKA3oZVjLAAAA==" SecondaryType="ME" Chargeable="Not offered" Tag="Other" DisplayOrder="999"> <common_v52_0:ServiceData AirSegmentRef="WTmRQ1THuDKAUoZVjLAAAA=="/> <common_v52_0:ServiceInfo> <common_v52_0:Description>Upgrade With Miles Bonus</common_v52_0:Description> <common_v52_0:MediaItem caption="Consumer" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_small_385550.png"/> <common_v52_0:MediaItem caption="Agent" height="60" width="60" url="https://cdn.travelport.com/koreanair/KE_general_small_385550.png"/> </common_v52_0:ServiceInfo> <air:EMD AssociatedItem="Flight"/> <air:Text Type="Strapline" LanguageCode="EN">Upgrade With Miles Bonus</air:Text> <air:Text Type="MarketingAgent" LanguageCode="EN">Upgrade With Miles Bonus</air:Text> <air:Text Type="MarketingConsumer" LanguageCode="EN">Upgrade With Miles Bonus</air:Text> <air:Title Type="External" LanguageCode="EN">Upgrade With Miles Bonus</air:Title> <air:Title Type="Short" LanguageCode="EN">Upgrade Wi</air:Title> </air:OptionalService> </air:OptionalServices> </air:Brand> </air:FareInfo> </air:AirPricingInfo> </air:AirPricingSolution> </air:AirPriceResult> </air:AirPriceRsp> </SOAP:Body> </SOAP:Envelope> |
XSLT
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:air="http://www.travelport.com/schema/air_v52_0" xmlns:common="http://www.travelport.com/schema/common_v52_0" exclude-result-prefixes="air common"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:strip-space elements="*"/> <!-- 포함여부 변환 --> <xsl:template name="map-inclusion"> <xsl:param name="chargeable"/> <xsl:choose> <xsl:when test="$chargeable='Included in the brand'">Included</xsl:when> <xsl:when test="$chargeable='Available for a charge'">Chargeable</xsl:when> <xsl:otherwise>Not Offered</xsl:otherwise> </xsl:choose> </xsl:template> <!-- Classification 변환 --> <xsl:template name="map-classification"> <xsl:param name="tag"/> <xsl:choose> <xsl:when test="$tag='Refund'">Refund</xsl:when> <xsl:when test="$tag='Rebooking'">Rebooking</xsl:when> <xsl:when test="$tag='Seat Assignment'">SeatAssignment</xsl:when> <xsl:when test="$tag='Meals and Beverages'">Meals</xsl:when> <xsl:when test="$tag='Checked Baggage'">CheckedBag</xsl:when> <xsl:when test="$tag='Carry On Hand Baggage'">CarryOn</xsl:when> <xsl:when test="$tag='Priority CheckIn'">Priority CheckIn</xsl:when> <xsl:when test="$tag='Lounge Access'">Lounge Access</xsl:when> <xsl:when test="$tag='Priority Boarding'">Priority Boarding</xsl:when> <xsl:otherwise> <xsl:value-of select="$tag"/> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- Group Code 변환 --> <xsl:template name="map-group-code"> <xsl:param name="type"/> <xsl:param name="tag"/> <xsl:choose> <xsl:when test="$type='Branded Fares'">BF</xsl:when> <xsl:when test="$type='Baggage'">BG</xsl:when> <xsl:when test="$type='MealOrBeverage'">ML</xsl:when> <xsl:when test="$type='PreReservedSeatAssignment'">SA</xsl:when> <xsl:when test="$type='TravelServices'">TS</xsl:when> <xsl:when test="$type='Lounge'">LG</xsl:when> <xsl:otherwise> <xsl:value-of select="$type"/> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- 공통 row 출력 --> <xsl:template match="air:OptionalService" mode="row"> <tr> <td style="border:1px solid #ccc; padding:8px;"> <xsl:call-template name="map-classification"> <xsl:with-param name="tag" select="@Tag"/> </xsl:call-template> </td> <td style="border:1px solid #ccc; padding:8px;"> <xsl:call-template name="map-inclusion"> <xsl:with-param name="chargeable" select="@Chargeable"/> </xsl:call-template> </td> <td style="border:1px solid #ccc; padding:8px;"> <xsl:call-template name="map-group-code"> <xsl:with-param name="type" select="@Type"/> <xsl:with-param name="tag" select="@Tag"/> </xsl:call-template> </td> <td style="border:1px solid #ccc; padding:8px;"> <xsl:value-of select="@SecondaryType"/> </td> <td style="border:1px solid #ccc; padding:8px;"> <xsl:value-of select="@ServiceSubCode"/> </td> </tr> </xsl:template> <xsl:template match="/"> <html> <head> <title>Brand Attributes</title> </head> <body style="font-family:Arial, sans-serif; font-size:14px; color:#222;"> <xsl:apply-templates select="//air:Brand[1]"/> </body> </html> </xsl:template> <xsl:template match="air:Brand"> <div> <h2 style="margin:0 0 10px 0;"> Brand: <xsl:text> </xsl:text> <xsl:value-of select="air:Title[@Type='External' and @LanguageCode='EN'][1]"/> </h2> <h3 style="margin:16px 0 8px 0;">Brand Attributes</h3> <table style="border-collapse:collapse; width:100%; max-width:900px;"> <thead> <tr style="background:#f2f2f2;"> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Classification</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Inclusion</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Group Code</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Sub Group Code</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Sub Code</th> </tr> </thead> <tbody> <xsl:apply-templates select="air:OptionalServices/air:OptionalService[ @ServiceSubCode='056' or @ServiceSubCode='059' or @ServiceSubCode='0B5' or @ServiceSubCode='0LO' or @ServiceSubCode='0FA' or @ServiceSubCode='0MJ' ]" mode="row"/> </tbody> </table> <h3 style="margin:16px 0 8px 0;">Additional Brand Attributes</h3> <table style="border-collapse:collapse; width:100%; max-width:900px;"> <thead> <tr style="background:#f2f2f2;"> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Classification</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Inclusion</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Group Code</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Sub Group Code</th> <th style="border:1px solid #ccc; padding:8px; text-align:left;">Sub Code</th> </tr> </thead> <tbody> <xsl:apply-templates select="air:OptionalServices/air:OptionalService[ @ServiceSubCode='03P' or @ServiceSubCode='0BX' or @ServiceSubCode='0G6' ]" mode="row"/> </tbody> </table> </div> </xsl:template> </xsl:stylesheet> |
결과
