XSLT转换在Windows和Unix中的结果不同



我有一个有趣的和Wiard的问题。当我使用EclipseIDE以编程方式运行XSLT转换时,我得到了如下所需的输出:

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

而在我的Solaris盒子中使用相同的XSLT,转换结果是:

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

神秘的是现在

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

块在UNIX中不可见。此外,与我在Eclipse输出中得到的2000相比,现在的数量是2000.0。我非常确信,两个操作系统都采用了相同的XSLT。我真的很困惑,为什么Windows(理想)和Solaris(不理想)中的转换输出会有所不同。期待着解开所有大师的神秘面纱。

好的。我终于弄清了原因。在Unix中,xslt是根据XSD进行验证的,XSD要求Date字段为DateType,即YYYY-MM-DD,而我传递的日期为MM/DD/YYYY。具有讽刺意味的是,当我在eclipse IDE中运行它时,它毫无怨言地获得了MM/DD/YYYY值。不管怎样,现在,我的问题已经解决了,感谢大家的关注。

相关内容

  • 没有找到相关文章

最新更新