MSG-ID (DB に配置された MSG-ID) を XML ファイルに変換できるスクリプトがあります。
1つのMSIDをXMLに変換する例
getDXML xxxxxMSGIDxxxxxx > filename.xml
現在、40を超えるMSG-IDがあり、可能であればそれらをすべて異なる名前で一度に変換したいと考えています。
その一部をご紹介します
<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
<MessageHeader>
<MandantID>001001</MandantID>
<MessageID>**201711221731-A_DEVA_ADHCORDNTF_AA-10500879**</MessageID>
<Sender>BOMC</Sender>
<SenderPlattform>T</SenderPlattform>
<MessageType>00761</MessageType>
<Receiver>DEVA</Receiver>
<CommPattern>FF</CommPattern>
<Prioritaet>normal</Prioritaet>
</MessageHeader>
<sendung>
<ProcessingHeader>
答え1
まずテンプレートを作成する
cat >template.notxml <<'X'
<?xml version="1.0" encoding="UTF-8"?>
<message schemaLocation="http://postfinance.ch/deva/message BANCS_DEVA_Message.xsd">
<MessageHeader>
<MandantID>001001</MandantID>
<MessageID>#MESSAGEID#</MessageID>
<Sender>BOMC</Sender>
<SenderPlattform>T</SenderPlattform>
<MessageType>00761</MessageType>
<Receiver>DEVA</Receiver>
<CommPattern>FF</CommPattern>
<Prioritaet>normal</Prioritaet>
</MessageHeader>
<sendung>
<ProcessingHeader>
X
次に、ファイルを作成します。メッセージ ID のセットがリストにあるものとします。詳細が不明なため、メッセージ ID には文字、数字、ハイフン、アンダースコア ( A-Z
、、、、 ) のみが含まれているものとします。このリストa-z
をと呼びます。0-9
-
_
ids.list
while IFS= read -r messageid
do
sed "s/#MESSAGEID#/$messageid/g" template.notxml > "$messageid.notxml"
done < ids.list