このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

charset-decode 関数は、 Base64 テキストとしてエンコードされた入力バイナリデータを取ります。指定された文字セット (例えば、"utf-8")に従いデータをデコードし、結果する文字列の値を設定します。Base64 テキストとしてバイナリデータをエンコードする場合は、charset-encode 関数を使用します。

mf_charset-decode_01

 

引数

名前

詳細

binary-data

xs:base64Binary

Base64 テキストとしてのバイナリデータ

encoding

xs:string

エンコードのために使用される文字セット (例、 "utf-8")。

error-abort

xs:boolean

エラーが発生した場合処理がどのように継続されるかを指定する任意の引数。有効な値:

 

true - 無効な文字の例外により処理を終了します。.

false - 処理を続行し、無効な文字を置換文字 ic_utf8_replacement_char と置き換えます。

 

デフォルトの値は、 true です。

 

サンプル

ソース XML ファイルからバイナリデータをデコードすると仮定します。message 要素は Base64 テキストとしてエンコードされているバイナリデータを含むことに注意してください。

 

<?xml version="1.0" encoding="UTF-8"?>
<message xsi:noNamespaceSchemaLocation="message.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TG9yZW0gaXBzdW0=</message>

 

スキーマで示されるとおり、 message 要素のデータ型は xs:base64Binary です :

 

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="message" type="xs:base64Binary"/>
</xs:schema>

 

上記のメッセージをデコードするマッピングは以下の通りです:

mf_charset-decode_02

このサンプルのマッピングはテキスト "Lorem ipsum" を出力します。

 

MapForce シリアル化コンポーネントを使用してマッピングは テキストまたは XML ファイルを Base64 データとしてエンコードし処理することができます。 例、下に示さるマッピングには、 Base64 テキストデータを期待する 入力 パラメーターが存在します。charset-encode サンプルで示されるように XML ファイルから Base64 データが作成されていると仮定し、基の XML ファイルを下のマッピングで示されるように再作成することができます:

mf_charset-decode_03

このマッピング内では、error-abort 引数は、 boolean ビルドイン関数を使用して作成された false の値を取得します。これにより、無効な文字が発生しても、処理が継続されることが保証されます。関数の文字列の結果は、 XML ファイルに変換される XML 解析コンポーネントにパスされます。XML 解析を可能にするために、XSD スキーマファイルが必要になります。 情報に関しては、 文字列の解析とシリアル化を参照してください。

(C) 2019 Altova GmbH