I send you the xml :

<OTA_HotelAvailRQ LanguageId="fr" Version="2001B"
xmlns="http://www.opentravel.org/OTA";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://www.opentravel.org/OTA
http://57.200.123.192:8090/OTAebServer/schemas/2001B/OTA_HotelAvailRQ.xsd";><
BookingSegments><BookingSegment><HotelReference
HotelCode="1099"/><StayDateRange EndDate="2003-03-27T19:02:31"
StartDate="2003-03-26T19:02:31"/><RatePlanCandidates><RatePlanCandidate
RatePlanCode=""/></RatePlanCandidates><RoomStayCandidates><RoomStayCandidate
RoomTypeCode=""><GuestCount
Count=""/></RoomStayCandidate></RoomStayCandidates></BookingSegment></Bookin
gSegments></OTA_HotelAvailRQ>


the xsl :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0"
xmlns:ota="http://www.opentravel.org/OTA";
xmlns:java="http://xml.apache.org/xalan/java";
exclude-result-prefixes="ota java">
<xsl:output method="xml" encoding="ISO-8859-1"/>
<!-- init des param�tres -->
<!--<xsl:param name="TCfonction"/>-->
<xsl:param name="codecro"/>
<xsl:param name="codesubcro"/>
<!-- include xsl utilitaire -->
<!--<xsl:include href="util.xsl" />-->

<xsl:template match="ota:OTA_HotelAvailRQ">
<accortronccommun mode="input" version="1.00">
<fonction nom="eDispochbR5SNMI">
<parametre nom="codecro"><xsl:value-of select="$codecro" /></parametre>
<parametre nom="codesubcro"><xsl:value-of select="$codesubcro"
/></parametre>
<xsl:apply-templates select="//ota:StayDateRange" />
<!--
<parametre nom="datedeb">
<xsl:value-of select="//StayDateRange/@StartDate" />
<xsl:call-template name="return_date">
<xsl:with-param name="date">
</xsl:with-param>
</xsl:call-template>
</parametre>
<parametre nom="datefin">
<xsl:value-of select="//StayDateRange/@EndDate" />
<xsl:call-template name="return_date">
<xsl:with-param name="date">
</xsl:with-param>
</xsl:call-template>
</parametre>
-->
<!-- recherche du codehotel -->
<parametre nom="codehotel">
<xsl:value-of select="//ota:HotelReference/@HotelCode" />
</parametre>
<!-- recherche du codeproduit -->
<parametre nom="codeproduit">
<xsl:value-of select="//RoomStayCandidates/RoomStayCandidate/@RoomTypeCode"
/>
</parametre>
<!-- recherche du rateaccess -->
<parametre nom="listdata">
<xsl:value-of select="//RatePlanCandidates/RatePlanCandidate/@RatePlanCode"
/>
</parametre>
<parametre nom="typedata">0</parametre>
<parametre nom="nbpax">
<xsl:value-of
select="//RoomStayCandidates/RoomStayCandidate/GuestCount/@Count" />
</parametre>
<parametre nom="codelangue">
<xsl:value-of select="//@LanguageId" />
</parametre>
</fonction>
</accortronccommun>
</xsl:template>
<xsl:template match="ota:StayDateRange">
<xsl:variable name="datedeb"
select="java:com.accor.util.Tools.transformISODateToTcDate(string(@StartDate
))" />
<xsl:variable name="datefin"
select="java:com.accor.util.Tools.transformISODateToTcDate(string(@EndDate))
" />
<parametre nom="datedeb">
<xsl:value-of select="$datedeb" />
</parametre>
<parametre nom="datefin">
<xsl:value-of select="$datefin" />
</parametre>

</xsl:template>
</xsl:stylesheet>

The static method :

public static String transformISODateToTcDate(String DatetoTransform) {
try {
SimpleDateFormat DF = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",
Locale.US);
Date DT = DF.parse(DatetoTransform);
return new SimpleDateFormat("dd MMM yy", Locale.US).format(DT);
} catch (Exception e) {
logger.error("erreur sur parsing de la date", e);
return new String("");
}
}

The xalan Trace :

null Line #0, Column #0: template match='/'
null Line #0, Column #0: apply-templates
Selected source node '#document'
(default root rule) apply-templates, select='null':
     10001: OTA_HotelAvailRQ
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'OTA_HotelAvailRQ'
(default rule) apply-templates, select='null':
     10008: BookingSegments
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'BookingSegments'
(default rule) apply-templates, select='null':
     10009: BookingSegment
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'BookingSegment'
(default rule) apply-templates, select='null':
     1000a: HotelReference
     1000c: StayDateRange
     1000f: RatePlanCandidates
     10012: RoomStayCandidates
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'HotelReference'
(default rule) apply-templates, select='null':
     [empty node list]
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'StayDateRange'
(default rule) apply-templates, select='null':
     [empty node list]
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'RatePlanCandidates'
(default rule) apply-templates, select='null':
     10010: RatePlanCandidate
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'RatePlanCandidate'
(default rule) apply-templates, select='null':
     [empty node list]
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'RoomStayCandidates'
(default rule) apply-templates, select='null':
     10013: RoomStayCandidate
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'RoomStayCandidate'
(default rule) apply-templates, select='null':
     10015: GuestCount
null Line #0, Column #0: template match='*'
null Line #0, Column #0: apply-templates
Selected source node 'GuestCount'
(default rule) apply-templates, select='null':
     [empty node list]
STARTDOCUMENT
ENDDOCUMENT

Thanks a lot to help me,
Olivier


********************************************************************** 
Ce message �lectronique et tous les fichiers joints ainsi que  les information 
contenues dans ce message ( ci apr�s "le message" ), sont confidentiels et 
destin�s exclusivement � l'usage de la  personne � laquelle ils sont adress�s. 
Si vous avez re�u ce message par erreur, merci  de le renvoyer � son �metteur 
et de le d�truire. Toute diffusion, publication, totale ou partielle ou 
divulgation sous quelque forme que se soit non express�ment autoris�es de ce 
message, sont interdites.
********************************************************************** 
This e-mail, any attachements and the information contained (herein " the 
message" ) are confidentiel and intended solely for the use of the addressee(s) 
if you have received this message in error please send it back to the sender 
and delete it. Unauthorized publication, use, dissemination or disclosure, 
either whole or partial, of this  message is stictly prohibited
********************************************************************** 

Reply via email to