-1

我有一个有趣而奇怪的问题。当我使用 Eclipse IDE 以编程方式运行 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(不需要)中会有所不同。期待从所有大师那里解开谜团。

4

1 回答 1

0

好的。我终于弄清楚了原因。在 Unix 中,xslt 正在针对要求日期字段为 DateType 的 XSD 进行验证,即 YYYY-MM-DD,而我在 MM/DD/YYYY 中传递日期。具有讽刺意味的是,当我在 Eclipse IDE 中运行它时,它得到了 MM/DD/YYYY 值而没有抱怨。无论如何,现在,我的问题已经解决了,感谢大家的调查。

于 2013-08-07T06:03:03.653 回答