1

Mirth Connect (安定版) を使用して HL7v3 用のインターフェイスを作成しています。PRPA_IN201305UV02 メッセージを受信するためのインターフェイスを作成しました。

この時点で、着信 XML メッセージの何らかの検証を行いたいと考えています。いくつかの検索の後、HL7 にはメッセージの正確性を検証するためのスキーマ ファイル (xsd) があることがわかりました。

そのため、xsd ファイルに対して検証を実装しようとしています。mirth フォーラムを検索すると、管理者の 1 人がxml 検証用の Java ライブラリへのリンクを投稿しました。

私のチャネル ソース トランスフォーマーでは、そのリンクに基づいて JavaScript を作成しました。

// parse an XML document into a DOM tree
var parser = Packages.javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
var document = parser.parse(msg);

メッセージを受信すると、コードの最後の行でエラーが発生します

Wrapped java.net.MalformedURLException: no protocol

私も試してみました

var document = parser.parse(messageObject.getRawData());

しかし、同じエラーが発生します。

ここに何が欠けていますか?これは Mirth Connect で XML 検証を行う最良の方法ですか?

ありがとうございました

4

1 に答える 1

0

私はこの答えを見つけました

それを Mirth で Javascript に変換しました

var schemaFile = new Packages.java.io.File("C:\\schema.xsd");
var url = new Packages.java.net.URL("file:C:\\input.xml");
var xmlFile = new Packages.javax.xml.transform.stream.StreamSource(url);
var schemaFactory = Packages.javax.xml.validation.SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
var schema = schemaFactory.newSchema(schemaFile);

var validator = schema.newValidator();

try {
    validator.validate(xmlFile);
    logger.info('valid');
} catch (err) {
    logger.error(err.toString());
}

ここから JAXP (Java API for XML Processing) をダウンロードする必要があります。

他の人に役立つことを願っています

于 2013-07-30T11:38:42.583 に答える