Home XML/FrameMaker FileMaker SI会社様へ 事例ご紹介 企業情報 お問い合わせ Twitter
【XML/FrameMaker事例】
SGML-XML構造変換
◎背景

SGMLStandard Generalized Markup Language)を制定するグループが発足されてから約20年。
企業や業界では様々な文書の標準化を進めて、独自のDTDDocument Type Definition)を策定してきました。
また、インターネットの普及に影響を受け、XML(eXtensible Markup Language)関連の技術が急速に発展しています。
活動団体単位でのXML策定もされていますが、手軽に使えてしまうため、小規模でのDTD(XMLScemaの場合もありますが)策定もある事でしょう。

企業の合併や企業内の文書フォーマットの変更に伴い、資産であるSGML/XMLの文書データがそのままでは使えない状況が起きています。
XMLであれば、XSLTXML Stylesheet Language Transform)を使って変換する事も可能ではありますが、複雑な構造操作はあまり得意な仕様ではありません。

↑ ページ先頭へ

◎開発要求

現状あるSGML/XMLデータを、新しいDTDに沿ったデータへ変換したい。

構造化文書を理解するのは簡単な事ではありません。それなりの知識がなければ扱う事は難しいものです。
そこで、古くからSGMLに携わってきた当社のノウハウを活かし、文書構造の操作に特化したツール(OVIDIUS社MetaMorphosis)を使い、文書データ変換プログラムを作成する事でこの要求に応えました。

↑ ページ先頭へ

◎開発作業

開発の手順は以下の通りです。

  1. 変換元と変換先のDTDおよび実データ(SGML/XMLインスタンス)を分析
  2. 分析結果から要素、属性のマッピングを作成し、変換条件の絞込みを実施
  3. 変換後の文書に不足している必須要素や固定で出力する文字列を抽出
  4. 構造変換プログラミングを実施

↑ ページ先頭へ

変換例(1) 要素の変換
単純(1対1)変換
Root → Document
Head → Header
Subsect1、Subsect2 → Section
構造判定変換
Title → Title
但し、上位がSection、Subsect1、Subsect2のTitle → Sectiontitle

構造ツリービュー

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

変換例(2) 属性値の変換
Attr3 → Attr4:値をそのまま設定
Attr5 → Attr2:値の一部を抽出(この場合の条件は、"/"で囲まれている最後の内容)

構造ツリービュー

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

変換例(3) 構造の変換
Back → P:1つ階層を下げ、兄要素(Body)の末尾へ移動
Figure → Fig
Item → 削除
Link → Link:1つ階層を上げ、親要素(Fig)の末尾へ移動

構造ツリービュー

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

変換例(4) 文字列の変換
入力されている文字列を分割して、要素や属性の内容へ変換(この場合の条件は、スペース文字"0x20")

構造ツリービュー

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

実績
分析・製造:1〜2ヶ月
開発の1番のネックとなるのは、DTDや現存データの分析作業です。
分析にしっかりと時間をかけ、また、変換作業がしやすいようなユーザーインターフェイスを含めて開発作業を進め、お客様にもご満足いただき、充分な成果をあげられました。

↑ ページ先頭へ

◎あとがき

MetaMorphosisを使う事によって、上記以外にもいろいろな変換ルールを作成する事ができます。
お客様のニーズに合わせて、部分的な抽出や構造のないテキストファイル(CSV等)の出力など、様々な対応が可能です。

DTDの解析/設計、SGML/XMLインスタンスの作成や変換等、ご不明な点がありましたら、当社までお問い合わせ下さい。

※このページで使っている文書構造の図は、アドビシステムズ社FrameMakerで作ったものです。

↑ ページ先頭へ

Copyright © 2002-2016 Asahi Project, Inc. All rights reserved.

HomeXML/FrameMakerFileMakerSI会社様へ事例ご紹介企業情報お問い合わせサイトマップ

Twitter

◇当サイトのコンテンツ内に記載している企業名、製品名、ブランド名、ロゴマークなどは、一般に各社の商標または登録商標です。
◇当サイトの全てのコンテンツ(記事・情報・画像・プログラム等)の無断複写・転載を禁じます。