[英]Datatype Conversion in XSLT 2.0
我正在对从FlatFile生成的某些输入XML执行XSLT转换。 我想将元素的数据类型更改为“日期”,但不将其显示在输出XML中。
输入XML:
<PostingDate>20141009</PostingDate>
XSLT转换:
<cdm:PostingDate>
<xsl:attribute name="name">
<xsl:value-of select="PostingDate"/>
</xsl:attribute>
<xsl:attribute name="type">xs:decimal</xsl:attribute>
</cdm:PostingDate>
电流输出:
<cdm:PostingDate name="20141009" type="xs:decimal"/>
要求的输出:
<cdm:PostingDate>2014-10-09</cdm:PostingDate>
注意:同样,我想进行其他一些转换,例如将一些XML元素转换为十进制和字符串。 XSLT 2.0中可能吗?
我想将元素的数据类型更改为“日期”,但不将其显示在输出xml中。
这是一个毫无意义的愿望,因为输出不带有数据类型,并且在处理过程中不需要数据类型(至少我看不到)。 为什么不简单地做:
<cdm:PostingDate>
<xsl:value-of select="concat(substring(PostingDate, 1, 4), '-', substring(PostingDate, 5, 2), '-', substring(PostingDate, 7, 2))"/>
</cdm:PostingDate>
我的意思是说这是某种管道。
AFAIK,如果您这样做:
<cdm:PostingDate>
<xsl:sequence select="xs:date(concat(substring(PostingDate, 1, 4), '-', substring(PostingDate, 5, 2), '-', substring(PostingDate, 7, 2)))"/>
</cdm:PostingDate>
然后<cdm:PostingDate>
的数据类型将保持xs:date
直到输出被序列化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.