# XMLツールBy Workato - XSLTを使用したXMLの変換

TIP

XMLツールBy Workatoは、機能が強化された新しいXMLパーサーです。

XSLT(eXtensible Stylesheet Language Transformation)は、元々XMLドキュメントを他のXMLドキュメントやHTMLなどの他の形式に変換するために設計されました。

EDI(電子データ交換)の文脈では、XSLTはよく企業がEDI-XML形式を別の形式に変換するために使用されます。XMLツールBy Workatoコネクタの XSLTを使用してXMLを変換する アクションを使用すると、XSLTを使用してXMLを他の形式に変換することができます。

# セットアップ

このコネクタには接続の設定は必要ありません。

# 入力

このコネクタを設定する際に、次の入力フィールドを設定する必要があります:

フィールド 説明
ドキュメント 変換する入力XMLデータです。
XSLT XMLドキュメントに適用するXSLTです。インポート/インクルードがディレクトリを指していることを確認してください。例: "imported.xsl"。
レスポンスのコンテンツタイプ レスポンスを構造化して解析するか、生のテキストとして返すかを選択します。構造化解析時に期待される形式でない場合、アクションは失敗します。
[オプション] レスポンスボディの例 出力スキーマを生成するためのサンプルドキュメントを提供します。空白の場合、Workatoは生の変換出力を含むデータピルのみを生成します。
[オプション] XSLTの参照 上記のXSLTにインポート/インクルード参照が含まれている場合、名前とXSLTドキュメントを指定します。
[オプション] XSLTパラメータ 上記のXSLTのいずれかにパラメータが含まれている場合、名前と値を指定します。
[オプション] ファイルコンテンツのエンコーディング 必要な場合、XMLドキュメントのエンコーディングを指定します。

# 出力

出力は、「生のテキストレスポンスボディ」が選択された場合は変換の生の出力になります。それ以外の場合、「構造化レスポンス」が選択された場合、Workatoは入力されたサンプルドキュメントに基づいて生成されたデータピルを提供します。

# サンプルユースケース

次のXSLTが提供された場合:

サンプルXSLT
<xsl:stylesheet xsl:version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:key name="groups" match="/holder/segment[field[1]='PO1' or field[1]='PID' or field[1]='PO4']" use="generate-id(preceding-sibling::segment[field[1]='PO1'][1])" />
	<xsl:template match="/">
		<EDI850>
			<ISA>
				<AuthorizationInformationQualifier>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[2]"/>
				</AuthorizationInformationQualifier>
				<AuthorizationInformation>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[3]"/>
				</AuthorizationInformation>
				<SecurityInformationQualifier>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[4]"/>
				</SecurityInformationQualifier>
				<SecurityInformation>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[5]"/>
				</SecurityInformation>
				<InterchangeIdQualifier_Sender>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[6]"/>
				</InterchangeIdQualifier_Sender>
				<InterchangeSenderId>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[7]"/>
				</InterchangeSenderId>
				<InterchangeIdQualifier_Receiver>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[8]"/>
				</InterchangeIdQualifier_Receiver>
				<InterchangeReceiverId>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[9]"/>
				</InterchangeReceiverId>
				<InterchangeDate>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[10]"/>
				</InterchangeDate>
				<InterchangeTime>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[11]"/>
				</InterchangeTime>
				<InterchangeControlVersion>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[12]"/>
				</InterchangeControlVersion>
				<InterchangeControlStandardsIdentifier>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[13]"/>
				</InterchangeControlStandardsIdentifier>
				<InterchangeControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[14]"/>
				</InterchangeControlNumber>
				<AcknowledgementRequested>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[15]"/>
				</AcknowledgementRequested>
				<UsageIndicator>
					<xsl:value-of select="/holder/segment[field[1] = 'ISA']/field[16]"/>
				</UsageIndicator>
			</ISA>
			<GS>
				<FunctionalIdentifierCode>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[2]"/>
				</FunctionalIdentifierCode>
				<ApplicationSenderCode>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[3]"/>
				</ApplicationSenderCode>
				<ApplicationReceiverCode>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[4]"/>
				</ApplicationReceiverCode>
				<Date>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[5]"/>
				</Date>
				<Time>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[6]"/>
				</Time>
				<GroupControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[7]"/>
				</GroupControlNumber>
				<ResponsibleAgencyCode>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[8]"/>
				</ResponsibleAgencyCode>
				<VersionReleaseIndustryIdentifierCode>
					<xsl:value-of select="/holder/segment[field[1] = 'GS']/field[9]"/>
				</VersionReleaseIndustryIdentifierCode>
			</GS>
			<ST>
				<TransactionSetIdentifierCode>
					<xsl:value-of select="/holder/segment[field[1] = 'ST']/field[2]"/>
				</TransactionSetIdentifierCode>
				<TransactionSetControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'ST']/field[3]"/>
				</TransactionSetControlNumber>
			</ST>
			<BEG>
				<TransactionSetPurposeCode>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[2]"/>
				</TransactionSetPurposeCode>
				<PurchaseOrderTypeCode>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[3]"/>
				</PurchaseOrderTypeCode>
				<PurchaseOrderNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[4]"/>
				</PurchaseOrderNumber>
				<ReleaseNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[5]"/>
				</ReleaseNumber>
				<PurchaseOrderDate>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[6]"/>
				</PurchaseOrderDate>
				<ContactNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'BEG']/field[7]"/>
				</ContactNumber>
			</BEG>
			<ITD>
				<TermsTypeCode>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[2]"/>
				</TermsTypeCode>
				<TermsBasisDateCode>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[3]"/>
				</TermsBasisDateCode>
				<TermsDiscountPercent>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[4]"/>
				</TermsDiscountPercent>
				<TermsDiscountDueDays>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[5]"/>
				</TermsDiscountDueDays>
				<TermsNetDays>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[6]"/>
				</TermsNetDays>
				<Description >
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[7]"/>
				</Description>
				<DayOfMonth>
					<xsl:value-of select="/holder/segment[field[1] = 'ITD']/field[8]"/>
				</DayOfMonth>
			</ITD>
			<DTM>
				<DateTimeQualifier>
					<xsl:value-of select="/holder/segment[field[1] = 'DTM']/field[2]"/>
				</DateTimeQualifier>
				<Date>
					<xsl:value-of select="/holder/segment[field[1] = 'DTM']/field[3]"/>
				</Date>
			</DTM>
			<xsl:for-each select="/holder/segment[field[1] = 'PKG']">
				<PKG>
					<ItemDescriptionType>
						<xsl:value-of select="field[2]"/>
					</ItemDescriptionType>
					<PackagingCharacteristicCode>
						<xsl:value-of select="field[3]"/>
					</PackagingCharacteristicCode>
					<Description>
						<xsl:value-of select="field[4]"/>
					</Description>
				</PKG>
			</xsl:for-each>
			<TD5>
				<RoutingSequenceCode>
					<xsl:value-of select="/holder/segment[field[1] = 'TD5']/field[2]"/>
				</RoutingSequenceCode>
				<IdentificationCodeQualifier>
					<xsl:value-of select="/holder/segment[field[1] = 'TD5']/field[3]"/>
				</IdentificationCodeQualifier>
				<IdentificationCode>
					<xsl:value-of select="/holder/segment[field[1] = 'TD5']/field[4]"/>
				</IdentificationCode>
				<TransportationMethodTypeCode>
					<xsl:value-of select="/holder/segment[field[1] = 'TD5']/field[6]"/>
				</TransportationMethodTypeCode>
			</TD5>
			<N1>
				<EntityIdentifierCode>
					<xsl:value-of select="/holder/segment[field[1] = 'N1']/field[2]"/>
				</EntityIdentifierCode>
				<Name>
					<xsl:value-of select="/holder/segment[field[1] = 'N1']/field[3]"/>
				</Name>
				<IdentificationCodeQualifier>
					<xsl:value-of select="/holder/segment[field[1] = 'N1']/field[4]"/>
				</IdentificationCodeQualifier>
				<IdentificationCode>
					<xsl:value-of select="/holder/segment[field[1] = 'N1']/field[5]"/>
				</IdentificationCode>
			</N1>
			<N3>
				<AddressInformation>
					<xsl:value-of select="/holder/segment[field[1] = 'N3']/field[2]"/>
				</AddressInformation>
			</N3>
			<N4>
				<CityName>
					<xsl:value-of select="/holder/segment[field[1] = 'N4']/field[2]"/>
				</CityName>
				<StateOrProvinceCode>
					<xsl:value-of select="/holder/segment[field[1] = 'N4']/field[3]"/>
				</StateOrProvinceCode>
				<PostalCode>
					<xsl:value-of select="/holder/segment[field[1] = 'N4']/field[4]"/>
				</PostalCode>
			</N4>
			<xsl:for-each select="/holder/segment[field[1] = 'PO1']">
				<xsl:variable name="index" select="index"/>
				<xsl:variable name="followingIndex">
					<xsl:choose>
						<xsl:when test="following-sibling::*[(field[1] = 'PO1')]">
							<xsl:value-of select="following-sibling::*[(field[1] = 'PO1')]/index"/>
						</xsl:when>
						<xsl:otherwise>
							<xsl:value-of select="'300'"/>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:variable>
				<POGroup>
					<PO1>
						<LineNumber>
							<xsl:value-of select="field[2]"/>
						</LineNumber>
						<Quantity>
							<xsl:value-of select="field[3]"/>
						</Quantity>
						<UnitOfMeasurement>
							<xsl:value-of select="field[4]"/>
						</UnitOfMeasurement>
						<UnitPrice>
							<xsl:value-of select="field[5]"/>
						</UnitPrice>
						<BasisOfUnitPriceCode>
							<xsl:value-of select="field[6]"/>
						</BasisOfUnitPriceCode>
						<ProductServiceId>
							<xsl:value-of select="field[7]"/>
						</ProductServiceId>
					</PO1>
					<xsl:for-each select="/holder/segment[field[1] = 'PID']">
						<xsl:if test="number(index) &gt; number($index) and number(index) &lt; number($followingIndex)">
							<PID>
								<ItemDescriptionType>
									<xsl:value-of select="field[2]"/>
								</ItemDescriptionType>
								<Description>
									<xsl:value-of select="field[6]"/>
								</Description>
							</PID>
						</xsl:if>
					</xsl:for-each>
					<xsl:for-each select="/holder/segment[field[1] = 'PO4']">
						<xsl:if test="number(index) &gt; number($index) and number(index) &lt; number($followingIndex)">
							<PO4>
								<Pack>
									<xsl:value-of select="field[2]"/>
								</Pack>
								<Size>
									<xsl:value-of select="field[3]"/>
								</Size>
								<UOM>
									<xsl:value-of select="field[4]"/>
								</UOM>
								<PackagingCode>
									<xsl:value-of select="field[5]"/>
								</PackagingCode>
								<Weight>
									<xsl:value-of select="field[6]"/>
								</Weight>
								<WeightQualifier>
									<xsl:value-of select="field[7]"/>
								</WeightQualifier>
								<Volume>
									<xsl:value-of select="field[8]"/>
								</Volume>
								<VolumeQualifier>
									<xsl:value-of select="field[9]"/>
								</VolumeQualifier>
							</PO4>
						</xsl:if>
					</xsl:for-each>
				</POGroup>
			</xsl:for-each>
			<CTT>
				<NumberofLineItems>
					<xsl:value-of select="/holder/segment[field[1] = 'CTT']/field[2]"/>
				</NumberofLineItems>
			</CTT>
			<AMT>
				<AmountQualifierCode>
					<xsl:value-of select="/holder/segment[field[1] = 'AMT']/field[2]"/>
				</AmountQualifierCode>
				<MonetaryAmount>
					<xsl:value-of select="/holder/segment[field[1] = 'AMT']/field[3]"/>
				</MonetaryAmount>
			</AMT>
			<SE>
				<NumberOfIncludedSegments>
					<xsl:value-of select="/holder/segment[field[1] = 'SE']/field[2]"/>
				</NumberOfIncludedSegments>
				<TransactionSetControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'SE']/field[3]"/>
				</TransactionSetControlNumber>
			</SE>
			<GE>
				<NumberOfTransactionSetsIncluded>
					<xsl:value-of select="/holder/segment[field[1] = 'GE']/field[2]"/>
				</NumberOfTransactionSetsIncluded>
				<GroupControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'GE']/field[3]"/>
				</GroupControlNumber>
			</GE>
			<IEA>
				<NumberOfIncludedGroups>
					<xsl:value-of select="/holder/segment[field[1] = 'IEA']/field[2]"/>
				</NumberOfIncludedGroups>
				<InterchangeControlNumber>
					<xsl:value-of select="/holder/segment[field[1] = 'IEA']/field[3]"/>
				</InterchangeControlNumber>
			</IEA>
		</EDI850>
	</xsl:template>
</xsl:stylesheet>

アクションが以下のXMLドキュメントを返すとき:

XMLドキュメントの詳細
<?xml version="1.0" encoding="UTF-8"?>
<holder>
	<segment>
		<index>0</index>
		<field>ISA</field>
		<field>01</field>
		<field>0000000000</field>
		<field>01</field>
		<field>0000000000</field>
		<field>ZZ</field>
		<field>ABCDEFGHIJKLMNO</field>
		<field>ZZ</field>
		<field>123456789012345</field>
		<field>101127</field>
		<field>1719</field>
		<field>U</field>
		<field>00400</field>
		<field>000003438</field>
		<field>0</field>
		<field>P</field>
		<field>></field>
	</segment>
	<segment>
		<index>1</index>
		<field>GS</field>
		<field>PO</field>
		<field>4405197800</field>
		<field>999999999</field>
		<field>20101127</field>
		<field>1719</field>
		<field>1421</field>
		<field>X</field>
		<field>004010VICS</field>
	</segment>
	<segment>
		<index>2</index>
		<field>ST</field>
		<field>850</field>
		<field>000000010</field>
	</segment>
	<segment>
		<index>3</index>
		<field>BEG</field>
		<field>00</field>
		<field>SA</field>
		<field>08292233294</field>
		<field>0null</field>
		<field>20101127</field>
		<field>610385385</field>
	</segment>
	<segment>
		<index>4</index>
		<field>REF</field>
		<field>DP</field>
		<field>038</field>
	</segment>
	<segment>
		<index>5</index>
		<field>REF</field>
		<field>PS</field>
		<field>R</field>
	</segment>
	<segment>
		<index>6</index>
		<field>ITD</field>
		<field>14</field>
		<field>3</field>
		<field>2</field>
		<field>0null</field>
		<field>45</field>
		<field>0null</field>
		<field>46</field>
	</segment>
	<segment>
		<index>7</index>
		<field>DTM</field>
		<field>002</field>
		<field>20101214</field>
	</segment>
	<segment>
		<index>8</index>
		<field>PKG</field>
		<field>F</field>
		<field>68</field>
		<field>0null</field>
		<field>0null</field>
		<field>PALLETIZE SHIPMENT</field>
	</segment>
	<segment>
		<index>9</index>
		<field>PKG</field>
		<field>F</field>
		<field>66</field>
		<field>0null</field>
		<field>0null</field>
		<field>REGULAR</field>
	</segment>
	<segment>
		<index>10</index>
		<field>TD5</field>
		<field>A</field>
		<field>92</field>
		<field>P3</field>
		<field>0null</field>
		<field>SEE XYZ RETAIL ROUTING GUIDE</field>
	</segment>
	<segment>
		<index>11</index>
		<field>N1</field>
		<field>ST</field>
		<field>XYZ RETAIL</field>
		<field>9</field>
		<field>0003947268292</field>
	</segment>
	<segment>
		<index>12</index>
		<field>N3</field>
		<field>31875 SOLON RD</field>
	</segment>
	<segment>
		<index>13</index>
		<field>N4</field>
		<field>SOLON</field>
		<field>OH</field>
		<field>44139</field>
	</segment>
	<segment>
		<index>14</index>
		<field>PO1</field>
		<field>1</field>
		<field>120</field>
		<field>EA</field>
		<field>9.25</field>
		<field>TE</field>
		<field>CB</field>
		<field>065322-117</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>AB3542</field>
	</segment>
	<segment>
		<index>15</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>SMALL WIDGET</field>
	</segment>
	<segment>
		<index>16</index>
		<field>PO4</field>
		<field>4</field>
		<field>4</field>
		<field>EA</field>
		<field>PLT94</field>
		<field>0null</field>
		<field>3</field>
		<field>LR</field>
		<field>15</field>
		<field>CT</field>
	</segment>
	<segment>
		<index>17</index>
		<field>PO1</field>
		<field>2</field>
		<field>220</field>
		<field>EA</field>
		<field>13.79</field>
		<field>TE</field>
		<field>CB</field>
		<field>066850-116</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>RD5322</field>
	</segment>
	<segment>
		<index>18</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>MEDIUM WIDGET</field>
	</segment>
	<segment>
		<index>19</index>
		<field>PO4</field>
		<field>2</field>
		<field>2</field>
		<field>EA</field>
	</segment>
	<segment>
		<index>20</index>
		<field>PO1</field>
		<field>3</field>
		<field>126</field>
		<field>EA</field>
		<field>10.99</field>
		<field>TE</field>
		<field>CB</field>
		<field>060733-110</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>XY5266</field>
	</segment>
	<segment>
		<index>21</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>LARGE WIDGET</field>
	</segment>
	<segment>
		<index>22</index>
		<field>PO4</field>
		<field>6</field>
		<field>1</field>
		<field>EA</field>
		<field>PLT94</field>
		<field>0null</field>
		<field>3</field>
		<field>LR</field>
		<field>12</field>
		<field>CT</field>
	</segment>
	<segment>
		<index>23</index>
		<field>PO1</field>
		<field>4</field>
		<field>76</field>
		<field>EA</field>
		<field>4.35</field>
		<field>TE</field>
		<field>CB</field>
		<field>065308-116</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>VX2332</field>
	</segment>
	<segment>
		<index>24</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>NANO WIDGET</field>
	</segment>
	<segment>
		<index>25</index>
		<field>PO4</field>
		<field>4</field>
		<field>4</field>
		<field>EA</field>
		<field>PLT94</field>
		<field>0null</field>
		<field>6</field>
		<field>LR</field>
		<field>19</field>
		<field>CT</field>
	</segment>
	<segment>
		<index>26</index>
		<field>PO1</field>
		<field>5</field>
		<field>72</field>
		<field>EA</field>
		<field>7.5</field>
		<field>TE</field>
		<field>CB</field>
		<field>065374-118</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>RV0524</field>
	</segment>
	<segment>
		<index>27</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>BLUE WIDGET</field>
	</segment>
	<segment>
		<index>28</index>
		<field>PO4</field>
		<field>4</field>
		<field>4</field>
		<field>EA</field>
	</segment>
	<segment>
		<index>29</index>
		<field>PO1</field>
		<field>6</field>
		<field>696</field>
		<field>EA</field>
		<field>9.55</field>
		<field>TE</field>
		<field>CB</field>
		<field>067504-118</field>
		<field>PR</field>
		<field>RO</field>
		<field>VN</field>
		<field>DX1875</field>
	</segment>
	<segment>
		<index>30</index>
		<field>PID</field>
		<field>F</field>
		<field>0null</field>
		<field>0null</field>
		<field>0null</field>
		<field>ORANGE WIDGET</field>
	</segment>
	<segment>
		<index>31</index>
		<field>PO4</field>
		<field>6</field>
		<field>6</field>
		<field>EA</field>
		<field>PLT94</field>
		<field>0null</field>
		<field>3</field>
		<field>LR</field>
		<field>10</field>
		<field>CT</field>
	</segment>
	<segment>
		<index>32</index>
		<field>CTT</field>
		<field>6</field>
	</segment>
	<segment>
		<index>33</index>
		<field>AMT</field>
		<field>1</field>
		<field>13045.94</field>
	</segment>
	<segment>
		<index>34</index>
		<field>SE</field>
		<field>33</field>
		<field>000000010</field>
	</segment>
	<segment>
		<index>35</index>
		<field>GE</field>
		<field>1</field>
		<field>1421</field>
	</segment>
	<segment>
		<index>36</index>
		<field>IEA</field>
		<field>1</field>
		<field>000003438</field>
	</segment>
</holder>

上記のXMLドキュメントを変換するためにtransform XML using XSLTアクションを使用できます。

変換出力
<?xml version="1.0"?>
<EDI850>
  <ISA>
    <AuthorizationInformationQualifier>01</AuthorizationInformationQualifier>
    <AuthorizationInformation>0000000000</AuthorizationInformation>
    <SecurityInformationQualifier>01</SecurityInformationQualifier>
    <SecurityInformation>0000000000</SecurityInformation>
    <InterchangeIdQualifier_Sender>ZZ</InterchangeIdQualifier_Sender>
    <InterchangeSenderId>ABCDEFGHIJKLMNO</InterchangeSenderId>
    <InterchangeIdQualifier_Receiver>ZZ</InterchangeIdQualifier_Receiver>
    <InterchangeReceiverId>123456789012345</InterchangeReceiverId>
    <InterchangeDate>101127</InterchangeDate>
    <InterchangeTime>1719</InterchangeTime>
    <InterchangeControlVersion>U</InterchangeControlVersion>
    <InterchangeControlStandardsIdentifier>00400</InterchangeControlStandardsIdentifier>
    <InterchangeControlNumber>000003438</InterchangeControlNumber>
    <AcknowledgementRequested>0</AcknowledgementRequested>
    <UsageIndicator>P</UsageIndicator>
  </ISA>
  <GS>
    <FunctionalIdentifierCode>PO</FunctionalIdentifierCode>
    <ApplicationSenderCode>4405197800</ApplicationSenderCode>
    <ApplicationReceiverCode>999999999</ApplicationReceiverCode>
    <Date>20101127</Date>
    <Time>1719</Time>
    <GroupControlNumber>1421</GroupControlNumber>
    <ResponsibleAgencyCode>X</ResponsibleAgencyCode>
    <VersionReleaseIndustryIdentifierCode>004010VICS</VersionReleaseIndustryIdentifierCode>
  </GS>
  <ST>
    <TransactionSetIdentifierCode>850</TransactionSetIdentifierCode>
    <TransactionSetControlNumber>000000010</TransactionSetControlNumber>
  </ST>
  <BEG>
    <TransactionSetPurposeCode>00</TransactionSetPurposeCode>
    <PurchaseOrderTypeCode>SA</PurchaseOrderTypeCode>
    <PurchaseOrderNumber>08292233294</PurchaseOrderNumber>
    <ReleaseNumber>0null</ReleaseNumber>
    <PurchaseOrderDate>20101127</PurchaseOrderDate>
    <ContactNumber>610385385</ContactNumber>
  </BEG>
  <ITD>
    <TermsTypeCode>14</TermsTypeCode>
    <TermsBasisDateCode>3</TermsBasisDateCode>
    <TermsDiscountPercent>2</TermsDiscountPercent>
    <TermsDiscountDueDays>0null</TermsDiscountDueDays>
    <TermsNetDays>45</TermsNetDays>
    <Description>0null</Description>
    <DayOfMonth>46</DayOfMonth>
  </ITD>
  <DTM>
    <DateTimeQualifier>002</DateTimeQualifier>
    <Date>20101214</Date>
  </DTM>
  <PKG>
    <ItemDescriptionType>F</ItemDescriptionType>
    <PackagingCharacteristicCode>68</PackagingCharacteristicCode>
    <Description>0null</Description>
  </PKG>
  <PKG>
    <ItemDescriptionType>F</ItemDescriptionType>
    <PackagingCharacteristicCode>66</PackagingCharacteristicCode>
    <Description>0null</Description>
  </PKG>
  <TD5>
    <RoutingSequenceCode>A</RoutingSequenceCode>
    <IdentificationCodeQualifier>92</IdentificationCodeQualifier>
    <IdentificationCode>P3</IdentificationCode>
    <TransportationMethodTypeCode>SEE XYZ RETAIL ROUTING GUIDE</TransportationMethodTypeCode>
  </TD5>
  <N1>
    <EntityIdentifierCode>ST</EntityIdentifierCode>
    <Name>XYZ RETAIL</Name>
    <IdentificationCodeQualifier>9</IdentificationCodeQualifier>
    <IdentificationCode>0003947268292</IdentificationCode>
  </N1>
  <N3>
    <AddressInformation>31875 SOLON RD</AddressInformation>
  </N3>
  <N4>
    <CityName>SOLON</CityName>
    <StateOrProvinceCode>OH</StateOrProvinceCode>
    <PostalCode>44139</PostalCode>
  </N4>
  <POGroup>
    <PO1>
      <LineNumber>1</LineNumber>
      <Quantity>120</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>9.25</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>SMALL WIDGET</Description>
    </PID>
    <PO4>
      <Pack>4</Pack>
      <Size>4</Size>
      <UOM>EA</UOM>
      <PackagingCode>PLT94</PackagingCode>
      <Weight>0null</Weight>
      <WeightQualifier>3</WeightQualifier>
      <Volume>LR</Volume>
      <VolumeQualifier>15</VolumeQualifier>
    </PO4>
  </POGroup>
  <POGroup>
    <PO1>
      <LineNumber>2</LineNumber>
      <Quantity>220</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>13.79</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>MEDIUM WIDGET</Description>
    </PID>
    <PO4>
      <Pack>2</Pack>
      <Size>2</Size>
      <UOM>EA</UOM>
      <PackagingCode/>
      <Weight/>
      <WeightQualifier/>
      <Volume/>
      <VolumeQualifier/>
    </PO4>
  </POGroup>
  <POGroup>
    <PO1>
      <LineNumber>3</LineNumber>
      <Quantity>126</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>10.99</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>LARGE WIDGET</Description>
    </PID>
    <PO4>
      <Pack>6</Pack>
      <Size>1</Size>
      <UOM>EA</UOM>
      <PackagingCode>PLT94</PackagingCode>
      <Weight>0null</Weight>
      <WeightQualifier>3</WeightQualifier>
      <Volume>LR</Volume>
      <VolumeQualifier>12</VolumeQualifier>
    </PO4>
  </POGroup>
  <POGroup>
    <PO1>
      <LineNumber>4</LineNumber>
      <Quantity>76</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>4.35</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>NANO WIDGET</Description>
    </PID>
    <PO4>
      <Pack>4</Pack>
      <Size>4</Size>
      <UOM>EA</UOM>
      <PackagingCode>PLT94</PackagingCode>
      <Weight>0null</Weight>
      <WeightQualifier>6</WeightQualifier>
      <Volume>LR</Volume>
      <VolumeQualifier>19</VolumeQualifier>
    </PO4>
  </POGroup>
  <POGroup>
    <PO1>
      <LineNumber>5</LineNumber>
      <Quantity>72</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>7.5</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>BLUE WIDGET</Description>
    </PID>
    <PO4>
      <Pack>4</Pack>
      <Size>4</Size>
      <UOM>EA</UOM>
      <PackagingCode/>
      <Weight/>
      <WeightQualifier/>
      <Volume/>
      <VolumeQualifier/>
    </PO4>
  </POGroup>
  <POGroup>
    <PO1>
      <LineNumber>6</LineNumber>
      <Quantity>696</Quantity>
      <UnitOfMeasurement>EA</UnitOfMeasurement>
      <UnitPrice>9.55</UnitPrice>
      <BasisOfUnitPriceCode>TE</BasisOfUnitPriceCode>
      <ProductServiceId>CB</ProductServiceId>
    </PO1>
    <PID>
      <ItemDescriptionType>F</ItemDescriptionType>
      <Description>ORANGE WIDGET</Description>
    </PID>
    <PO4>
      <Pack>6</Pack>
      <Size>6</Size>
      <UOM>EA</UOM>
      <PackagingCode>PLT94</PackagingCode>
      <Weight>0null</Weight>
      <WeightQualifier>3</WeightQualifier>
      <Volume>LR</Volume>
      <VolumeQualifier>10</VolumeQualifier>
    </PO4>
  </POGroup>
  <CTT>
    <NumberofLineItems>6</NumberofLineItems>
  </CTT>
  <AMT>
    <AmountQualifierCode>1</AmountQualifierCode>
    <MonetaryAmount>13045.94</MonetaryAmount>
  </AMT>
  <SE>
    <NumberOfIncludedSegments>33</NumberOfIncludedSegments>
    <TransactionSetControlNumber>000000010</TransactionSetControlNumber>
  </SE>
  <GE>
    <NumberOfTransactionSetsIncluded>1</NumberOfTransactionSetsIncluded>
    <GroupControlNumber>1421</GroupControlNumber>
  </GE>
  <IEA>
    <NumberOfIncludedGroups>1</NumberOfIncludedGroups>
    <InterchangeControlNumber>000003438</InterchangeControlNumber>
  </IEA>
</EDI850>

次に、parse XMLアクションを使って、以下のデータツリーを得ることができる:

出力データツリー
. EDI 850
  ├── ISA
  |   ├── 認証情報修飾子
  |   ├── 認証情報
  |   ├── セキュリティ情報修飾子
  |   ├── セキュリティ情報
  |   ├── 送信者のインターチェンジID修飾子
  |   ├── 送信者のインターチェンジID
  |   ├── 受信者のインターチェンジID修飾子
  |   ├── 受信者のインターチェンジID
  |   ├── インターチェンジ日付
  |   ├── インターチェンジ時間
  |   ├── インターチェンジ制御バージョン
  |   ├── インターチェンジ制御規格識別子
  |   ├── インターチェンジ制御番号
  |   ├── 応答要求
  |   └── 使用指示子
  ├── GS
  |   ├── 機能識別子コード
  |   ├── 送信元アプリケーションコード
  |   ├── 受信元アプリケーションコード
  |   ├── 日付
  |   ├── 時刻
  |   ├── グループ制御番号
  |   ├── 責任機関コード
  |   └── バージョンリリース業界識別子コード
  ├── ST
  |   ├── トランザクションセット識別子コード
  |   └── トランザクションセット制御番号
  ├── BEG
  |   ├── トランザクションセット目的コード
  |   ├── 発注書タイプコード
  |   ├── 発注書番号
  |   ├── リリース番号
  |   ├── 発注書日付
  |   └── 連絡先番号
  ├── ITD
  |   ├── 支払条件タイプコード
  |   ├── 支払条件基準日コード
  |   ├── 支払条件割引率
  |   ├── 支払条件割引期限日数
  |   ├── 支払条件純期間
  |   ├── 説明
  |   └── 月の日
  ├── DTM
  |   ├── 日時修飾子
  |   └── 日付
  ├── PKG
  |   └── リスト
  |       ├── 商品説明タイプ
  |       ├── 包装特性コード
  |       └── 説明
  ├── TD 5
  |   ├── ルーティングシーケンスコード
  |   ├── 識別コード修飾子
  |   ├── 識別コード
  |   └── 輸送方法タイプコード
  ├── N 1
  |   ├── エンティティ識別子コード
  |   ├── 名前
  |   ├── 識別コード修飾子
  |   └── 識別コード
  ├── N 3
  |   └── 住所情報
  ├── N 4
  |   ├── 市名
  |   ├── 州または省コード
  |   └── 郵便番号
  ├── PO Group
  |   └── リスト
  |       ├── PO 1
  |       |   ├── 行番号
  |       |   ├── 数量
  |       |   ├── 単位
  |       |   ├── 単価
  |       |   ├── 単価の基準コード
  |       |   └── 製品サービスID
  |       ├── PID
  |       |   ├── 商品説明タイプ
  |       |   └── 説明
  |       └── PO 4
  |           ├── パック
  |           ├── サイズ
  |           ├── UOM
  |           ├── 包装コード
  |           ├── 重量
  |           ├── 重量修飾子
  |           ├── ボリューム
  |           └── ボリューム修飾子
  ├── CTT
  |   └── 行アイテム数
  ├── AMT
  |   ├── 金額修飾子コード
  |   └── 金額
  ├── SE
  |   ├── 含まれるセグメント数
  |   └── トランザクションセット制御番号
  ├── GE
  |   ├── 含まれるトランザクションセット数
  |   └── グループ制御番号
  └── IEA
      ├── 含まれるグループ数
      └── インターチェンジ制御番号


Last updated: 2024/2/13 16:59:53