<?xml version="1.0" ?>
<Root>
<TIME>
<LOCAL>09:00:00</LOCAL>
<UTC>09:00:00Z</UTC>
<OFFSET>14:00:00+05:00</OFFSET>
</TIME>
</Root>
<?xml version="1.0" encoding="UTF-8"?>
<!-- ############################################################ -->
<!-- 2011-01-11T13:31:41 -->
<!-- SAS XML Libname Engine Map -->
<!-- Generated by XML Mapper, 903000.1.0.20101208190000_v930 -->
<!-- ############################################################ -->
<!-- ### Validation report ### -->
<!-- ############################################################ -->
<!-- XMLMap validation completed successfully. -->
<!-- ############################################################ -->
<SXLEMAP name="ISOtime" version="2.1">
<NAMESPACES count="0"/>
<!-- ############################################################ -->
<TABLE name="TIME">
<TABLE-PATH syntax="XPath">/Root/TIME</TABLE-PATH>
<COLUMN name="LOCAL">
<PATH syntax="XPath">/Root/TIME/LOCAL</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>time</DATATYPE>
<FORMAT width="8">E8601TM</FORMAT> 1
<INFORMAT width="8">E8601TM</INFORMAT>
</COLUMN>
<COLUMN name="LOCALZONE">
<PATH syntax="XPath">/Root/TIME/LOCAL</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>time</DATATYPE>
<FORMAT width="14">E8601LZ</FORMAT> 2
<INFORMAT width="8">E8601TM</INFORMAT>
</COLUMN>
<COLUMN name="UTC">
<PATH syntax="XPath">/Root/TIME/UTC</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>time</DATATYPE>
<FORMAT width="9">E8601TZ</FORMAT> 3
<INFORMAT width="9">E8601TZ</INFORMAT>
</COLUMN>
<COLUMN name="OFFSET">
<PATH syntax="XPath">/Root/TIME/OFFSET</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>time</DATATYPE>
<FORMAT width="14">E8601TZ</FORMAT> 4
<INFORMAT width="14">E8601TZ</INFORMAT>
</COLUMN>
</TABLE>
</SXLEMAP>
| 1 | 変数Localに対して、INFORMAT要素およびFORMAT要素で、SAS入力形式およびSAS出力形式としてE8601TMを指定します。これにより、拡張形式hh:mm:ss.ffffffで時刻値の読み込みと書き出しが行われます。タイムゾーンインジケータが存在しないため、値のコンテキストはローカルタイムとなります。 |
| 2 | 変数Localzone (変数Localと同じ値を読み込む変数)に対して、INFORMAT要素でSAS入力形式E8601TMを指定します。これにより、拡張形式hh:mm:ss.ffffffで時刻値が読み込まれます。タイムゾーンインジケータが存在しないため、値のコンテキストはローカルタイムとなります。
一方、FORMAT要素では、SAS出力形式E8601LZを指定します。これにより、拡張形式hh:mm:ss+|-hh:mmで時刻値が出力されます。出力形式E8601LZは、現在のローカルSASセッションによって決定される時刻値の末尾にUTCオフセットを追加します。出力形式E8601LZを使うことで、ローカルタイムの曖昧さをなくすような時刻表記を提供できます。
注: この時刻表記を使用する場合でも、時間に基づく値を混在させないことを推奨します。
|
| 3 | 変数UTCに対して、INFORMAT要素およびFORMAT要素で、SAS入力形式およびSAS出力形式としてE8601TZを指定します。これにより、拡張形式hh:mm:ss+|-hh:mmで時刻値の読み込みと書き出しが行われます。タイムゾーンインジケータが存在するため、値はUTCで表されるものと仮定されます。その値に対する調整または変換は行われません。 |
| 4 | 変数Offsetに対して、INFORMAT要素およびFORMAT要素で、SAS入力形式およびSAS出力形式としてE8601TZを指定します。これにより、拡張形式hh:mm:ss+|-hh:mmで時刻値の読み込みと書き出しが行われます。タイムゾーンオフセットが存在するため、タイムゾーンを区別するSAS入力形式を使って変数に時刻値を読み込む場合、その値はタイムゾーンインジケータを通じて要求されるUTC時間に調整されます。ただし、タイムゾーンコンテキストはその値と一緒には保存されません。タイムゾーンを区別するSAS出力形式を使って時刻値を書き出す場合、その値は、ゼロのオフセット値を伴うUTC時間として表現され、ローカルタイムに対する調整は行われません。 |
filename timzn 'C:\My Documents\XML\Time.xml'; filename map 'C:\My Documents\XML\Time.map'; libname timzn xmlv2 xmlmap=map; proc print data=timzn.time; run;
