2013-08-05 2 views
-1

나는 흥미롭고 이상한 문제가 있습니다. 내가 프로그래밍 이클립스 IDE를 사용하여 XSLT 변환을 실행하면 다음과 같이 내가 원하는 출력을 얻을 :XSLT Windows 및 Unix에서 변환 결과가 다릅니다

 <Schedule> 
     <Date>10/13/2013</Date> 
     <Amount>2000</Amount> 
     </Schedule> 

내 솔라리스 상자에 같은 XSLT를 사용하는 반면, 변환 결과는 다음과 같습니다

 <Schedule> 
     <Amount>2000.0</Amount> 
     </Schedule> 

신비 현재는

 <Date>10/13/2013</Date> 

블록이 UNIX에 표시되지 않습니다. 또한 이클립스 출력에서 ​​얻은 2000 년과 비교하여 2000.0입니다. 나는 두 OS 모두에서 동일한 XSLT가 선택되었음을 확신합니다. 왜 변환 출력이 Windows (원할 경우) 대 Solaris (바람직하지 않은)에서 차이가 나는지에 대해 나는 당황 스럽다. 거기 모든 전문가에게서 신비를 자물쇠로 열기에 앞으로보기.

+2

안녕하세요. [FAQ]와 [Ask]를 읽어주십시오. 게시물을 편집하고 XSLT 및 입력을 포함하고 사용 된 특정 변환 엔진을 알려주지 않는 한이 질문은 종료 될 수 있습니다. –

+0

"꽤 확실하다"는 것은 동일한 XSLT인가? 나는 그것을 점검함으로써 시작할 것입니다. 나는 그렇지 않다고 확신한다. – harpo

+0

안녕하세요 Harpo, 내가 로그를 조사했기 때문에 동일한 XSLT를 사용했다고 확신합니다. 처리를 위해 Xalan 2.7.1을 사용하고 있습니다. 픽업중인 변환 엔진을 확인하려면 어떻게합니까? XSLT를 처음 사용하기 때문에 귀하의 모든 질문에 답변을 드릴 수 없으면 사과드립니다. –

답변

0

확인. 나는 이유를 마침내 알아 냈다. 유닉스에서 xslt는 XSD에 대해 유효성이 검사되었는데, Date 필드는 DateType이되어야합니다. 즉, YYYY-MM-DD 인 반면 MM/DD/YYYY로 날짜를 전달했습니다. 아이러니하게도 Eclipse IDE에서 실행할 때 불평하지 않고 MM/DD/YYYY 값을 사용했습니다. 어쨌든, 지금 당장은 내 문제를 해결하고 그것을 조사해 주신 모든 분들께 감사드립니다.

관련 문제