JP2005352945A - スタイルシート作成装置 - Google Patents
スタイルシート作成装置 Download PDFInfo
- Publication number
- JP2005352945A JP2005352945A JP2004175206A JP2004175206A JP2005352945A JP 2005352945 A JP2005352945 A JP 2005352945A JP 2004175206 A JP2004175206 A JP 2004175206A JP 2004175206 A JP2004175206 A JP 2004175206A JP 2005352945 A JP2005352945 A JP 2005352945A
- Authority
- JP
- Japan
- Prior art keywords
- file
- conversion pattern
- style sheet
- item
- correspondence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【課題】 本発明は、構造化文書間の変換を正確かつ自動的に行うためのスタイルシート作成装置を提供することを目的とする。
【解決手段】 前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析手段202と、前記第1及び第2構造化文書間における項目の関連付けを記述した対応関係ファイルを読み込み、解析する対応関係ファイル解析手段201と、前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定手段203と、前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力手段とを含むことを特徴とするスタイルシート作成装置を提供する。
【選択図】 図2
【解決手段】 前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析手段202と、前記第1及び第2構造化文書間における項目の関連付けを記述した対応関係ファイルを読み込み、解析する対応関係ファイル解析手段201と、前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定手段203と、前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力手段とを含むことを特徴とするスタイルシート作成装置を提供する。
【選択図】 図2
Description
本発明は、データ構造の異なる構造化文書間においてデータ構造の変換を行うためのスタイルシート作成装置に関するものである。
近年、インターネットやデジタル放送の普及により、コンテンツの数が爆発的に増加している。これら多くのコンテンツの中から、所望のコンテンツの内容把握や検索を容易に行うために、コンテンツに様々なメタデータを付加するケースが増加してきている。また、メタデータは、コンピュータ同士のデータ送受信やインターネットとの親和性を考慮し、例えばメタ言語であるXML(eXtensible Markup Language)により記述されている。このXML等の記述のデータ構造は様々な団体により策定されている。また、メタ言語のデータ構造は、メタデータが付加されるコンテンツの種類や、メタデータを利用する目的に応じて異なる。よって、コンテンツに適合させてメタデータに基づいたXML文書を作成しても、他の用途にコンテンツを利用する場合には、他の用途に適合するデータ構造のXML文書を新たに作成する必要がある。新たに作成するXML文書は、すでに作成されているXML文書を利用して作成するのが有効であるため、XML文書のデータ構造の変換が行われる。ここで、XML文書間のデータ構造を変換する場合、XML文書に対してXSLT(XML Stylesheet Language Transformations)変換を行う。このとき、どのような変換を行うかを指定するスタイルシートとしてXSLTファイルが作成される。
特許文献1では、構造化文書を変換するための部品が、GUI(Graphical User Interface)を用いてメタデータの制作者に提示される。ここで、部品とは、変換ルールを記述したフォーム記述を部品化したものである。また、フォーム記述とは、構造化文書を表示装置に整った体裁で表示する形式に変換するための制御ルールを記述したものである。制作者が提示された部品から所望の部品を選択すると、部品が組み合わされてXSLTファイルが形成される。よって、XSLTに関する知識を持たない人でも、容易にXSLTファイルを作成することができる。
また、特許文献2では、変換対象のXML文書のXMLスキーマを全てオントロジーモデルへ変換する。そして、変換されたオントロジーモデルによりXML文書間の項目の対応関係を抽出し、自動的にXSLTファイルを作成している。
特開2003−303183号公報
特開2003−233528号公報
しかし、特許文献1では、XML文書を変換するために必要な部品を、XML文書の変換を行う制作者が人手で選択しなければならない。ここで、XML文書の変換は、XMLの構造変換を行う変換であるため、XML文書間の部品、つまり後述の項目の対応関係を考える必要がある。つまり、項目が、例えば「要素」「属性」「要素値」「属性値」のいずれであるかを考えて必要な部品を選択する必要がある。よって、XSLTファイルを自動的に作成することができず、XSLTファイルの作成にも時間がかかる。
また、特許文献2では、オントロジーモデルによりXML文書間のタグの関係を抽出する際に、変換対象のXML文書のXMLスキーマを全てオントロジーモデルへ変換する必要がある。よって、意味的構造を記述していないXMLスキーマ言語から意味的構造を記述するオントロジーに変換を行う際に、項目が有する情報の欠落や、情報の意味の変更などの問題が発生する。
そこで、本発明は、構造化文書間の変換を正確かつ自動的に行うためのスタイルシート作成装置を提供することを目的とする。
本願第1発明は、上記の課題を解決するために、データ構造の異なる第1及び第2構造化文書間においてデータ構造の変換を行うためのスタイルシート作成装置であって、前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析手段と、各構造化文書に含まれる情報単位である項目について、前記第1及び第2構造化文書間におけるその関連付けを記述した対応関係ファイルを読み込み、前記項目の対応関係を解析する対応関係ファイル解析手段と、前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定手段と、前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力手段と、を含むことを特徴とするスタイルシート作成装置を提供する。
ここで、項目とは、例えば構造化文書において要素位置を明示し、属性を収納するためのタグである。上記のように、対応関係ファイルを利用することにより、スキーマファイルから自動的かつ効率的に項目を抽出することができる。また、対応関係ファイル解析手段により項目間の対応関係を解析し、スキーマファイル解析手段により項目間の階層構造及び種類を解析することで、第1構造化文書から第2構造化文書への変換パターンを項目ごとに決定することができる。例えば、構造化文書の項目の種類が「要素」と「属性」の2種類である場合、第1構造化文書の変換対象である項目ごとに、「要素」→「要素」、「要素」→「属性」、「属性」→「要素」などの変換パターンを決定することができる。よって、決定された変換パターンに基づいてスタイルシートを自動的、効率的かつ容易に作成することができる。
また、スタイルシートの作成は、スキーマファイルから対応関係ファイルのモデルへの変換を伴わずに、対応関係ファイル及びスキーマファイルの解析結果に基づいて行われる。そのため、変換に伴う項目の情報の欠落や情報の意味の変更などを防止することができる。
本願第2発明は、第1発明において、前記スキーマファイル解析手段は、前記対応関係ファイル解析手段において前記第1及び第2構造化文書間の対応関係が解析された項目を、前記第1及び第2スキーマファイルから抽出し、抽出した項目の情報を解析することを特徴とするスタイルシート作成装置を提供する。
対応関係ファイル解析手段が対応関係ファイルに基づいて解析した項目とは、すなわち変換対象となる項目である。第1及び第2スキーマファイルの項目のうち、変換対象の項目のみについて、項目の階層構造や種類を解析することにより、効率的にスタイルシートを作成することができる。
本願第3発明は、第2発明において、前記項目の情報とは、前記項目の種類及び/または項目の階層構造であることを特徴とするスタイルシート作成装置を提供する。
項目の階層構造を解析することにより、異なる階層構造を有する構造化文書間でも正確なデータ構造の変換が可能となる。また項目の種類を解析することにより、構造化文書間で項目の扱いが異なる場合でも正確なデータ構造の変換が可能となる。
本願第4発明は、第3発明において、前記項目の種類は、要素、属性、要素値及び/または属性値が含まれることを特徴とするスタイルシート作成装置を提供する。
本願第5発明は、第1発明において、前記対応関係ファイルは、OWL(Web Ontology Language)により記述されたオントロジーファイルであることを特徴とするスタイルシート作成装置を提供する。
項目の対応関係を記述した対応関係ファイルとしてオントロジーファイルを利用することにより、構造化文書間の項目の対応関係を効率的に検索することができる。また、インターネット上で利用されているオントロジーファイルを利用することにより、HTML文書などの情報を映像データのメタデータに容易に変換することができる。
本願第6発明は、第1発明において、前記スキーマファイル解析手段は、前記対応関係ファイル解析手段において前記第1及び第2構造化文書間の対応関係が解析された項目を、前記第1及び第2スキーマファイルから抽出し、その情報を解析し、前記変換パターン決定手段は、抽出された項目の対応関係を項目の情報の対応関係に置換することにより変換パターンを項目毎に決定することを特徴とするスタイルシート作成装置を提供する。
対応関係ファイル解析手段は、例えば、第1構造化文書の項目1と第2構造化文書の項目2とが等しい(項目1→項目2)ことを解析する。また、スキーマファイル解析手段は、スキーマファイルの解析結果として例えば項目の種類を特定する。ここで、項目の種類とは、例えば「要素」、「属性」、「要素値」または「属性値」などのタグの内容である。例えば、項目1の種類が「要素」、項目2の種類が「属性」の場合は、対応関係ファイルから解析した対応関係(項目1→項目2)と各項目の種類とに基づいて、変換パターン決定手段は、「要素」→「属性」の変換パターンと決定する。このように、変換パターンの決定は、対応関係ファイル及びスキーマファイルの解析結果に基づいて、自動的かつ効率的に行われる。よって、第1構造化文書と第2構造化文書との間でデータ構造の変換を行うためのスタイルシートを、この変換パターンに基づいて自動的、効率的かつ容易に作成できる。また、スタイルシートの作成は、スキーマファイルから対応関係ファイルのモデルへの変換を伴わずに、対応関係ファイル及びスキーマファイルの解析結果に基づいて行われる。そのため、変換に伴う項目の情報の欠落や情報の意味の変更などを防止することができる。
本願第7発明は、第1発明において、前記変換パターン決定手段は、前記第2構造化文書から前記第1構造化文書への変換パターンをさらに決定することを特徴とするスタイルシート作成装置を提供する。
第1構造化文書から第2構造化文書への変換を行うスタイルシートだけでなく、第2構造化文書から第1構造化文書への変換を行うスタイルシートを作成することができる。
本願第8発明は、第1発明において、前記スタイルシート出力手段は、前記第1構造化文書の項目から前記第2構造化文書の項目への変換パターンを所定のスタイルシート言語で定義するテンプレートを、変換パターン毎に記憶している変換パターン蓄積手段と、前記変換パターン決定手段が決定した各変換パターンに対応するテンプレートを前記変換パターン蓄積手段から抽出し、抽出したテンプレートに基づいて前記スタイルシートに前記スタイルシート言語で前記変換パターンを記述するテンプレート記述手段とを有することを特徴とするスタイルシート作成装置を提供する。
第1構造化文書の項目から第2構造化文書の項目への変換パターンに応じたテンプレートを用いて、スタイルシート言語によるスタイルシートの作成を容易に行うことができる。
本願第9発明は、第8発明において、前記変換パターン蓄積手段は、項目の情報の変換パターンを定義するテンプレートを記憶していることを特徴とするスタイルシート作成装置を提供する。
構造化文書間で、項目の情報が異なる場合であっても正確にデータ構造を変換することができるスタイルシートを作成することができる。例えば、構造化文書間で階層構造が異なる場合や構造の種類が異なる場合であっても正確なデータ構造の変換が可能となる。
本願第10発明は、第1発明において、前記構造化文書はXML(eXtensible Markup Language)文書であり、前記スキーマファイルはXMLスキーマファイルであり、前記スタイルシートはXSLT(XML Stylesheet Language Transformations)ファイルであることを特徴とするスタイルシート作成装置を提供する。
本願第11発明は、データ構造の異なる第1及び第2構造化文書間においてデータ構造の変換を行うためのスタイルシート作成方法であって、前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析ステップと、各構造化文書に含まれる情報単位である項目について、前記第1及び第2構造化文書間におけるその関連付けを記述した対応関係ファイルを読み込み、前記項目の対応関係を解析する対応関係ファイル解析ステップと、前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定ステップと、前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力ステップとを含むことを特徴とするスタイルシート作成方法を提供する。
構造化文書間の項目の対応関係を記述した対応関係ファイルを利用することにより、スタイルシートを自動的、効率的かつ容易に作成することができる。また、スタイルシートの作成は、スキーマファイルから対応関係ファイルのモデルへの変換を伴わずに、対応関係ファイル及びスキーマファイルの解析結果に基づいて行われる。そのため、変換に伴う項目の情報の欠落や情報の意味の変更などを防止することができる。
<発明の概要>
以下、メタ言語とは、データの論理的な構造を記述するための言語である。メタ言語としては、例えば前述のXMLの他にSGML(Standard Generalized Markup Language)やHTML(HyperText Markup Language)等が挙げられる。また、構造化文書とは、メタ言語を用いて作成された文書であり、XML文書、SGML文書及びHTML等が挙げられる。スキーマファイルとは、構造化文書の取り得る構造をスキーマ言語で記述したファイルであり、例えばXMLスキーマファイルが挙げられる。なお、後述の項目の情報や階層構造を読み取り可能なファイルであればXMLスキーマファイルに限定されず、例えばRDF(Resource Description Framework)ファイルやCSV(Comma Separated Value)ファイルなどを用いることができる。また、スタイルシートとは、異なるデータ構造を有する構造化文書間のデータ構造を変換するための変換ルールを記述したものであり、例えばXMLスタイルシートが挙げられる。スタイルシートのスタイルシート言語としては、XSLT(XML Stylesheet Language Transformations)ファイルなどが挙げられる。
以下、メタ言語とは、データの論理的な構造を記述するための言語である。メタ言語としては、例えば前述のXMLの他にSGML(Standard Generalized Markup Language)やHTML(HyperText Markup Language)等が挙げられる。また、構造化文書とは、メタ言語を用いて作成された文書であり、XML文書、SGML文書及びHTML等が挙げられる。スキーマファイルとは、構造化文書の取り得る構造をスキーマ言語で記述したファイルであり、例えばXMLスキーマファイルが挙げられる。なお、後述の項目の情報や階層構造を読み取り可能なファイルであればXMLスキーマファイルに限定されず、例えばRDF(Resource Description Framework)ファイルやCSV(Comma Separated Value)ファイルなどを用いることができる。また、スタイルシートとは、異なるデータ構造を有する構造化文書間のデータ構造を変換するための変換ルールを記述したものであり、例えばXMLスタイルシートが挙げられる。スタイルシートのスタイルシート言語としては、XSLT(XML Stylesheet Language Transformations)ファイルなどが挙げられる。
また、対応関係ファイルは、構造化文書間の項目の対応関係を記述したファイルであり、例えばシソーラスやオントロジーなどの同義語辞書ファイルが挙げられる。項目とは、例えば構造化文書において要素位置を明示し、属性を収納するためのタグである。また、項目は、項目の種類や項目の階層構造などの情報を有している。項目の種類とは、例えば「要素」、「属性」、「要素値」または「属性値」などのタグの内容である。
互いにデータ構造が異なる構造化文書Aと構造化文書Bとの間でデータ構造の変換を行うためのスタイルシートの作成方法の概要を説明する。まず、構造化文書A及び構造化文書B間の項目の関連づけを記述した対応関係ファイルを読み込み、項目の対応関係を解析する。例えば、対応関係ファイルから構造化文書Aの項目IAと構造化文書Bの項目IBとが等しい(項目IA→項目IB)ことが解析される。
次に、構造化文書AのスキーマファイルSA及び構造化文書BのスキーマファイルSBそれぞれから項目を抽出し、項目間の階層構造及び種類の解析を行う。項目の抽出は、対応関係ファイルにおいて対応関係が解析された項目IA及び項目IBについて行えば良い。例えば、スキーマファイルSAからは項目IAを抽出し、スキーマファイルSBからは項目IBを抽出する。そして、抽出された項目IA及び項目IBの情報を解析する。項目の情報として、例えば項目IAの種類が「要素」、項目IBの種類が「属性」であると解析される。
上記の対応関係ファイルから解析した項目の対応関係(項目IA→項目IB)と、項目IA、IBの種類に基づいて、構造化文書Aから構造化文書Bへの変換パターンを決定する。ここでは、「要素」→[属性」の変換パターンが決定され、この変換パターンに基づいて構造化文書Aと構造化文書Bとの間でデータ構造の変換を行うためのスタイルシートを作成する。
上記のように、構造化文書間の項目の対応関係を記述した対応関係ファイルを利用することにより、スキーマファイルから自動的かつ効率的に項目を抽出することができる。また、対応関係ファイル解析手段により項目間の対応関係を解析し、スキーマファイル解析手段により項目間の階層構造及び種類を解析することで、構造化文書Aから構造化文書Bへの変換パターンを項目ごとに決定することができる。よって、決定された変換パターンに基づいてスタイルシートを自動的、効率的かつ容易に作成することができる。
また、スタイルシートの作成は、スキーマファイルから対応関係ファイルのモデルへの変換を伴わずに、対応関係ファイル及びスキーマファイルの解析結果に基づいて行われる。そのため、変換に伴う項目の情報の欠落や情報の意味の変更などを防止することができる。
<第1実施形態例>
[構成]
以下、メタ言語としてXMLを、構造化文書としてはXMLにより記述されたXML文書を、スキーマファイルとしてはXMLスキーマで記述されたXMLスキーマファイルを、対応関係ファイルとしてオントロジーファイルを用いる。また、XSLTファイルによりスタイルシートを作成する場合を例に挙げる。
(1)全体構成
本発明のXSLTファイル作成装置101を有するXML文書変換装置100について第1実施形態例を挙げて詳細に説明する。図1は、第1実施形態例に係るXML文書間におけるデータ構造の変換を示す説明図である。ここで、MPEG(Moving Picture Coding Experts Group)7で記述されたメタデータAとTV Anytimeで記述されたメタデータBとの異なるデータ構造間で変換を行う場合を例に挙げる。以下、メタデータAをXMLで記述した文書をXML文書A、メタデータBをXMLで記述した文書をXML文書Bとする。
<第1実施形態例>
[構成]
以下、メタ言語としてXMLを、構造化文書としてはXMLにより記述されたXML文書を、スキーマファイルとしてはXMLスキーマで記述されたXMLスキーマファイルを、対応関係ファイルとしてオントロジーファイルを用いる。また、XSLTファイルによりスタイルシートを作成する場合を例に挙げる。
(1)全体構成
本発明のXSLTファイル作成装置101を有するXML文書変換装置100について第1実施形態例を挙げて詳細に説明する。図1は、第1実施形態例に係るXML文書間におけるデータ構造の変換を示す説明図である。ここで、MPEG(Moving Picture Coding Experts Group)7で記述されたメタデータAとTV Anytimeで記述されたメタデータBとの異なるデータ構造間で変換を行う場合を例に挙げる。以下、メタデータAをXMLで記述した文書をXML文書A、メタデータBをXMLで記述した文書をXML文書Bとする。
XML文書変換装置100は、XML文書AとXML文書Aと異なるデータ構造で記述されたXML文書Bとの間でのデータ構造の変換を行う。XML文書変換装置100は、スタイルシートであるXSLTファイルを作成するXSLTファイル作成装置101と、作成されたXSLTファイルに基づいてXML文書間のXMLのデータ構造の変換を行うXSLTパーサ102とを含む。XSLTファイル作成装置101は、オントロジーファイル107の解析結果と、XML文書Aの構造を記述したXMLスキーマファイルSA及びXML文書Bの構造を記述したXMLスキーマファイルSBの解析結果に基づいてXSLTファイルを作成する。XSLTパーサ102は、XSLTファイル作成装置101から出力されたXSLTファイルに基づいて、XML文書AとXML文書Bとの間でXMLのデータ構造の変換を行う。
(2)XSLTファイル作成装置の構成
次に、XSLTファイル作成装置101によるスタイルシートの作成について説明する。図2は、XSLTファイル作成装置101の構成を示すブロック図である。XSLTファイル作成装置101は、オントロジー解析手段201、スキーマファイル解析手段202、変換パターン決定手段203、テンプレート記述手段204及びテンプレートDB205を含む。ここで、テンプレート記述手段204及びテンプレートDB205は、特許請求の範囲のスタイルシート出力手段に含まれる。XSLTファイル作成装置101は、図3に示す4つの機能を実行する。
◎オントロジーファイル107の解析(ステップS1)
◎XMLスキーマファイルSA及びSBの解析(ステップS2)
◎変換パターンの決定(ステップS3)
◎変換パターンに基づくXSLTファイルの出力(ステップS4)
以下に上記4つの機能について詳細に説明を行う。
次に、XSLTファイル作成装置101によるスタイルシートの作成について説明する。図2は、XSLTファイル作成装置101の構成を示すブロック図である。XSLTファイル作成装置101は、オントロジー解析手段201、スキーマファイル解析手段202、変換パターン決定手段203、テンプレート記述手段204及びテンプレートDB205を含む。ここで、テンプレート記述手段204及びテンプレートDB205は、特許請求の範囲のスタイルシート出力手段に含まれる。XSLTファイル作成装置101は、図3に示す4つの機能を実行する。
◎オントロジーファイル107の解析(ステップS1)
◎XMLスキーマファイルSA及びSBの解析(ステップS2)
◎変換パターンの決定(ステップS3)
◎変換パターンに基づくXSLTファイルの出力(ステップS4)
以下に上記4つの機能について詳細に説明を行う。
(2−1)オントロジーファイルの解析
オントロジー解析手段201は、オントロジーファイル107を読み込み、オントロジーファイル107から変換対象となる項目を抽出し、その項目の対応関係を抽出する。
オントロジー解析手段201は、オントロジーファイル107を読み込み、オントロジーファイル107から変換対象となる項目を抽出し、その項目の対応関係を抽出する。
(2−1−1)オントロジーファイル
オントロジーファイル107には、変換対象であるXML文書A及びXML文書B間における項目の対応関係が記述されている。例えばW3C(World Wide Web Consortium)により策定されているOWL(Web Ontology language)を用いてオントロジーファイル107を記述する。なお、項目の関係を記述できればOWLに限定されない。また、項目とは、例えばXML文書において要素位置を明示し、属性を収納するためのタグである。オントロジーファイル107には、項目の対応関係の他に、項目の種類や項目の階層構造などの情報を新たに定義し記述することが可能である。ここで、項目の種類とは、例えば「要素」、「属性」、「要素値」及び/または「属性値」である。また、項目の階層構造とは、項目間の親子関係である。
オントロジーファイル107には、変換対象であるXML文書A及びXML文書B間における項目の対応関係が記述されている。例えばW3C(World Wide Web Consortium)により策定されているOWL(Web Ontology language)を用いてオントロジーファイル107を記述する。なお、項目の関係を記述できればOWLに限定されない。また、項目とは、例えばXML文書において要素位置を明示し、属性を収納するためのタグである。オントロジーファイル107には、項目の対応関係の他に、項目の種類や項目の階層構造などの情報を新たに定義し記述することが可能である。ここで、項目の種類とは、例えば「要素」、「属性」、「要素値」及び/または「属性値」である。また、項目の階層構造とは、項目間の親子関係である。
なお、後述のXMLスキーマファイルを解析する際に、同一のXML文書内に同一の項目が複数存在する場合がある。そこで、変換対象である項目を識別できるようにオントロジーファイル107の記述を行うと好ましい。例えば、同一のXML文書内に、階層構造がXXX/YYYである項目と、ZZZ/NNN/YYYである項目が存在した場合、オントロジーファイル107にYYYと記述しただけでは、変換対象である項目を一意に識別できない。そこで、YYYの階層構造をオントロジーファイル107に記述してYYYを識別する。また、ZZZ/NNN/YYY中のNNNが一意に識別可能な項目である場合は、例えば項目「NNN」からの相対位置をNNN/YYYのように記述することでYYYを識別する。
(2−1−2)オントロジーファイルにより定義される変換パターン
次に、オントロジーファイルにより定義される変換パターンの一例について説明する。XML文書間のデータ構造の変換では、主に、「要素」、「属性」、「要素値」または「属性値」間において変換が行われる。そのため、変換されるパターンとしては、例えば、図4に示す変換パターンのバリエーションが一例として挙げられる。図4の「No」欄には変換パターンを一意に識別するID番号、「変換パターン」欄には「要素」、「属性」、「要素値」または「属性値」間における変換の方向を示す変換パターンを示す。図4中のNo1の変換パターン「要素」→「要素」は、一方のXML文書の「要素」が、他方のXML文書の「要素」に変換されることを示す。つまり、変換パターン「要素」→「要素」は、一方のXML文書の「要素」が持つ値と他方のXML文書の「要素」が持つ値とが同一となる変換パターンである。
次に、オントロジーファイルにより定義される変換パターンの一例について説明する。XML文書間のデータ構造の変換では、主に、「要素」、「属性」、「要素値」または「属性値」間において変換が行われる。そのため、変換されるパターンとしては、例えば、図4に示す変換パターンのバリエーションが一例として挙げられる。図4の「No」欄には変換パターンを一意に識別するID番号、「変換パターン」欄には「要素」、「属性」、「要素値」または「属性値」間における変換の方向を示す変換パターンを示す。図4中のNo1の変換パターン「要素」→「要素」は、一方のXML文書の「要素」が、他方のXML文書の「要素」に変換されることを示す。つまり、変換パターン「要素」→「要素」は、一方のXML文書の「要素」が持つ値と他方のXML文書の「要素」が持つ値とが同一となる変換パターンである。
上記の変換パターンのうち変換パターンNo.1からNo.3までについて、XML文書の変換例を図5に示す。図5では、「XML文書A」から「XML文書B」へデータ構造が変換されている。例えば、変換パターンNo.1の「要素」→「要素」に着目すると、変換前の「要素」<AAA>から「要素」<BBB>に変換される。このとき、「要素」<AAA>の持つ値αと「要素」<BBB>の持つ値αとが同一であることが分かる。
さらに、オントロジーファイル107には、例えば{項目IAの値と項目IBの値を加算した値と項目ICの値が同値}や{項目IAの値の文字列と項目IBの値の文字列をつなげた文字列と項目ICの値の文字列が同値}という関係を記述してもよい。その他、{「要素A」が存在した場合、「要素B」を「要素C」に変換する}という変換パターン、{「複数の要素」→「要素」}という変換パターン、{「複数の要素」→「複数の要素」}という変換パターンなどの種種の変換パターンが挙げられる。さらに、「要素」や「属性」など変換対象の項目の種類に基づいた変換パターンに限られず、項目の個数や内容などによる変換パターンであっても良い。例えば、変換パターンとして、{XML文書Aに含まれる「要素A」の個数を、XML文書Bの「要素B」の値に入力する}という変換パターンなどが挙げられる。
(2−1−3)オントロジー記述の例
前述の図4に示す変換パターンを元に、それらの項目の対応関係をオントロジーで記述した例を図6に示す。図6には、図4に示す「No」欄及び「変換パターン」欄に対応するオントロジー記述の例を「OWL記述」欄に示す。「OWL記述」欄と「変換パターン」欄とにおける「A」「B」「C」「D」「E」等の文字は対応している。この図6のOWL記述に基づいて、XML文書間の項目の対応関係を記述したオントロジーファイルが作成される。オントロジーファイル107の一例を図7に示す。図7のオントロジーファイル107には、図6のOWL記述に従って、XML文書A及びXML文書B間における「要素」、「属性」、「要素値」、「属性値」の項目の対応関係が記述されている。
前述の図4に示す変換パターンを元に、それらの項目の対応関係をオントロジーで記述した例を図6に示す。図6には、図4に示す「No」欄及び「変換パターン」欄に対応するオントロジー記述の例を「OWL記述」欄に示す。「OWL記述」欄と「変換パターン」欄とにおける「A」「B」「C」「D」「E」等の文字は対応している。この図6のOWL記述に基づいて、XML文書間の項目の対応関係を記述したオントロジーファイルが作成される。オントロジーファイル107の一例を図7に示す。図7のオントロジーファイル107には、図6のOWL記述に従って、XML文書A及びXML文書B間における「要素」、「属性」、「要素値」、「属性値」の項目の対応関係が記述されている。
(2−1−4)変換対象項目の抽出及び対応関係の解析
次に、オントロジー解析手段201は、XML文書AからXML文書Bへの変換の際に変換対象となる項目を、読み込んだオントロジーファイル107の記述から抽出する。つまり、XML文書間においてどの項目とどの項目の間で変換が行われるかを抽出する。抽出は、例えばオントロジーファイル107中で宣言されているクラスやプロパティを読み取り、どの項目が変換の対象となるのかに基づいて行う。具体的には、例えば、OWL記述の<owl:Class rdf:ID=”….”>で宣言されている項目、rdf:resource=”…”で呼び出されている項目及びXMLスキーマファイルのNameSpace(名前空間)から呼び出されている項目等の抽出をおこなうことで、変換対象となる項目を抽出する。さらに、オントロジー解析手段201は、抽出した項目の対応関係を解析する。
次に、オントロジー解析手段201は、XML文書AからXML文書Bへの変換の際に変換対象となる項目を、読み込んだオントロジーファイル107の記述から抽出する。つまり、XML文書間においてどの項目とどの項目の間で変換が行われるかを抽出する。抽出は、例えばオントロジーファイル107中で宣言されているクラスやプロパティを読み取り、どの項目が変換の対象となるのかに基づいて行う。具体的には、例えば、OWL記述の<owl:Class rdf:ID=”….”>で宣言されている項目、rdf:resource=”…”で呼び出されている項目及びXMLスキーマファイルのNameSpace(名前空間)から呼び出されている項目等の抽出をおこなうことで、変換対象となる項目を抽出する。さらに、オントロジー解析手段201は、抽出した項目の対応関係を解析する。
前述のオントロジーファイル107を例に挙げ、オントロジー解析手段201による変換対象となる項目の抽出及び解析を説明する。まず、図7のL200では、呼び出されるスキーマファイル等が宣言されている。aaa:は、XML文書AのXMLスキーマファイルSAを示し、bbb:はXML文書BのXMLスキーマファイルSBを示している。L201からL202では、「TypeContent」と「aaa:AnalogIC」が等しいことが記述されている。また、L203からL204では、「bbb:Type」は、「TypeContent」を値として保持していることが記述されている。よって、オントロジー解析手段201は、L201からL204の記述により、XML文書Aの項目「AnalogIC」及びXML文書Bの項目「Type」が所持している値が同値であるという対応関係を解析する。ここで、「AnalogIC」→「TypeContent」の変換を変換対応1と称する。同様に、L205からL206では、XML文書Aの項目「PartsName」及びXML文書Bの項目「Name」が同値であるという対応関係を解析する。「PartsName」→「Name」の変換を変換対応2と称する。また、L207からL208にて、XML文書Aの項目「InputOffsetVoltage」とXML文書Bの項目「unit」が「V」を取るという状況と、XML文書Bの項目「V_IO」の値が同値であるという対応関係を解析する。この「InputOffsetVoltage」+「unit」+「V」→「V_IO」の変換を変換対応3と称する。そして、オントロジー解析手段201は、これらの抽出した変換対象である項目及び項目の対応関係をスキーマファイル解析手段202に出力する。
(2−2)XMLスキーマファイルの解析
スキーマファイル解析手段202は、変換対象であるXMLスキーマファイルSA及びXMLスキーマファイルSBを読み込み、オントロジーファイル107の解析で抽出された、変換対象である項目の階層構造や項目の種類等の項目の情報を解析する。ここでは、階層構造としてXpathを解析するものとする。なお、Xpathに限定されず、Xpointerなど他の位置指定方法を解析しても良い。
スキーマファイル解析手段202は、変換対象であるXMLスキーマファイルSA及びXMLスキーマファイルSBを読み込み、オントロジーファイル107の解析で抽出された、変換対象である項目の階層構造や項目の種類等の項目の情報を解析する。ここでは、階層構造としてXpathを解析するものとする。なお、Xpathに限定されず、Xpointerなど他の位置指定方法を解析しても良い。
スキーマファイル解析手段202は、変換対象の各項目について「要素」、「属性」、「要素値」、「属性値」のいずれの種類であるかを解析する。例えば、XMLスキーマファイルに、Elementと指定されている項目は「要素」であると判定し、「Attribute」と指定されている項目は「属性」であると判定する。ここで、項目の種類が「要素値」及び「属性値」などである場合は、XMLスキーマファイルからだけでは項目の種類を特定できない。そこで、スキーマファイル解析手段202は、オントロジーファイル107の記述から項目の種類を特定する。例えば、オントロジーファイル107において「hasValue」が指定されている項目の種類が「要素値」及び「属性値」であるとして項目の種類を特定する。スキーマファイル解析手段202は、この解析結果を変換パターン決定手段203に出力する。
(2−2−1)XMLスキーマファイルの解析の一例
上述のスキーマファイル解析手段202による解析を、XMLスキーマ言語で記述したスキーマファイルを用いてさらに詳細に説明する。図8及び図9は、それぞれXMLスキーマファイルSA及びXMLスキーマファイルSBの一例である。
上述のスキーマファイル解析手段202による解析を、XMLスキーマ言語で記述したスキーマファイルを用いてさらに詳細に説明する。図8及び図9は、それぞれXMLスキーマファイルSA及びXMLスキーマファイルSBの一例である。
まず、図8のXMLスキーマファイルSAの解析について説明する。スキーマファイル解析手段202は、図5のオントロジーファイル107の解析で抽出した変換対象の項目をXMLスキーマファイルSAから読み取る。ここでは、XMLスキーマファイルSAの変換対象の項目として、「AnalogIC」、「PartsName」、「InputOffsetVoltage」及び「unit」が抽出されている。よって、これらの項目のXpath及び項目の種類をXMLスキーマファイルSAから読み取る。
スキーマファイル解析手段202は、図8のL101から、項目「AnalogIC」について、Xpathが「/AnalogIC」であり、項目の種類が「要素」であることを解析する。同様に、L102から、項目「PartsName」について、Xpathが「/AnalogIC/PartsName」であり、項目の種類が「要素」であることを解析する。また、L103から、項目「InputOffsetVoltage」について、Xpathが「/AnalogIC/InputOffsetVoltage」であり、項目の種類が「要素」であることを解析する。さらに、スキーマファイル解析手段202は、L104からL105の記述から、項目「unit」は、項目「InputOffsetVoltage」に含まれる「属性」であり、そのXpathが「/AnalogIC/InputOffsetVoltage/@unit」であると解析する。同様に、図9のXMLスキーマファイルSBについても変換対象である項目の解析を行う。
以上のXMLスキーマファイルSA及びXMLスキーマファイルSBの解析結果を図10に示す。図10の「対応」欄にはオントロジー解析手段201で抽出した変換対応1〜3の分類を示し、変換対応毎に変換対象である項目、その項目が抽出されたXMLスキーマファイル名、項目の種類、Xpathを示す。この解析結果を変換パターン決定手段203に出力する。
(2−3)変換パターンの決定
変換パターン決定手段203は、オントロジーファイルの解析結果及びスキーマファイルの解析結果に基づいて、XML文書A及びXML文書B間の変換パターンを決定する。つまり、オントロジー解析手段201により抽出した変換対象の項目、スキーマファイル解析手段202より解析した各項目の種類やXpathに基づいて、どの種類の項目からどの種類の項目への変換であるかを示す変換パターンを決定する。
変換パターン決定手段203は、オントロジーファイルの解析結果及びスキーマファイルの解析結果に基づいて、XML文書A及びXML文書B間の変換パターンを決定する。つまり、オントロジー解析手段201により抽出した変換対象の項目、スキーマファイル解析手段202より解析した各項目の種類やXpathに基づいて、どの種類の項目からどの種類の項目への変換であるかを示す変換パターンを決定する。
変換パターン決定手段203による変換パターンの決定方法について、図10及び図11を用いて説明する。図10は、XMLスキーマファイルSA及びXMLスキーマファイルSBの解析結果である。図11は、図10の変換パターンの決定方法を示す説明図である。図10の変換対応1は、図7のオントロジーファイル107の解析結果より、{「AnalogIC」と、「Type」が所持している値とが同値である}を意味する。ここで、XMLスキーマファイルSA及びXMLスキーマファイルSBより、項目「AnalogIC」が「要素」、項目「Type」が「要素」、「TypeContent」が「要素値」であることが解析されている。よって、変換パターン決定手段203は、図11に示すように変換対応1が「要素」→「要素値」の変換パターンと決定する。
同様に、図10の変換対応2は、{「PartsName」と「Name」が同値である}を意味する。ここで、項目「PartsName」が「要素」であり、項目「Name」が「要素」である。よって、変換パターン決定手段203は、変換対応2が「要素」→「要素」の変換パターンと決定する。
また、変換対応3は、{「InputOffsetVoltage」かつ「unit」が「V」を取るという状況と、「V_IO」は同値である}ことを意味する。ここで、項目「InputOffsetVoltage」が「要素」、項目「unit」が「属性」、「V」が項目「unit」の「属性値」、項目「V_IO」が「要素」である。よって、変換パターン決定手段203は、変換対応3が「要素」+「属性」+「属性値」→「要素」の変換パターンと決定する。変換パターン決定手段203は、決定した変換パターンをテンプレート記述手段204に出力する。
(2−4)XSLTファイルの出力
テンプレート記述手段204は、変換パターン決定手段203が決定した変換パターンに基づいてテンプレートDB205を検索し、テンプレート記述手段204は、検索されたテンプレートに基づいてXSLTファイル108を追記し、出力する。
テンプレート記述手段204は、変換パターン決定手段203が決定した変換パターンに基づいてテンプレートDB205を検索し、テンプレート記述手段204は、検索されたテンプレートに基づいてXSLTファイル108を追記し、出力する。
(2−4−1)テンプレートDB
テンプレートDB205は、XML文書間の変換パターンを所定のスタイルシート言語で定義するテンプレートを、変換パターン毎に記憶している。ここでは、スタイルシート言語としてXSLTを用いている。図12に、テンプレートDB205に記憶されているテンプレートの一例を示す。図12は、図6に示したオントロジーファイルにおける変換パターン毎のテンプレートの一覧表を示す。図12の「No」欄、「変換パターン」欄は、図6の変換パターンに対応している。また、「テンプレート」欄に対応するテンプレートの記述例をXSLTにより示している。なお、「テンプレート」欄及び「変換パターン」欄の「A」「B」「C」「D」「E」などの文字は対応している。また、No1の<xsl:template match=“/Xpath/A“>の「/Xpath/A」には、AのXpathの値が代入されることを示している。
テンプレートDB205は、XML文書間の変換パターンを所定のスタイルシート言語で定義するテンプレートを、変換パターン毎に記憶している。ここでは、スタイルシート言語としてXSLTを用いている。図12に、テンプレートDB205に記憶されているテンプレートの一例を示す。図12は、図6に示したオントロジーファイルにおける変換パターン毎のテンプレートの一覧表を示す。図12の「No」欄、「変換パターン」欄は、図6の変換パターンに対応している。また、「テンプレート」欄に対応するテンプレートの記述例をXSLTにより示している。なお、「テンプレート」欄及び「変換パターン」欄の「A」「B」「C」「D」「E」などの文字は対応している。また、No1の<xsl:template match=“/Xpath/A“>の「/Xpath/A」には、AのXpathの値が代入されることを示している。
(2−4−2)項目の値のデータ形式が異なる場合のテンプレート
テンプレートとしては、さらに次のようなテンプレートが挙げられる。XML書間の変換パターンが例えば「要素A」→「要素B」への変換パターンの場合、「要素A」の値及び「要素B」の値が同一である場合あっても取りうる値のデータ形式が異なる場合がある。そこで、テンプレートDB205に値のデータ形式を変換するためのテンプレートを蓄積しておく。
テンプレートとしては、さらに次のようなテンプレートが挙げられる。XML書間の変換パターンが例えば「要素A」→「要素B」への変換パターンの場合、「要素A」の値及び「要素B」の値が同一である場合あっても取りうる値のデータ形式が異なる場合がある。そこで、テンプレートDB205に値のデータ形式を変換するためのテンプレートを蓄積しておく。
具体的に、例えば、XML文書Aの項目「Day」が、XML文書Bの項目「Date」に対応している場合を例に挙げ説明を行う。ここで、「Day」及び「Date」は、「要素」である。XML文書AからXML文書Bへの変換の際、要素「Day」の値のは、年月日が、YYYYMMDDというデータ形式を有する。一方、要素「Date」の値は、YYMMDDというデータ形式を有する。同じ日付をあらわす項目であっても、その日付の値のデータ形式が異なる。そのため、要素「Day」→要素「Date」の変換の際に、その値のデータ形式を変更する必要がある。値のデータ形式を変換するためのテンプレートの一例を図13に示す。図13では、「XML文書A」欄にXML文書Aの値のデータ形式を示し、「XML文書B」欄にXML文書Bの値のデータ形式を示す。ここで、オントロジーファイル107には、予め、{YYYYMMDDというデータ形式をとる要素「Day」とYYMMDDというデータ形式をとる要素「Date」が同値}という記述が行われているものとする。まず、テンプレート記述手段204は、「要素Day」→「要素Date」の変換パターンを受け取ると、その変換パターンに応じてテンプレートを選択する。さらに、「要素Day」及び「要素Date」の値のデータ形式を変換するためにテンプレートを選択する。ここで、テンプレート記述手段204は、値のデータ形式を変換するテンプレートとして、図21に示す「先頭の2文字を削除」を選択する。そして、テンプレート記述手段204は、選択した「要素A」→「要素B」のテンプレート及び「先頭の2文字を削除」のテンプレートに基づいてXSLTファイルの記述を行う。
(2−4−3)優先順位の情報を有するテンプレート
さらに、テンプレートDB205に、変換の優先順位の情報を設定したテンプレートを蓄積しておき、テンプレート記述手段204が優先順位に基づいてテンプレートの選択を行ったり、XSLTファイルの記述を行っても良い。
さらに、テンプレートDB205に、変換の優先順位の情報を設定したテンプレートを蓄積しておき、テンプレート記述手段204が優先順位に基づいてテンプレートの選択を行ったり、XSLTファイルの記述を行っても良い。
(2−4−4)XSLTファイルの作成
テンプレート記述手段204は、変換パターン決定手段203から変換パターンを受け付け、XSLTファイル108の作成を開始する。ここでは、XML文書AからXML文書Bへの変換を行うXSLTファイル108、及びXML文書BからXML文書Aへの変換を行うXSLTファイル108の作成を開始する。まず、テンプレート記述手段204は、変換パターンを受け付けると、XML文書AからXML文書Bへの変換方向であるか、あるいはXML文書BからXML文書Aへの変換方向であるかに応じて、テンプレートDB205内のテンプレートを検索する。テンプレート記述手段204は、変換パターンをキーにして検索されたテンプレートを、XSLTファイル108に記述する。テンプレート記述手段204は、全ての変換対象の項目について、XSLTファイル108への記述が終了すると、作成したXSLTファイル108を出力する。
テンプレート記述手段204は、変換パターン決定手段203から変換パターンを受け付け、XSLTファイル108の作成を開始する。ここでは、XML文書AからXML文書Bへの変換を行うXSLTファイル108、及びXML文書BからXML文書Aへの変換を行うXSLTファイル108の作成を開始する。まず、テンプレート記述手段204は、変換パターンを受け付けると、XML文書AからXML文書Bへの変換方向であるか、あるいはXML文書BからXML文書Aへの変換方向であるかに応じて、テンプレートDB205内のテンプレートを検索する。テンプレート記述手段204は、変換パターンをキーにして検索されたテンプレートを、XSLTファイル108に記述する。テンプレート記述手段204は、全ての変換対象の項目について、XSLTファイル108への記述が終了すると、作成したXSLTファイル108を出力する。
前記の処理により、XML文書AからXML文書Bへの変換を行うXSLTファイル108、及びXML文書BからXML文書Aへの変換を行うXSLTファイル108が出力される。
(2−4−5)XML文書AからXML文書Bへの変換のためのXSLTファイルの作成
次に、XML文書AからXML文書Bへの変換を行うXSLTファイル108の作成方法について、図10及び図11の変換パターンを例にとり、より具体的に説明する。図14は、作成されるXSLTファイルの一例である。テンプレート記述手段204は、図14に示すXSLTのヘッダ情報(L501からL502)を含むXSLTファイル108の作成を開始する。なお、図14のXSLTファイル108は、XML文書AからXML文書Bへの変換の際のXSLTファイル108である。テンプレート記述手段204は、受け付けた変換パターンに対応するテンプレートの検索を行うために、XSLT記述(L503からL504の部分)をXSLTファイルに記述する。
次に、XML文書AからXML文書Bへの変換を行うXSLTファイル108の作成方法について、図10及び図11の変換パターンを例にとり、より具体的に説明する。図14は、作成されるXSLTファイルの一例である。テンプレート記述手段204は、図14に示すXSLTのヘッダ情報(L501からL502)を含むXSLTファイル108の作成を開始する。なお、図14のXSLTファイル108は、XML文書AからXML文書Bへの変換の際のXSLTファイル108である。テンプレート記述手段204は、受け付けた変換パターンに対応するテンプレートの検索を行うために、XSLT記述(L503からL504の部分)をXSLTファイルに記述する。
さらに、テンプレート記述手段204は、変換対応1の場合は、「要素」→「要素値」の変換パターンに対応するテンプレートをテンプレートDB205から検索する。ここでは、図12から「要素」→「要素値」の変換パターンとしてNo.7のテンプレートが検索される。そして、テンプレート記述手段204は、No.7のテンプレートをXSLTファイルに追記(L505からL506)する。同様に、変換対応2の「要素」→「要素」の変換パターンのテンプレートとして、図12のNo.1のテンプレートを検索する。そして、図13のXSLTファイルに追記(L507からL508)する。また、変換対応3に関しては、「要素」+「属性」+「属性値」→「要素」の変換パターンであるため、図12のNo.9のテンプレートを検索し、XSLTファイルに追記(L509からL510)する。オントロジー解析手段201が抽出した全ての変換対応に関してテンプレートの記述が終了すると、テンプレート記述手段204は、XSLTファイル108を出力する。
(2−4−6)XML文書BからXML文書Aへの変換のためのXSLTファイルの作成
次に、XML文書BからXML文書Aへの変換におけるXSLTファイル108も同様に作成を行う。変換パターン決定手段203は、図11の変換対象の項目、項目の種類、各項目のXpathのデータを用いて、変換パターンを決定している。ここで、変換対応1の変換は「要素値」→「要素」の変換パターン、変換対応2の変換は「要素」→「要素」の変換パターン、変換対応3の変換は「要素」→「要素」+「属性」+「属性値」の変換パターンである。変換パターン決定手段203は、テンプレート記述手段204に対してXSLTファイル作成の指示を出す。テンプレート記述手段204は、テンプレートDB205より、該当する変換パターンのテンプレートを検索する。「要素値」→「要素」の変換パターンは図12のNo.3のテンプレートが、「要素」→「要素」への変換パターンはNo.1のテンプレートが、「要素」→「要素」+「属性」+「属性値」への変換パターンはNo.10のテンプレートが検索される。そして、これらのテンプレートがXSLTファイルに記述される。記述後のXSLTファイルを図15に示す。図15には、まずXSLTの宣言部分(L801からL802)と、テンプレートを呼び出すための記述(L803からL804)が行われている。そして、図15のL803からL806にNo.3に対応するテンプレートが、L808からL809にNo.1に対応するテンプレートが、L810からL811にNo.10に対応するXSLTテンプレートが記述されている。
次に、XML文書BからXML文書Aへの変換におけるXSLTファイル108も同様に作成を行う。変換パターン決定手段203は、図11の変換対象の項目、項目の種類、各項目のXpathのデータを用いて、変換パターンを決定している。ここで、変換対応1の変換は「要素値」→「要素」の変換パターン、変換対応2の変換は「要素」→「要素」の変換パターン、変換対応3の変換は「要素」→「要素」+「属性」+「属性値」の変換パターンである。変換パターン決定手段203は、テンプレート記述手段204に対してXSLTファイル作成の指示を出す。テンプレート記述手段204は、テンプレートDB205より、該当する変換パターンのテンプレートを検索する。「要素値」→「要素」の変換パターンは図12のNo.3のテンプレートが、「要素」→「要素」への変換パターンはNo.1のテンプレートが、「要素」→「要素」+「属性」+「属性値」への変換パターンはNo.10のテンプレートが検索される。そして、これらのテンプレートがXSLTファイルに記述される。記述後のXSLTファイルを図15に示す。図15には、まずXSLTの宣言部分(L801からL802)と、テンプレートを呼び出すための記述(L803からL804)が行われている。そして、図15のL803からL806にNo.3に対応するテンプレートが、L808からL809にNo.1に対応するテンプレートが、L810からL811にNo.10に対応するXSLTテンプレートが記述されている。
なお、変換パターン決定手段203は、XML文書AからXML文書Bへの変換、あるいはXML文書BからXML文書Aへの変換におけるXSLTファイル108のどちらを作成するのかを指示しても良い。また、両方のXSLTファイル108に交代で記述を行い、同時にXSLTファイル108作成しても良い。
(2−4−7)XSLTファイルの記述方法
ここで、テンプレート記述手段204は、項目の階層構造を整理して複数のXSLTテンプレートを1つにまとめた形に修正したテンプレートをXSLTファイル108に記述すると好ましい。例えば、テンプレート記述手段204は、次のように修正したテンプレートをXSLTファイル108に記述する。図16はテンプレートを修正せずに作成したXSLTファイルの一例であり、図17は修正したテンプレートにより作成したXSLTファイルの一例である。図16のXSLTファイル108には、変換対象の項目毎にXpathがAAA/BBB、CCC、AAA/DDDである変換パターンのテンプレートが記述されている。この場合、L301とL302の部分で、<AAA>の項目が2回出力され、XSLTファイルへの記述が多くなる。そこで、上位の項目で下位の複数の項目を入れ子、つまり階層化する。例えば、出力される項目の順に、AAA/BBB、AAA/DDD、CCCのようにテンプレートのソートを行う。そして、図17に示すように同一の項目以下に含まれる項目は、1つの上位の項目にまとめてXSLTファイル(102)に記載する。これにより、<AAA>の項目は、L401部分に1回出力されるだけで、2回出力される現象を回避することができる。
ここで、テンプレート記述手段204は、項目の階層構造を整理して複数のXSLTテンプレートを1つにまとめた形に修正したテンプレートをXSLTファイル108に記述すると好ましい。例えば、テンプレート記述手段204は、次のように修正したテンプレートをXSLTファイル108に記述する。図16はテンプレートを修正せずに作成したXSLTファイルの一例であり、図17は修正したテンプレートにより作成したXSLTファイルの一例である。図16のXSLTファイル108には、変換対象の項目毎にXpathがAAA/BBB、CCC、AAA/DDDである変換パターンのテンプレートが記述されている。この場合、L301とL302の部分で、<AAA>の項目が2回出力され、XSLTファイルへの記述が多くなる。そこで、上位の項目で下位の複数の項目を入れ子、つまり階層化する。例えば、出力される項目の順に、AAA/BBB、AAA/DDD、CCCのようにテンプレートのソートを行う。そして、図17に示すように同一の項目以下に含まれる項目は、1つの上位の項目にまとめてXSLTファイル(102)に記載する。これにより、<AAA>の項目は、L401部分に1回出力されるだけで、2回出力される現象を回避することができる。
より具体的に、図18及び図19を用いて説明する。図18には、XML文書AからXML文書Bにデータ構造を変換する場合において、変換対象の項目毎のXpathを記載している。左欄にはXML文書AのXpathを、右欄にはXSLTファイルのXpathを示す。図19は、作成されるXSLTファイルを示す。
ここで、図18に示すように、XML文書Aの全ての変換対象である項目が、XML文書Bの「Semiconductor」以下の項目に変換される。よって、まず、XML文書Aの項目を項目「Semiconductor」に変換するテンプレートを、XSLTファイルに記述する(L601からL602)。すなわち、図19に示すように、項目「AnalogIC」は、項目「Semiconductor」を省略してXSLTファイル108に記述される(L603からL604)。同様に、項目「PartsName」及び「InputOffsetVoltage」についても、それぞれ、L605からL606及びL607からL608に示すように項目「Semiconductor」を省略してXSLTファイル108に記述される。
前記では、XSLTファイルの変換対象の項目毎のXpathに基づいて階層化しているが、XML文書AのXpathに基づいて階層化を行っても良い。より具体的に、図18及び図20を用いて説明する。図20は、作成されるXSLTファイルを示す。
図18に示すように、XML文書Aの変換対象の項目は、すべて項目「AnalogIC」以下の項目となっている。そこで、項目「AnalogIC」のテンプレート中に、項目「AnalogIC」以下の項目を呼び出すための記述を行う。すなわち、図20に示すように、項目「AnalogIC」のテンプレート(L701からL702)をXSLTファイルに記述する際に次の記述を行う。項目「AnalogIC」のテンプレートが終了する</xsl:template>(L702)の直前に、他のテンプレートを呼びだすための記述(L703)を行う。
[処理]
図21は、XML文書変換装置100が行う処理の流れを示すフローチャートである。
[処理]
図21は、XML文書変換装置100が行う処理の流れを示すフローチャートである。
ステップS11:オントロジー解析手段201は、オントロジーファイル107を読み込む。
ステップS12:オントロジー解析手段201は、オントロジーファイル107から変換対象となる項目を抽出する。
ステップS13:オントロジー解析手段201は、抽出した変換対象となる項目の対応関係を解析する。
ステップS14:スキーマファイル解析手段202は、XML文書のスキーマファイルを読み込む。
ステップS15、S16:スキーマファイル解析手段202は、読み込んだスキーマファイルから変換対象である項目のXpathや項目の種類等の項目の情報を解析する。
ステップS17:変換パターン決定手段203は、オントロジーファイルの解析結果及びスキーマファイルの解析結果に基づいて、XML文書A及びXML文書B間の変換パターンを決定する。
ステップS18:テンプレート記述手段204は、変換パターン決定手段203が決定した変換パターンに基づいて、XSLTファイル108に追記するテンプレートDB205を検索する。
ステップS19、S20:テンプレート記述手段204は、検索されたテンプレートに基づいてXSLTファイル108を追記し、出力する。
以上の処理により、XML文書AからXML文書Bへの変換に用いられるXSLTファイル108及びXML文書BからXML文書Aへの変換に用いられるXSLTファイル108がXSLTファイル作成装置101から出力される。
なお、オントロジー解析手段201によるステップS1からステップS3のオントロジーファイル107の解析処理の前に、スキーマファイル解析手段202によるステップS4からステップS6のスキーマファイルの解析処理を行っても良い。この場合、まず、スキーマファイル解析手段202は、スキーマファイル中の全ての項目を抽出し、解析する。次に、オントロジー解析手段201が変換対象となる項目を抽出する。そして、スキーマファイルから抽出された全ての項目の中から変換対象となる項目を抽出し、その変換パターンを決定する。変換パターンからXSLTファイル108の出力については、上記と同様の処理が行われる。
[効果]
構造化文書間の項目の対応関係を記述した対応関係ファイルを利用することにより、スキーマファイルから自動的かつ効率的に項目を抽出することができる。また、対応関係ファイル解析手段により項目間の対応関係を解析し、スキーマファイル解析手段により項目間の階層構造及び種類を解析することで、XML文書間の変換パターンを項目ごとに決定することができる。よって、決定された変換パターンに基づいてスタイルシートを自動的、効率的かつ容易に作成することができる。
[効果]
構造化文書間の項目の対応関係を記述した対応関係ファイルを利用することにより、スキーマファイルから自動的かつ効率的に項目を抽出することができる。また、対応関係ファイル解析手段により項目間の対応関係を解析し、スキーマファイル解析手段により項目間の階層構造及び種類を解析することで、XML文書間の変換パターンを項目ごとに決定することができる。よって、決定された変換パターンに基づいてスタイルシートを自動的、効率的かつ容易に作成することができる。
また、スタイルシートの作成は、スキーマファイルから対応関係ファイルのモデルへの変換を伴わずに、)対応関係ファイル及びスキーマファイルの解析結果に基づいて行われる。そのため、変換に伴う項目の情報の欠落や情報の意味の変更などを防止することができる。
<その他の実施形態例>
コンピュータに前述の処理を実行させるプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
コンピュータに前述の処理を実行させるプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
メタデータのデータ構造が撮影、編集、放送などの段階によって変化するような、放送局のメタデータ制作システム等に利用可能であり、特に、そのシステム内のメタデータデータ構造の変換装置に好適である。
100:XML文書変換装置
101:XSLTファイル作成装置
102:XSLTパーサ
107:オントロジーファイル
108:XSLTファイル
201:オントロジー解析手段
202:スキーマファイル解析手段
203:変換パターン決定手段
204:テンプレート記述手段
205:テンプレートDB
101:XSLTファイル作成装置
102:XSLTパーサ
107:オントロジーファイル
108:XSLTファイル
201:オントロジー解析手段
202:スキーマファイル解析手段
203:変換パターン決定手段
204:テンプレート記述手段
205:テンプレートDB
Claims (11)
- データ構造の異なる第1及び第2構造化文書間においてデータ構造の変換を行うためのスタイルシート作成装置であって、
前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析手段と、
各構造化文書に含まれる情報単位である項目について、前記第1及び第2構造化文書間におけるその関連付けを記述した対応関係ファイルを読み込み、前記項目の対応関係を解析する対応関係ファイル解析手段と、
前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定手段と、
前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力手段と、
を含むことを特徴とするスタイルシート作成装置。 - 前記スキーマファイル解析手段は、前記対応関係ファイル解析手段において前記第1及び第2構造化文書間の対応関係が解析された項目を、前記第1及び第2スキーマファイルから抽出し、抽出した項目の情報を解析することを特徴とする請求項1に記載のスタイルシート作成装置。
- 前記項目の情報とは、前記項目の種類及び/または項目の階層構造であることを特徴とする請求項2に記載のスタイルシート作成装置。
- 前記項目の種類は、要素、属性、要素値及び/または属性値が含まれることを特徴とする請求項3に記載のスタイルシート作成装置。
- 前記対応関係ファイルは、OWL(Web Ontology Language)により記述されたオントロジーファイルであることを特徴とする請求項1に記載のスタイルシート作成装置。
- 前記スキーマファイル解析手段は、前記対応関係ファイル解析手段において前記第1及び第2構造化文書間の対応関係が解析された項目を、前記第1及び第2スキーマファイルから抽出し、その情報を解析し、
前記変換パターン決定手段は、抽出された項目の対応関係を項目の情報の対応関係に置換することにより変換パターンを項目毎に決定することを特徴とする請求項1に記載のスタイルシート作成装置。 - 前記変換パターン決定手段は、前記第2構造化文書から前記第1構造化文書への変換パターンをさらに決定することを特徴とする請求項1に記載のスタイルシート作成装置。
- 前記スタイルシート出力手段は、
前記第1構造化文書の項目から前記第2構造化文書の項目への変換パターンを所定のスタイルシート言語で定義するテンプレートを、変換パターン毎に記憶している変換パターン蓄積手段と、
前記変換パターン決定手段が決定した各変換パターンに対応するテンプレートを前記変換パターン蓄積手段から抽出し、抽出したテンプレートに基づいて前記スタイルシートに前記スタイルシート言語で前記変換パターンを記述するテンプレート記述手段と、
を有することを特徴とする請求項1に記載のスタイルシート作成装置。 - 前記変換パターン蓄積手段は、項目の情報の変換パターンを定義するテンプレートを記憶していることを特徴とする請求項8に記載のスタイルシート作成装置。
- 前記構造化文書はXML(eXtensible Markup Language)文書であり、前記スキーマファイルはXMLスキーマファイルであり、前記スタイルシートはXSLT(XML Stylesheet Language Transformations)ファイルであることを特徴とする請求項1に記載のスタイルシート作成装置。
- データ構造の異なる第1及び第2構造化文書間においてデータ構造の変換を行うためのスタイルシート作成方法であって、
前記第1及び第2構造化文書それぞれについてその構造を記述した第1及び第2スキーマファイルを解析するスキーマファイル解析ステップと、
各構造化文書に含まれる情報単位である項目について、前記第1及び第2構造化文書間におけるその関連付けを記述した対応関係ファイルを読み込み、前記項目の対応関係を解析する対応関係ファイル解析ステップと、
前記対応関係ファイルの解析結果及び前記スキーマファイルの解析結果に基づいて、前記第1構造化文書から前記第2構造化文書への変換パターンを決定する変換パターン決定ステップと、
前記変換パターンに基づいて、前記第1及び第2構造化文書の異なる構造化文書間におけるデータ構造の変換を行うためのスタイルシートを出力するスタイルシート出力ステップと、
を含むことを特徴とするスタイルシート作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004175206A JP2005352945A (ja) | 2004-06-14 | 2004-06-14 | スタイルシート作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004175206A JP2005352945A (ja) | 2004-06-14 | 2004-06-14 | スタイルシート作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005352945A true JP2005352945A (ja) | 2005-12-22 |
Family
ID=35587357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004175206A Pending JP2005352945A (ja) | 2004-06-14 | 2004-06-14 | スタイルシート作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005352945A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008245258A (ja) * | 2007-03-23 | 2008-10-09 | Research In Motion Ltd | モバイル配信フレームワークにおけるコンテンツ処理の調和のための方法およびシステム |
JP2010277120A (ja) * | 2009-05-26 | 2010-12-09 | Kyocera Mita Corp | 画像形成装置及びアプリケーションビュー変換プログラム |
US7882145B2 (en) | 2007-03-23 | 2011-02-01 | Research In Motion Limited | Method and system for orchestration of content processing in mobile delivery frameworks |
JP2016038685A (ja) * | 2014-08-06 | 2016-03-22 | Jfeシステムズ株式会社 | データ変換装置、データ変換方法、及びデータ変換プログラム |
-
2004
- 2004-06-14 JP JP2004175206A patent/JP2005352945A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008245258A (ja) * | 2007-03-23 | 2008-10-09 | Research In Motion Ltd | モバイル配信フレームワークにおけるコンテンツ処理の調和のための方法およびシステム |
US7882145B2 (en) | 2007-03-23 | 2011-02-01 | Research In Motion Limited | Method and system for orchestration of content processing in mobile delivery frameworks |
JP2010277120A (ja) * | 2009-05-26 | 2010-12-09 | Kyocera Mita Corp | 画像形成装置及びアプリケーションビュー変換プログラム |
JP2016038685A (ja) * | 2014-08-06 | 2016-03-22 | Jfeシステムズ株式会社 | データ変換装置、データ変換方法、及びデータ変換プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Geurts et al. | Towards ontology-driven discourse: From semantic graphs to multimedia presentations | |
CN100547581C (zh) | 生成结构模式候选对象的方法、*** | |
JP4997749B2 (ja) | 文書処理方法、プログラム及びシステム | |
US20060236228A1 (en) | Extensible markup language schemas for bibliographies and citations | |
Ide et al. | The linguistic annotation framework: a standard for annotation interchange and merging | |
JP2006525608A (ja) | ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法 | |
Huynh et al. | Enabling web browsers to augment web sites' filtering and sorting functionalities | |
Troncy | Bringing the IPTC news architecture into the semantic web | |
CA2353682A1 (en) | Link management of document structures | |
JP4042830B2 (ja) | コンテンツ属性情報正規化方法、情報収集・サービス提供システム、並びにプログラム格納記録媒体 | |
US20090083300A1 (en) | Document processing device and document processing method | |
JP2008090404A (ja) | 文書検索装置、文書検索方法および文書検索プログラム | |
Almas et al. | Perseids collaborative platform for annotating text re-uses of fragmentary authors | |
US20080005662A1 (en) | Server Device and Name Space Issuing Method | |
US20110252313A1 (en) | Document information selection method and computer program product | |
Lunn et al. | Combining SADIe and AxsJAX to improve the accessibility of web content | |
Stührenberg et al. | A toolkit for multi-dimensional markup | |
US20080005085A1 (en) | Server Device and Search Method | |
JP2005352945A (ja) | スタイルシート作成装置 | |
KR100941971B1 (ko) | 멀티미디어 검색을 위한 질의 표현 장치 및 방법 | |
JP5426533B2 (ja) | マルチメディアコンテンツを検索する方法及び装置 | |
Boot et al. | Connecting TEI content into an ontology of the editorial domain | |
JP4410005B2 (ja) | 構造化文書の構造変換装置、プログラム | |
JP5102474B2 (ja) | Xmlデータ生成方法及びそのプログラム | |
Witt et al. | Integrated linguistic annotation models and their application in the domain of antecedent detection |