JP2003177915A - 構造化データの汎用オブジェクト指向記述(gdl)のための方法 - Google Patents
構造化データの汎用オブジェクト指向記述(gdl)のための方法Info
- Publication number
- JP2003177915A JP2003177915A JP2002192638A JP2002192638A JP2003177915A JP 2003177915 A JP2003177915 A JP 2003177915A JP 2002192638 A JP2002192638 A JP 2002192638A JP 2002192638 A JP2002192638 A JP 2002192638A JP 2003177915 A JP2003177915 A JP 2003177915A
- Authority
- JP
- Japan
- Prior art keywords
- template
- templates
- gdl
- schema
- entry
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Stored Programmes (AREA)
Abstract
る任意のデータを記述し、得るために使用する方法を提
供する。 【解決手段】 この方法はメタ言語「構造化データの汎
用オブジェクト指向記述(GDL)」およびパーサを提
供する。GDLによりユーザがテンプレートとして知ら
れるスキーマの使用を介して対象を編成、定義かつ記述
できる。テンプレートを用いて各対象要素の意味を定義
でき、各要素がより大きいデータフレームワークに適合
する方法を定義できる。継承の概念を介し、テンプレー
トを変化するレベルのネスティングに拡張かつ定義し、
なおプロパティの共通コアを有せる。GDLにより、対
象のフィーチャおよび属性を、ソースファイルの変更に
より、高速かつ容易に拡張あるいは修正できる。GDL
パーサは、情報の構造化および階層化表現、テキストエ
ントリの意味の検証、およびソースファイルから得られ
た情報をトラバースする手段を提供する。
Description
ソフトウェアに関し、より詳細には、コンピュータシス
テムにおける任意データに関係する情報を編成、定義か
つ得るための方法およびシステムに関する。
ムは一般に、システムおよびアプリケーションの情報を
複数のメーカの様々なデバイスと通信するための機能を
組み込んでいる。コンピュータ業界の成長は、ハードウ
ェアおよびソフトウェア周辺製品を市場向けに提供する
多数の企業を生んだ。これらすべての場合で、オペレー
ティングシステムメーカは、このようなハードウェアお
よびソフトウェアがインストールされるコンピュータ
内、およびその間で互換性およびデータ交換を保証しな
ければならない。コンピュータシステム上で実行される
多数のアプリケーションプログラムが有効に周辺デバイ
スと通信できるようにするため、オペレーティングシス
テム設計者は、デバイス非依存アクセスを可能にするイ
ンターフェイスを開発している。このような2つのイン
ターフェイスは、グラフィックスデバイスインターフェ
イス(GDI)および汎用プリンタ定義言語(GPD)
であり、これらはいずれも特にプリンタデバイスを処理
するために設計された。
依存しない方法で印刷デバイスへのアクセスを可能にす
る機能を呼び出すことによって、アプリケーションプロ
グラムからの出力データに作用する。GDIは、プログ
ラムがデータを送信するアプリケーションプログラムお
よび出力周辺デバイスに、一様なインターフェイスを提
供する。この一様なインターフェイスにもかかわらず、
GDIは、市場で入手可能なプリンタデバイスの多数の
各モデルを駆動することが可能な実際のプリンタコント
ロールコマンドを生成することができない。このよう
に、個々の各プリンタは、GDIからの標準化された出
力に基づいて、各プリンタの様々なコントロール機能を
実施することができるそれ自体の個別のプリンタドライ
バを必要とした。これらの標準機能には、初期化、情
報、出力、属性、モードおよびエスケープシーケンスが
含まれた。これらのモノリシックな各ドライバは、各プ
リンタについて必要なインターフェイスを提供したが、
これらは一般にサイズが非常に大きかった。このような
拡張ドライバの必要性は、プリンタのメーカおよびオペ
レーティングシステムのベンダだけでなく、このような
ドライバがインストールされる個々のコンピュータシス
テムにも影響を与えた。具体的には、システム上の空間
要件およびリソース利用が、特に複数のプリンタをサポ
ートする必要があるとき、非実際的なものとなる。加え
て、これらのドライバの開発およびコーディングは、ど
んなによくても厄介である。GDIに関係する問題を克
服するため、これらのドライバの記述を支援するように
グラフィカルユーザインターフェイス(GUI)ツール
が開発された。このツールにはGeneric Pri
nter Characterization(GP
C)が含まれており、これは、プリンタの相手先商品製
造会社(OEM)によって供給される1つ以上のプリン
タの全機能性および能力を記述することのアプリケーシ
ョン非依存性を提供するように意図されたものである。
GPCは、プリンタデバイスを記述する能力が制限され
ており、プリンタ機能のための拡張性が制限されてい
る。そのため、GPDとして知られたプリンタ定義内で
使用される構文および意味(semantics)の柔
軟性のあるモジュールアーキテクチャの開発に至った。
この定義言語はより様々なプリンタのためのよりよいサ
ポートを提供し、再設計を必要とすることなく、出力品
質、使いやすさおよびパフォーマンスを向上させる。
ァイルフォーマットであり、単一のユニバーサルドライ
バで動作するミニドライバを作成するためのものであ
る。通常、各プリンタモデルについて1つのGPDファ
イルがあり、異なるプリンタもGPDファイルを共有す
ることができる。GPDファイルはプリンタのすべての
機能を記述し、これには、これらの機能の表示方法およ
び呼び出し方法が含まれる。GPDファイルはまた、プ
リンタ固有のコマンドおよび属性も含み、これによりユ
ニバーサルドライバが正しいプリンタレディ(prin
ter−ready)出力データを生成することができ
る。
ストール可能なオプションおよび様々なタイプの制約を
サポートするが、これは、プリンタデバイスのみを対象
とするという事実において制限されている。値依存性の
ためにGPDにおいて提供されるサポートは、開発者が
プリンタコマンドおよび/または属性の間のいかなる種
類の依存性をも記述することを可能にする。このサポー
トは、コマンドパラメータ仕様スキームとあいまって、
有用である一方、言語の幅広い規模の適用可能性におい
ていくつかの制約でもある。GPD用のパーサはデータ
を単一のバイナリフォーマットに解析するため、ユニバ
ーサルドライバは、GPC改訂版およびモノリシックな
ドライバの場合のように、異なるバイナリフォーマット
について心配する必要がない。GPDパーサはそれでも
なお他の欠点を有する。たとえば、Attribut
e:Valueペアの静的(非拡張可能)なセット、お
よびプリンタデバイスの特徴を記述するために使用でき
るこれらのペアの事前定義された集まり(コンストラク
ト)は、新しい機能がプリンタに追加されるとき、新し
いAttribute:Valueペアまたはコンスト
ラクトを定義し、かつGPD言語に追加することを必要
とし、それによりGPDパーサへの変更がプログラムレ
ベルで必要となる。
スクは、意味の内容が、コンストラクトが生じるコンテ
キストに依存するという事実によって複雑になる。たと
えば、PaperSize *Feature内に現れ
る*Optionsコンストラクトは、Resolut
ion *Feature内に現れる*Options
コンストラクトとは異なるメンバ(members)を
有する。実際に、カスタムの用紙を記述する*Opti
onは、システム定義の用紙を記述する*Option
とは異なり、さらにレターサイズの用紙を記述する*O
ptionも、法定サイズの用紙を記述する*Opti
onとは異なる。これにより、通常の拡張マークアップ
言語(XML)スキーマを使用する記述が不可能とな
る。XMLはメタマークアップ言語であり、幅広い種類
のケースについてコンテンツ、意味およびスキーマを符
号化することによって構造化データを記述するためのフ
ォーマットを提供するものであるが、XMLでは、記述
がベースの記述のプロパティおよび特徴を継承(inh
erit)することができる能力および機能性が欠乏し
ている。多数のネストされたSwitch/Case依
存性を含むテンプレート(template)を使用し
た記述は、よくても扱いにくいものである。テンプレー
トの間の関係を、継承のオブジェクト指向の概念を使用
して定義するための方法は、より単純でよりロバストな
言語機能を生じる。この概念は、C++などのオブジェ
クト指向プログラミング言語において使用可能である
が、これらの言語における継承の適用はソースコードお
よびメモリ空間を対象とし、それらに適用可能である。
実際には、これらの環境における継承の目的および使用
は、コードの多相性(2つ以上の類似のオブジェクト
を、共通のインターフェイスを介して見るための能力で
あり、したがって、オブジェクトの間で区別する必要が
ない)および再利用可能性のための手段としてのもので
ある。
されたものとして容易に記述かつ類別化する概念には多
数の利点があるが、継承の概念によって得られるロバス
ト性、能力および構造に欠けている。多数の個々のもの
は、XML記述または定義グループ化を、その下にある
グループ化を修正することなく容易に拡張あるいは増大
させることができず、したがって、互換性の問題が、元
のデータのグループ化を利用したいかなるアプリケーシ
ョンまたはプログラムにも生じる。同様に、継承をC+
+などのオブジェクト指向プログラム(OOP)内で利
用する能力には、XMLによって得られる使いやすさが
欠けている。個々のものは、コードおよびメモリ区分の
組合せなどの対象を強制的にOOPで定義させられ、こ
れにより対象の定義または記述における所望の簡易性が
混乱させられる。
的に更新する一方で、対象データの記述または定義にお
ける柔軟性も提供するために必要とされたオーバーヘッ
ドを回避するための必要性がある。サードパーティが望
むいかなるAttribute:Valueペアまたは
コンストラクトをも追加することができ、かつ新しい属
性を、言語またはパーサを修正する要件なしに、テンプ
レートを使用して記述することができるメタ言語が必要
とされる。テンプレート継承の使用により、拡張された
データフォーマットが、元のデータスキーマを取り扱う
ように設計されているいかなるアプリケーションおよび
ユーティリティとも互換性を保つことが保証される。さ
らに、強力で使いやすい汎用メタ言語の使用により、記
述および定義を、プリンタ記述または特徴付け言語を超
えた目的のために実施する能力が得られる。
のデータを記述するためにコンピュータシステム内で使
用するための方法が提供される。本発明によれば、この
方法は、本明細書で「構造化データの汎用オブジェクト
指向記述」(GDL)と称するメタ言語およびパーサを
提供する。GDLにより、ユーザが実際のデータを表現
し、テンプレートを作成することができ、これらが、各
データ要素のための意味を定義し、ならびに各データ要
素がより大きいデータフレームワークに適合する方法を
定義するために使用される。テンプレートはソースファ
イルにおいて実施され、これが1つ以上の対象データを
属性およびコンストラクトの形式において定義する。パ
ーサはメタ言語を実施し、GDLファイルのコンテンツ
を解釈し、テンプレート内で提供された定義に基づいて
エントリの構文を確認する。
れには、以前の対象に特有の定義の汎用拡張、テンプレ
ートの使用および継承の概念が含まれる。GDLは、い
かなるタイプのコンピュータ周辺デバイスの定義にも適
用可能であり、有用である。テンプレートは、記述され
たデバイスに関連付けられるデータのコンテキスト、な
らびに関係のあるデータの汎用編成を提供する。継承
は、多数のテンプレートの間の関係を定義すると同時
に、小型の定義およびベースフレームワークの変形の作
成も可能にする。継承はまた、サードパーティがデバイ
ス定義を拡張かつ修正すると同時に、最初に定義された
標準システムテンプレートになお準拠するための手段も
提供する。デバイス定義用のスキーマを作成するための
GDLの構造化方法はまた、テキストベースのファイル
内で意味および定義情報の検証を容易にするための手段
も提供する。
付けられた利点の実現を支援するコンポーネントであ
る。パーサは構文解析、データ格納ツリーの構築、テン
プレートのフィルタリング、意味の確認およびシリアラ
イズ化/デシリアライズ化(serializatio
n/deserialization)のサポートを提
供する。構文解析は、GDLソースファイルの構造およ
びコンテンツを調査し、発見することからなる。GDL
ファイルにおけるあらゆるエントリが最終的には、デー
タまたはテンプレートツリーにおける一意のノードによ
って表現される。パーサフィルタが生の値ストリングを
他のデータタイプおよびデータ構造に変換し、これらを
クライアントが利用して、解析ツリーの異なるビューを
提示することができる。パーサフィルタにより、クライ
アントが、各GDLエントリについて定義されているテ
ンプレート属性を決定し、したがって意味を検証するこ
ともできる。以前に述べたように、GDLソースファイ
ルの解析結果は複雑なツリーである。このツリーはシリ
アライズされ、解析から得られた情報の内部表現が、そ
れがソースファイルを再解析する必要なく検索(デシリ
アライズ)することができる方法で格納されることを意
味する。ツリーにおけるノードの内部表現は動的に構成
可能であり、すなわちこれを、必要に応じて修正、削除
あるいは追加することができる。
に続く説明で述べるが、部分的には、当業者には以下を
調べれば明らかになり、あるいは本発明の実施によって
知ることができる。
参照して記載する。
られた情報を、コンピュータシステムを利用して編成、
定義かつ得るための方法および言語を提供する。例とし
て、それだけに限定されるものではないが、対象データ
には、コンピュータデバイス、抽象的アイデア、音楽お
よび他のこのような情報または概念が含まれる。図1
は、本発明を実施することができる適切なコンピューテ
ィングシステム環境100の一実施例を例示する。コン
ピューティングシステム環境100は、適切なコンピュ
ーティング環境の一実施例でしかなく、本発明の使用ま
たは機能性の範囲についていかなる限定をも示唆するよ
うに意図されるものではない。また、コンピューティン
グ環境100は、例示的オペレーティング環境100に
例示したコンポーネントのいずれか1つまたはその組合
せに関係するいかなる依存性または要件をも有するもの
として解釈されるべきでもない。
ピューティングシステム環境または構成により動作可能
である。本発明による使用に適切な可能性のある周知の
コンピューティングシステム、環境および/または構成
の実施例には、それだけに限定されるものではないが、
パーソナルコンピュータ、サーバコンピュータ、ハンド
ヘルドまたはラップトップデバイス、マルチプロセッサ
システム、マイクロプロセッサベースのシステム、プロ
グラム可能な家庭用電化製品、ネットワークPC、ミニ
コンピュータ、メインフレームコンピュータ、上のシス
テムまたはデバイスなどのいずれかを含む分散コンピュ
ーティング環境が含まれる。
の例示的システムは、コンピュータ110の形式におけ
る汎用コンピューティングデバイスを含む。コンピュー
タ110のコンポーネントは、それだけに限定されるも
のではないが、処理装置120、システムメモリ13
0、および、システムメモリを含む様々なシステムコン
ポーネントを処理装置120に結合するシステムバス1
21を含む。システムバス121はいくつかのタイプの
バス構造のいずれにすることもでき、これにはメモリバ
スまたはメモリコントローラ、周辺バス、および様々な
バスアーキテクチャのいずれかを使用するローカルバス
が含まれる。例として、それだけに限定されるものでは
ないが、このようなアーキテクチャには、業界標準アー
キテクチャ(ISA)バス、マイクロチャネルアーキテ
クチャ(MCA)バス、拡張ISA(EISA)バス、
Video Electronics Standar
dsAssociation(VESA)ローカルバ
ス、および、メザニンバスとしても知られる周辺装置相
互接続(PCI)バスが含まれる。
ュータ可読媒体を含む。コンピュータ可読媒体は、コン
ピュータ110によってアクセスすることができるいか
なる使用可能な媒体にすることもでき、これには、揮発
性および不揮発性媒体、取外し可能および取外し不可能
な媒体が含まれる。例として、それだけに限定されるも
のではないが、コンピュータ可読媒体は、コンピュータ
記憶媒体および通信媒体を含むことができる。コンピュ
ータ記憶媒体は、揮発性および不揮発性媒体、取外し可
能および取外し不可能な媒体を含み、これらはコンピュ
ータ可読命令、データ構造、プログラムモジュールまた
は他のデータなど、情報を格納するためのいずれかの方
法または技術において実施される。コンピュータ記憶媒
体には、それだけに限定されるものではないが、RA
M、ROM、EEPROM、フラッシュメモリまたは他
のメモリ技術、CD−ROM、デジタル多用途ディスク
(DVD)または他の光記憶装置、磁気カセット、磁気
テープ、磁気ディスク記憶装置または他の磁気記憶デバ
イス、または、所望の情報を格納するために使用するこ
とができ、かつコンピュータ110によってアクセスす
ることができる他のいかなる媒体もが含まれる。通信媒
体は通常、コンピュータ可読命令、データ構造、プログ
ラムモジュール、または、搬送波または他の移送メカニ
ズムなど、変調データ信号における他のデータを実施
し、いかなる情報搬送媒体をも含む。例として、それだ
けに限定されるものではないが、通信媒体には、ワイヤ
ードネットワークまたはダイレクトワイヤード接続など
のワイヤード媒体、および、音波、RF、赤外線および
他のワイヤレス媒体などのワイヤレス媒体が含まれる。
上記のいずれの組合せも、コンピュータ可読媒体の範囲
内に含まれるべきである。
媒体を含み、これは読取り専用メモリ(ROM)131
およびランダムアクセスメモリ(RAM)132などの
揮発性および/または不揮発性メモリの形式におけるも
のである。基本入出力システム133(BIOS)は、
起動中など、情報をコンピュータ110内の要素の間で
転送するための助けとなる基本ルーチンを含み、通常は
ROM131に格納される。RAM132は通常、デー
タおよび/またはプログラムモジュールを含み、これら
は処理装置120によって直接アクセス可能であり、か
つ/またはほどなく動作される。例として、それだけに
限定されるものではないが、図1はオペレーティングシ
ステム134、アプリケーションプログラム135、他
のプログラムモジュール136およびプログラムデータ
137を例示する。
能/取外し不可能、揮発性/不揮発性のコンピュータ記
憶媒体も含むことができる。例としてのみ、図1は、取
外し不可能、不揮発性の磁気媒体から読み取りあるいは
これに書き込むハードディスクドライブ141、取外し
可能、不揮発性磁気ディスク152から読み取りあるい
はこれに書き込む磁気ディスクドライブ151、およ
び、CD−ROMまたは他の光媒体など、取外し可能、
不揮発性光ディスク156から読み取りあるいはこれに
書き込む光ディスクドライブ155を例示する。例示的
オペレーティング環境において使用することができる、
他の取外し可能/取外し不可能、揮発性/不揮発性のコ
ンピュータ記憶媒体には、それだけに限定されるもので
はないが、磁気テープカセット、フラッシュメモリカー
ド、デジタルビデオディスク、デジタルビデオテープ、
ベルヌーイカートリッジ、ソリッドステートRAM、ソ
リッドステートROMなどが含まれる。ハードディスク
ドライブ141は通常システムバス121へ、インター
フェイス140などの取外し不可能メモリインターフェ
イスを介して接続され、磁気ディスクドライブ151お
よび光ディスクドライブ155は通常システムバス12
1へ、インターフェイス150などの取外し可能メモリ
インターフェイスによって接続される。
よびそれらの関連付けられたコンピュータ記憶媒体が、
コンピュータ110用の、コンピュータ可読命令、デー
タ構造、プログラムモジュールおよび他のデータの記憶
装置を提供する。図1では、たとえば、ハードディスク
ドライブ141が、オペレーティングシステム144、
アプリケーションプログラム145、他のプログラムモ
ジュール146およびプログラムデータ147を格納す
るものとして例示される。これらのコンポーネントは、
オペレーティングシステム134、アプリケーションプ
ログラム135、他のプログラムモジュール136およ
びプログラムデータ137と同じものにも異なるものに
もすることができる。オペレーティングシステム14
4、アプリケーションプログラム145、他のプログラ
ムモジュール146およびプログラムデータ147には
異なる番号が与えられて、最低でも、それらが異なるコ
ピーであることが例示される。ユーザが、コマンドおよ
び情報をコンピュータ110へ、キーボード162およ
びポインティングデバイス161などの入力デバイスを
介して入力することができ、これらは一般に、マウス、
トラックボールまたはタッチパッドと呼ばれる。他の入
力デバイス(図示せず)には、マイクロフォン、ジョイ
スティック、ゲームパッド、衛星放送受信アンテナ、ス
キャナなどが含まれる可能性がある。これらおよび他の
入力デバイスがしばしば処理装置120へ、システムバ
スに結合されるユーザ入力インターフェイス160を介
して接続されるが、これを、パラレルポート、ゲームポ
ートまたはユニバーサルシリアルバス(USB)など、
他のインターフェイスおよびバス構造によって接続する
ことができる。モニタ191または他のタイプの表示デ
バイスもシステムバス121へ、ビデオインターフェイ
ス190などのインターフェイスを介して接続される。
モニタ191に加えて、コンピュータは、スピーカ19
7およびプリンタ196など、出力周辺インターフェイ
ス195を介して接続することができる他の周辺出力デ
バイスも含むことができる。
おいて、リモートコンピュータ180など、1つ以上の
リモートコンピュータへの論理接続を使用して動作する
ことができる。リモートコンピュータ180は、パーソ
ナルコンピュータ、サーバ、ルータ、ネットワークP
C、ピアデバイスまたは他の共通ネットワークノードに
することができ、通常は、コンピュータ110に関連し
て上に記載した要素の多数またはすべてを含むが、メモ
リデバイス181のみを図1に例示した。図1に示す論
理接続は、ローカルエリアネットワーク(LAN)17
1および広域ネットワーク(WAN)173を含むが、
他のネットワークも含むことができる。このようなネッ
トワーキング環境は、オフィス、企業全体のコンピュー
タネットワーク、イントラネットおよびインターネット
において一般的である。
するとき、コンピュータ110がLAN171へ、ネッ
トワークインターフェイスまたはアダプタ170を介し
て接続される。WANネットワーキング環境において使
用するとき、コンピュータ110は通常、モデム17
2、またはインターネットなど、WAN173を介して
通信を確立するための他の手段を含む。モデム172を
内部あるいは外部にすることができ、システムバス12
1へ、ネットワークインターフェイス170または他の
適切なメカニズムを介して接続することができる。ネッ
トワーク環境では、コンピュータ110に関して示した
プログラムモジュール、またはその一部を、リモートメ
モリ記憶デバイスに格納することができる。例として、
それだけに限定されるものではないが、図1はリモート
アプリケーションプログラム185を、メモリデバイス
181上に存在するものとして例示する。図示のネット
ワーク接続は例示的であり、通信リンクをコンピュータ
の間で確立する他の手段を使用できることは理解されよ
う。
ポーネントは図示しないが、このようなコンポーネント
および相互接続が周知であることは、当業者には理解さ
れよう。したがって、コンピュータ110の内部構造に
関する追加の詳細を、本発明に関連して開示する必要は
ない。
いはリセットされたとき、ROM131に格納されてい
るBIOS133が処理装置120に、オペレーティン
グシステムをハードディスクドライブ141からRAM
132にロードするように命令する。オペレーティング
システム134がRAM132にロードされた後、処理
装置120がオペレーティングシステムコードを実行
し、オペレーティングシステム134のユーザインター
フェイスに関連付けられた視覚的要素をモニタ191上
に表示させる。アプリケーションプログラム135がユ
ーザによって開かれたとき、プログラムコードおよび関
連データがハードディスクドライブ141から読み込ま
れ、RAM132に格納される。
に関係する情報の定義、スクリプティングおよび解析が
可能となる。この方法およびシステムを、「MICRO
SOFT CORPORATION」による「WIND
OWS(登録商標)」グラフィカルオペレーティングシ
ステムにおいて実施されるものとして記載するが、この
方法およびシステムを、サードパーティによって製造あ
るいは実施される多数の周辺デバイスをサポートするい
かなるシステムにおいても使用できることは、当業者に
は理解されよう。加えて、本発明の方法はある構文−G
DLにより実施されるものとして記載されるが、これは
例示のために行われており、本明細書で提供された構文
が例示的であることに留意されたい。他のメタ言語構文
の使用は、本発明の範囲内である。
e(属性):Value(値)エントリのセットであ
る。エントリのセットは、0、1つ以上のエントリを指
す。このようなエントリの集まりがコンストラクトと呼
ばれる。コンストラクトの本体を形成する各エントリ
は、コンストラクトメンバと呼ばれる。各属性がパラメ
ータ、およびそのパラメータに割り当てられる値を命名
する。GDLでは、すべての属性名がアスタリスクで始
まり、たとえば、*OdometerReading:
28195が、GDLにおけるAttribute:V
alueエントリとなる。コンストラクトにより、関係
するエントリを論理データセットにグループ化すること
ができる。たとえば、車を記述するデータのセットを有
する場合、これを以下のように編成することができる。 *Vehicle: Dodge_Minivan { *Make: Dodge *Model: Caravan *Year: 1998 *OdometerReading: 28195 *LicensePlate: XQM 498 }
トラクトタイプであり、これがいくつかの属性、すなわ
ちModel、Make、Year、Odometer
ReadingおよびLicensePlateを共に
グループ化する。
コンポーネントステップ300〜310に関して例示す
る。一般に、本発明の実施は最初に、GDLテンプレー
トおよび他のデータエントリを含むテキストファイル3
00を作成することを必要とする。GDLパーサは、フ
ァイルおよび様々なエントリを読み込み、ならびにデー
タツリーを提供するプロセス、ブランチを列挙する方
法、ツリーナビゲーション、Switch/Case処
理およびデータアクセスを実行する。解析はステップ3
02で開始する。次いで、ステップ304で、パーサが
内部表現(「ツリー」)を生成し、これはテキストファ
イルから得られるデータのものである。ステップ306
で、パーサインターフェイス関数のセットf(1)ない
しf(n)が、内部表現されたテンプレートおよびデー
タへのアクセスを提供する。ステップ308で、クライ
アントアプリケーション、またはGDLデータのコンシ
ューマである他のプログラムに固有のフィルタが検証、
競合の解消、および、パーサの範囲を超える他のタイプ
の特定のデータ操作または変換を実行する。最後にステ
ップ310で、データを消費するアプリケーションおよ
び/またはプログラムが情報を得ることができる。前述
の各ステップおよび手順の特定の詳細は以下の通りであ
る。
仕様に準拠しなければならない。ファイルはテンプレー
トおよび非テンプレートエントリからなり、その両方が
有効なGDL構文に準拠する。非テンプレートエントリ
が使用されて有効なツリーが構築され、これがすべての
属性およびコンストラクト、およびそれらの関連付けら
れた値を保持する。テンプレートエントリが使用されて
別のツリーが作成され、これが有効なツリーにリンクさ
れる。GDLファイルは、エントリのシーケンスとして
見なすことができる。各エントリはキーワード:値ペア
であり、コロンによって分離され、論理改行によって終
了される。GDLの仕様は、言語に肝要なフィーチャの
特定の参照および考察によって最適に説明される。これ
らのフィーチャは、テンプレート、テンプレート継承お
よびGDLパーサの概念を含む。パーサを使用して言語
の構文を、GDLデータがクライアントプログラムおよ
びアプリケーションにアクセス可能にされる方法と共に
説明し、指定する。
トを提供する。テンプレートは、GDLファイルが従う
べきである意味ルールのセットを指定する、純粋にデー
タドリブンの方法である。たとえば、*Nameキーワ
ードはあるオブジェクトのための名前を定義し、次いで
問題は、名前が人を指すか、惑星を指すか、プリンタを
指すか、フィーチャを指すかオプションを指すかであ
る。さらに、十分に形成された名前にいずれかの制約が
あるかどうかの問題がある。これおよび他の類似の問題
が、テンプレートによって解決される。*Templa
teコンストラクトおよびパーサが認識したテンプレー
トメンバエントリである*Name、*Inherit
s、*Members、*Type、*Instanc
es、*Virtual、*AllowNewMemb
ersおよび*NewMemberOfにより、GDL
テンプレートライタがテンプレートのツリーを定義する
ことができ、これはパーサによって使用されて、特定の
テンプレートが構築され、編成され、ユーザ定義の各属
性およびコンストラクトに関連付けられる。*Temp
lateコンストラクトは1つのGDLエントリのため
のプロパティ、すなわち属性またはコンストラクトを定
義する。コンストラクトのメンバにそれら自体の別々の
テンプレートが与えられる。GDLパーサによって提供
されたテンプレートのサポートは、グローバルな規模の
編成をGDLのデータに課す。テンプレートをGDLフ
ァイルにおける各データエントリに関連付けることは、
有効にテンプレート継承を利用するために必須である。
あらゆるデータエントリがルートレベルで、あるいは親
コンストラクトのメンバとして存在する。それがルート
レベルで存在した場合、ROOTテンプレートによって
定義されたMembersリストが、エントリに関連付
けられるのに適切である第1のテンプレートについて探
索される。データエントリがコンストラクトのメンバで
あった場合、親コンストラクトに関連付けられるテンプ
レートのMembersリストが使用される。Memb
ersリストおよびGDLファイルエントリは、もっと
も最近追加された要素から開始して探索される。Mem
bersリストが空になったとき、Membersリス
トを含むテンプレートが派生されていた場合、もっとも
ベースのテンプレートのMembersリストが探索さ
れるまで、探索が直接ベーステンプレートのMembe
rsリストに進む。探索は、データエントリを表すのに
適切であるテンプレートが発見されたとき、終了する。
このように、等しいテンプレート名の後続の使用は、異
なるスキーマを、GDLファイル内の異なる位置におい
て定義された他の変数以外の特定の変数に関連付けさせ
ることができる。リストの最後に達したときに適切であ
るテンプレートが見つからなかった場合、データエント
リはテンプレート関連付けなしに残され、これらを未識
別エントリと称することができる。
に委ねられる。フィルタが使用されて、コンストラクト
および属性プロパティを記述するテンプレートキーワー
ドおよびエントリが、指定かつ/または定義される。た
とえば、フィルタを使用して、属性の*DataTyp
eを定義するか、あるいは、コンストラクトの特定のメ
ンバが必要とされるかオプショナルであるかを記述する
ことができる。テンプレートはそれ自体がGDL構文に
書き込まれるので、GDLエントリの自己拡張可能性に
関する前述のすべてがテンプレートエントリに適用され
ることに留意されたい。テンプレートの間の関係をより
よく定義するため、オブジェクト指向継承の概念がGD
Lにおいて実施される。
基本タイプの変形を簡潔な方式で表し、かつデータのマ
ニフェスト、構造および編成を作成する必要性に対処す
る。より重要なこととして、継承の概念により、エンド
ユーザがベースフレームワークを、ベースフレームワー
クを変更あるいは再定義する必要なく、拡張かつ構築す
ることができる。継承はそれ自体を完全に、今日現在使
用されているすべてのコンストラクトおよび属性を定義
する標準テンプレートファイルをオペレーティングシス
テムが供給する環境に導くが、なお、OEMは継承を介
して標準テンプレートを拡張して新しいメンバを定義す
るか、あるいは特殊なケースを作成することができる。
テンプレートの継承はまた強制的に、テンプレートライ
タに自分が記述しようと試みているデータの構造を理解
させる。たとえば、すべてのFeatureコンストラ
クトはいくつかの共通のプロパティを共有する。これら
のプロパティは、ベースのFeatureテンプレート
によって定義されることがもっとも適切である。次い
で、特殊なFeatureをベーステンプレートから派
生することができ、これがフィーチャに特殊なプロパテ
ィまたは制限を追加する。各テンプレートをベースのF
eatureテンプレートから派生することにより、す
べての派生テンプレートがすべてのFeatureに共
通のすべての必須のプロパティを継承することを保証す
る。常に「どのプロパティを特定のテンプレートが定義
するべきであるか、どれを派生テンプレートに委ねるべ
きであるか」を尋ねることによって、設計者はデータの
編成および構造、およびデータの間の関係に焦点を置
く。
テンプレート継承ツリーの簡素化された図である。直線
は、ベーステンプレートを下の派生テンプレートに接続
する。曲線は、左側のコンストラクトテンプレートを右
側のそのメンバに接続する。各メンバテンプレートはそ
れ自体を別のテンプレートのためのベーステンプレート
から派生するか、あるいはそれになることができ、各メ
ンバテンプレートを、他のメンバを参照するコンストラ
クトにすることもできることに留意されたい。各オプシ
ョンテンプレートは、それらの各フィーチャテンプレー
トのメンバである。
作方法を考察することによって最適に理解される。図4
は、テンプレートおよびテンプレート継承ツリーの簡素
化された図を示す。この表現において使用されている特
定のキーワードのいくつかの考察は、本明細書の後のパ
ーサについてのセクションで見ることができる。図のよ
うに、図における直線450、451および459は、
ベーステンプレートから派生テンプレートへの接続を示
す。曲線452〜458は、コンストラクトテンプレー
トからそのメンバへの接続を示す。以下は、プリンタお
よびいくつかのプリンタのフィーチャを記述するソース
ファイルのコンテンツの一実施例である。いくつかのテ
ンプレートの関係も、図4で図によって提供する。
00は「オプション」という名前を有し、これはすなわ
ちNAMEおよびOPTIONIDという2つのメンバ
を有し、これはコンストラクトタイプのテンプレートで
ある。オプション400のメンバは、それ自体をテンプ
レート401、402によって記述することができる属
性である。したがって、この実施例では、NAME40
1およびOPTIONID402は属性タイプのテンプ
レートであり、これらはさらに元のテンプレートOPT
ION400を定義する。INPUTBIN_OPTI
ON410およびPAPER_OPTION420は、
OPTION400から派生されるテンプレートであ
り、したがってOPTION400の属性を継承する。
さらに、テンプレートINPUTBIN_OPTION
410はそれ自体の属性も有し、これはそのメンバFE
EDMARGINSおよびINPUTBIN_NAME
によって定義されたものである。これらのメンバもテン
プレート411、412によって記述される。
メンバテンプレートは、NAME401などの先のテン
プレートからも派生することができ、すなわち、INP
UTBIN_NAME412は、NAME401が含む
あらゆるものを含むようになる。同じ解釈は、メンバテ
ンプレートPAPERSIZE_NAME422に適用
可能となる。このネスティングを様々なレベルに伝える
ことができ、たとえば、INPUTBIN_OPTIO
N410およびPAPER_OPTION420はOP
TION400から派生され、それぞれがそれ自体の属
性、すなわちFEEDMARGINS411およびCU
RSORORIGIN421も有することができる。テ
ンプレートは、先に派生されたテンプレートからも派生
することができ、たとえば、STANDARD_PAP
ER_OPTION430がPAPER_OPTION
420から派生され、これはOPTION400から派
生されたものである。この場合、STANDARD_P
APER_OPTION430は、PAPER_OPT
ION420の属性、すなわちCURSORORIGI
N421およびPAPERSIZE_NAME422を
継承するだけでなく、OPTION400の属性、すな
わちNAME401およびOPTIONID402も継
承する。
431に関係する表現の解釈を、以下のように述べるこ
とができる。PrintableArea431はSt
andard_Paper_Option430の属性
であり、これは使用可能なPaper_Options
420の変形であり、これは使用可能なOptions
400の変形である。これまで論じてきたこの表現は、
GDLテキストファイルを解釈するパーサからの結果の
一実施形態である。
るデータ(非テンプレート)エントリをテンプレートに
関連付ける。エントリがコンストラクトであった場合、
テンプレートはそのコンストラクト内に現れる可能性の
あるすべてのメンバを指定する。この関連付けは再帰的
に適用され、あらゆるエントリをテンプレート化するこ
とができる。テンプレートのキーワードおよび関連付け
の考察によりこの動作方法を例示する。
はテンプレートコンストラクトを導入する。シンボル値
はテンプレートの名前である。テンプレートはROOT
レベルでのみ現れることができる。テンプレートを再定
義することはできない。これにより、継承を、記述の修
正および拡張メカニズムとして使用することが助長され
る。以下に記載する残りのキーワードは、テンプレート
コンストラクトの本体内で生じる。加えて、GDLテン
プレートライタは、テンプレートの本体に、自分自身が
作成した他のキーワードを挿入することができ、これに
自分自身のフィルタによってアクセスすることができ
る。
−このエントリは、テンプレートに関連付けることがで
きるキーワードを定義する。引用符付きストリングの値
は、*TemplateコンストラクトのSYMBOL
値との関係を有する必要がない。多数の異なるテンプレ
ートが同じ*Nameを有することができ、この問題を
後に、パーサが各データエントリに関連付けるための正
しいテンプレートを発見する方法に関するセクションで
論ずる。*Nameエントリはいかなる派生テンプレー
トにおいても再定義することができるが、そのようにす
ることで、ベース継承ツリーからの派生テンプレートお
よびその子孫が排除される。すなわち、*Nameを派
生テンプレートにおいて再定義することにより、ベース
テンプレートが派生テンプレートに、ベーステンプレー
トから派生されるものとしてレポートしないようにさせ
る。
により、現在のテンプレートに、SYMBOLによって
命名されたベーステンプレートの継承プロパティを継承
させる。現在は単一の継承のみがサポートされている。
ベーステンプレートは先に定義されていなければならな
い。ベーステンプレートは派生テンプレートを、*Na
meが再定義されない限り、その継承ツリーの一部とし
て登録する。
(付加的に継承される)−すでにこのテンプレートに関
連付けられているコンストラクトに属するいずれかのデ
ータエントリとの関連付けのために考察される候補のテ
ンプレートのリストを指定する。リストで命名されたも
っとも右のテンプレートが最初に考察される。テンプレ
ートエントリ*NewMemberOf:を使用して、
テンプレートが定義された後にメンバをこのリストに追
加することができる。このようなテンプレートは、*M
embersリストで明示的に命名されたものの前に探
索される。
されるが、再定義は許可されない)−このテンプレート
によって記述されているデータエントリまたはオブジェ
クトのタイプを指定する。パーサは列挙子の値{CON
STRUCT,ATTRIBUTE,VALUE}を認
識するが、いかなる列挙値も指定することができる。*
Type=CONSTRUCTまたはATTRIBUT
Eを有するテンプレートのみが、*Membersリス
トに現れることができる。これは、すべての非派生テン
プレートのために必要とされたキーワードである。Ty
pe=CONSTRUCTの*Templateは最終
的には次のエントリを含まなければならない。すなわ
ち、*Name、*Membersおよび*Insta
ncesである。Type=ATTRIBUTEの*T
emplateは、*Nameのみを定義する必要があ
る。パーサは他のテンプレートタイプにいかなるルール
も課さない。他のタイプは、フィルタによって使用する
ために意図される。
スト(継承されない)−InstanceName S
YMBOLのリストを指定する。このエントリは、所与
のコンストラクトのどのインスタンス(instanc
es)がこのテンプレートによって合致されるかを指定
する。特殊な名前<ANY>はすべてのインスタンス名
に合致する。テンプレートがデータコンストラクトエン
トリに合致するようにするため、あらゆる継承されたテ
ンプレートの*Instances属性も合致しなけれ
ばならない。
はFALSE、継承されない)−このエントリのBOO
L値がTRUEである場合、パーサは、テンプレートが
*Name、*Instancesまたは*Membe
rsを定義することを必要としない。これにより、この
テンプレートが、継承を介して多数の異なるキーワード
およびインスタンスに適用することができる共通のプロ
パティのセットを定義することができる。派生テンプレ
ートは、*Name、*Instanceおよび*Me
mbersを定義することができる。テンプレートは、
*Virtualがいかなるデータエントリにも関連付
けられないことを宣言する。Virtualテンプレー
トがこれらのキーワードのいずれかまたはすべてを定義
するように選択できることに留意されたい。設計者が共
通プロパティを指定するために使用しようと意図する
が、データエントリを完全に定義するために十分に完全
ではないいかなるテンプレートも、Virtualに指
定することができる。
のリスト(継承されない)−テンプレート名のリストを
指定する。これは現行のテンプレートを、その中で命名
されたコンストラクトテンプレートのMembersリ
ストに追加する。命名されたテンプレートは、Type
=CONSTRUCTとして宣言されなければならず、
*AllowNewMembers:TRUEを有して
いなければならない。
OL(デフォルト値:FALSE、継承されない)−こ
のテンプレートがその*Members:リストへのす
べての後続の追加を、*NewMemberOfエント
リの使用を介して可能にするべきであるかどうかを指定
する。
るため、以下はサンプルのGDLファイルエントリであ
り、ここでは属性*Cost:をテンプレートによって
記述することができる。 *Template: COST { *Type: ATTRIBUTE *Name: "*Cost" *ValueType: CURRENCY } このテンプレートは、例えば別のテンプレートで参照で
きる: *Template: SERVICE_RECORD { *Name: "*Service " *Type: CONSTRUCT *Members: (COST, DATE, DETAILS) *Instances: (OilChange, Repair, Overhaul, Bodywork) }
トは、テンプレートCOST、DATEまたはDETA
ILSによって提供された定義に適合するメンバを含む
ことができるコンストラクトを定義する。次には、SE
RVICE_RECORDテンプレートをMAINTE
NANCE_HISTORYテンプレートで参照するこ
とができる。
と命名されたテンプレートを関連付ける。ROOTと命
名されたテンプレートは常にGDLファイル内で定義し
なければならない。ルートレベルのすべてのデータエン
トリは、ROOTテンプレートの*Membersリス
トで命名されたテンプレートに関連付けられるべきであ
る。同じプロセスがコンストラクトに適用される。テン
プレートライタは、各データコンストラクトに現れる各
データエントリに関連付けられたテンプレートがあるよ
うにし、このような各テンプレートが、データのコンス
トラクトに関連付けられたテンプレートの*Membe
rsリストで命名されるようにするべきである。ここで
論じたキーワードおよびテンプレートに加えて、GDL
は、テキストベースのファイルにおいて行われるエント
リの適切な表現および解釈を可能にする構文も含む。
より十分に説明するために、「解析コンテキスト」の概
念を最初に説明しなければならない。パーサについて提
供する情報および説明は例示的なものであり、スキーマ
に基づいた本発明の継承の概念の理解を容易にするため
に使用されることに留意されたい。解析コンテキスト
は、解析プロセスにおいて、テキストベースのファイル
におけるある行エントリが処理あるいは解釈されるべき
方法を決定する段階である。すなわち、特定の文字は、
このような文字に出会うときに現行のものであるコンテ
キストに応じて意味を有するか、有さない可能性があ
る。先に述べたように、GDLパーサはステートマシン
であり、解析エンジンの状態は解析コンテキストに対応
する。各コンテキストにおいて、すべての入力文字が3
タイプの1つに分類される。
き起こさない文字、不正文字−このコンテキストにおい
て許可されていない文字、アクティブ文字−コンテキス
ト変更を引き起こす文字。
ンテキスト内でのみ意味がある。すべてのコンテキスト
において意味があるが、特定のコンテキストに応じて異
なるように解釈されるいくつかの文字もある。たとえ
ば、大抵のコンテキストは「論理余白」を認識し、これ
は「スペース」および「タブ」文字、「Ctrl−Z」
文字、「コメント」および「継続改行」からなる。「コ
メント」は2つの文字「*%」で開始し、改行(「\
n」または「\r」)文字に出会うときに終了する。余
白または改行文字は「*%」に先行しなければならな
い。いかなる文字も「コメント」内に現れることができ
る。「継続改行」は、直後に「プラス」の「+」文字が
続くことによってエスケープされる改行文字の組合せで
あり、情報が次の行に継続することを示す。逆に、値コ
ンテキストの外側では、「論理空白」は通常、プロセス
において解析されているいかなるキーワードまたはトー
クンも終了させるが、そうでない場合は無視される。値
コンテキスト内では、いかなる量の連続する「論理空
白」も、ネイティブのGDLパーサインターフェイスに
よって返される値ストリングにおいて現れる1つの「空
白」文字となる。「論理改行」は通常エントリを終了さ
せる。他のコンテキストは「論理改行」を「論理空白」
として処理する。「論理改行」は、「\n」および「\
r」、および組合せの「\n\r」および「\r\n」
からなる。加えて、中括弧文字「{」および「}」は、
「コンストラクトデリミタ」としてのそれらのロールに
加えて、エントリターミネータとしても動作する。「継
続改行」は「論理改行」とは見なされない。
親」として指定されるノードを変更する。現行の親は、
ツリーにおける表現である。ツリーはパーサによって、
GDLテキストベースのファイルにおけるあるエントリ
の表現として作成される。このツリーに関連付けられる
ものは明確な起点であり、これを「ルート」と称する。
ツリーは個々のノードからなり、これらがすべて共にリ
ンクされる。「ルート」を除くあらゆるノードは親ノー
ドを有する。各ノードはゼロ、1つ以上の子ノードを有
することができる。親ノードはGDLソースファイルに
おけるコンストラクトエントリに対応する。その子ノー
ドは、そのコンストラクトエントリのメンバに対応す
る。GDLソースファイルにおける各エントリが解析さ
れるにつれて、ノードが解析ツリーに追加される。新し
いノードは、パーサが「現行の親」として指定するノー
ドの子ノードとして追加される。最初に、「現行の親」
が「ルート」に設定される。「閉中括弧」文字「}」は
「現行の親」の親を新しい「現行の親」にする。「開中
括弧」文字「{」は、「現行の親」のもっとも最近作成
された子を新しい「現行の親」にする。GDLパーサが
「現行の親」を「ルート」の親に移動しようと試みた場
合、あるいは、「現行の親」に、存在しない子ノードを
ポイントさせようと試みた場合、致命的な構文エラーと
なる。他のノードの親であるノードは「コンストラク
ト」に対応するが、親ではないノードは「属性」に対応
する。
トリは「コンストラクトエントリ」と呼ばれる。「コン
ストラクトエントリ」に与えられたキーワード名は「コ
ンストラクトタイプ」と呼ばれるが、シンボル値は「コ
ンストラクトインスタンス」として知られる。「シンボ
ル値」トークンは、「英数字」および「アンダースコ
ア」文字からなるものでなければならない。
ずれかの文字がGDLファイルから読み込まれる前の最
初の解析コンテキストである。このコンテキストでは、
最初の「キーワード」トークンが予想される。いかなる
量の「論理空白」も「キーワード」の前に現れることが
でき、無視される。「キーワード」を、ダブルコロ
ン「::」またはトークン「EXTERN_GLOBA
L」の前に置いて、キーワードが実際には現在のコンス
トラクトではなく「ルート」のメンバであることを示す
ことができる。トークン「EXTERN_GLOBA
L」が使用された場合、これはキーワードから「コロ
ン」によって分離されなければならない。「キーワー
ド」トークンは、「英数字」文字、「アスタリスク」、
「クエスチョンマーク」および「アンダースコア」文字
からなることができる。「キーワード」の直後に現れる
「論理改行」は、値のない属性を定義する。値がこの
「キーワード」に関連付けられるべきである場合、「キ
ーワード」の後に「コロン」が続かなければならない。
この「コロン」の直後に現れる「論理改行」も、値のな
い属性の結果となる。この「コロン」の解析は、「デフ
ォルト値コンテキスト」への移行を引き起こす。
析するための最初のコンテキストである。これは、「論
理改行」が値解析を終了し、属性の定義を完了する唯一
のコンテキストでもある。いかなる値コンテキストから
も、「アクティブ文字」が現行のコンテキストを保存さ
せ、新しいコンテキストを作成させるか、あるいは現行
のコンテキストを終了させ、先に保存されたテキストを
返させるかあるいは異なるコンテキストへの移行を開始
させる。現行の最初のコンテキストが保存されるとき、
処理は、新しい第2のコンテキストが終了するときにこ
の第1のコンテキストにより再開する。値ストリングの
解析中に、出会ういかなる「ニュートラル文字」も「値
バッファ」に転送される。「値バッファ」は、値収集が
終了されるまですべての文字を蓄積し、その時点で、蓄
積されたバイトが、GDLエントリを表すノードに組み
込まれる。「値バッファ」はこの時点でクリアされ、新
しいGDLエントリのための文字を蓄積する準備ができ
るようにする。あるアクションが起こり、いくつかの特
定の文字には「デフォルト値コンテキスト:」において
出会う。以下の表では各「アクティブ文字」を列挙し、
開始される、関連付けられたコンテキスト移行を記述す
る。
テキスト」はマクロ参照を、マクロのコンテンツによっ
て置き換える。現行の入力ポインタがマクロの最初の文
字をポイントする。マクロコンテンツが完了すると、コ
ントロールが、先に保存されたコンテキストに戻る。
コンテキスト」に類似しているが、アクションに以下の
違いがある。
テキスト」に類似しているが、以下の違いがある。
値コンテキスト」に類似しているが、以下の違いがあ
る。
「開括弧コンテキスト」に類似しているが、以下の違い
がある。
は、すべての文字をニュートラル文字として処理させる
が、以下の文字および文字の組合せの例外がある。スト
リング処理が実際に起こらず、そのタスクがパーサフィ
ルタに委ねられることに留意されたい。
れた16進文字および論理空白のみを許可する。16進
文字はペアで生じて、構文エラーを防止するべきであ
る。このテキストは実際には16進ストリングフォーマ
ットをバイナリバイトに変換せず、このタスクはパーサ
フィルタに委ねられる。
ストリングコンテキスト」および「16進ストリングコ
ンテキスト」を除くいかなる値コンテキストからも入力
することができる。任意コンテキストでは、すべての文
字処理が中断され、すべての文字が直接「値バッファ」
にコピーされる。以下のフォーマット「<BeginV
alue:タグ>」を有するストリングに出会ったと
き、コンテキストが入力される。コンテキストは、以下
のフォーマット「<EndValue:タグ>」に出会
ったとき、終了する。両方のフォーマットにおいて、タ
グはユーザ定義のシンボル名であり、これは任意値内で
生じないトークンとなるように選択される。EndVa
lue:に使用されるタグは、BeginValue:
に使用されるタグに合致しなければならない。「任意値
コンテキスト」により、パーサは、そうでない場合にG
DL構文に違反するであろう値を処理することができ
る。このような値は、XMLまたはスクリプトまたはバ
イナリファイルのような他の言語における逐語的なソー
スコードを含むことができる。BeginValue:
およびEndValue:指示文は、「値バッファ」に
コピーされない。この指示文を含むいかなる要素の間に
も空白は許可されない。
なコンストラクトである。そうでない場合は通常のGD
Lエントリが、その後に「OpenConstruct
デリミタ」:「{」が続くとき、コンストラクトを導入
する。このGDLエントリは「コンストラクトエント
リ」と呼ばれる。すべての後続のGDLエントリは、コ
ンストラクトが合致する「CloseConstruc
tデリミタ」の「}」によって閉じられるまで、そのコ
ンストラクトのメンバとなる。コンストラクトは、他の
コンストラクト内でネストすることができる。「コンス
トラクトエントリ」に与えられたキーワード名は「コン
ストラクトタイプ」と呼ばれ、「コンストラクトエント
リ」の値はタイプ「シンボル名」でなければならない。
「シンボル名」は「コンストラクトインスタンス名」ま
たは単に「インスタンス名」として知られる。同じ「コ
ンストラクトタイプ」の多数のインスタンスを定義する
ことができるので、「インスタンス名」はこのタイプの
各インスタンスを識別する。コンストラクトを「EXT
ERN_GLOBAL」となるように宣言することはで
きない。
るキーワードがあり、このように、しばしば、これらの
キーワードに関連付けられた構文上の制約がある。これ
らのキーワードおよびそれらに関係する関連処理は以下
の通りである。
ーサによって予約されている。
ファイルの名前」。パーサが、命名されたGDLファイ
ルのコンテンツをこのエントリの直後に挿入する。二重
引用符で囲まれたストリングは2進ストリングに変換さ
れ、このストリングは、デフォルトコードページを使用
してユニコードに変換される。結果として生じるストリ
ングはOpenFileの引数として使用される。引用
符付きストリングコンテキストの外側のいかなる文字も
無視される。このキーワードを「コンストラクトエント
リ」として使用することはできない。前処理パスは、い
ずれかのマクロ解決またはエントリの標準の解析が開始
する前に実行される。しかし、前処理中に#Inclu
de:指示文に出会った場合、参照されたファイルが開
かれ、親ファイルの残りのエントリにより再開する前
に、前処理がインクルードファイル上で実行される。こ
れにより、インクルードファイルにおけるプリプロセッ
サ指示文が、親ファイルの残りにおける前処理に影響を
与えることができる。後方互換性のため、キーワード*
Include:はなお認識されるが、新しいファイル
内で定義されたいかなるプリプロセッサ指示文も、親フ
ァイルにおけるすべての指示文の後になるまで実行され
ないことに留意されたい。
マンドパラメータ構文の使用が、これらのキーワードに
ついて可能にされる。この構文は、他のキーワードにつ
いては許可されない。
onBehavior:C_PROGRAM_BEHA
VIOR<または>GPD_PARSER_COMPA
TIBLE:このパーサ指示文が解析時間で評価され
て、switch/caseコンストラクトのための現
行の評価モードが設定される。指示文は、別の指示文に
出会うまで、定義のポイントからGDLファイルの部分
に影響を与える。デフォルトでは、挙動がGPD_PA
RSER_COMPATIBLEに設定される。
ファイルに適用される。たとえば、空白およびコメント
を使用して、GDLファイルの構造に視覚的明瞭さを追
加するべきであるが、これらはパーサによって取り除か
れる。値において存在する空白の量は、空白が「引用符
付きストリング」の一部でない限り、意味がない。コメ
ントが行の最初で開始しない場合、これは、少なくとも
1つの空白文字によって先行されるべきである。明確に
するため、アスタリスク文字は、キーワードの最初の文
字としてのみ使用されるべきであり、クエスチョンマー
ク文字「?」は最後の文字としてのみ使用されるべきで
ある。追加の文字が、コンストラクトエントリにおける
インスタンス名の後に続くことができる。しかし、イン
スタンス名のみがインターフェイス関数Enumera
teConstructInstances()によっ
て列挙され、インスタンス名のみがSwitch/Ca
seコンストラクトの引数として現れるべきであり、あ
るいはコンフィギュレーションを指定するときに供給さ
れるべきである。クライアントプログラムまたはアプリ
ケーションがコンフィギュレーションを得てパーサのイ
ンターフェイス関数に供給することを支援するため、G
DLファイルは、自己矛盾のない最初の「コンフィギュ
レーション」を定義する。これは、制約の解決を必要と
しないものである。最初のコンフィギュレーションは、
*DefaultOptionキーワードを使用して、
各フィーチャのためのオプションを選択することによっ
て定義することができる。このキーワードが省略された
場合、これはクライアントプログラムまたはアプリケー
ションに、各フィーチャの最初のオプションが最初の
「コンフィギュレーション」を構築するために使用され
ることを指示するものである。*DefaultOpt
ionがswitch/caseコンストラクトによっ
て囲まれた場合、自己矛盾のない明示的な*Defau
lt:ケースがあるべきであり、そうでない場合、最初
のオプションがデフォルトとして仮定される。
に、GDLテキストファイルの解析処理の結果は、ツリ
ーの構築である。1つのツリーは、属性を表すノードか
らなるが、他は、関係のある値を表し、その両方がテキ
ストファイルから得られる。図5は、GDLパーサツリ
ー502、フィルタ503、デバイスドライバ504お
よびデバイス505のモジュールのインタラクションお
よびロールを例示する。GDLパーサの機能性は、クラ
イアントによって、GDLパーサフィルタおよびテンプ
レートの使用を介して拡張することができる。テンプレ
ートのためのサポートが存在した後、拡張には、GDL
パーサへのいかなる変更も必要ではない。ネイティブの
GDLパーサインターフェイスは、GDLファイルにお
けるあらゆる属性の生の未処理の値へのアクセスを、ツ
リー構造502を介して提供する。あるタイプの属性へ
のアクセスを制限するか(すなわち、ツリーの枝刈
り)、あるいは生の値データバイトの追加の意味処理を
提供することが望ましい可能性のあるときがある。これ
らの機能は、パーサフィルタ503を介して実施され
る。パーサフィルタは、GDLナビゲーションおよびク
エリを実施するもう1つのクライアントインターフェイ
スであり、ネイティブGDLパーサインターフェイスを
呼び出して、GDL情報にアクセスする。しかし、パー
サフィルタは、受信された情報を、情報をそのクライア
ントに返す前に処理する。図5のように、フィルタ50
3は、パーサツリー502から検索された情報を、情報
をドライバ504に返す前に処理する。各クライアント
ドライバ504は、それに関連付けられる特定のフィル
タ503を有することができることに留意されたい。フ
ィルタ504は、最終的なクライアント、この場合はデ
バイス505に特に関係付けられる機能を提供する。た
とえば、フィルタは、望まない属性を、関数Enume
rateEntries()によって返されたリストか
ら除去するか、あるいは、いくつかの値を、より容易に
使用されるデータに変換することができ、これは、値ス
トリング「PAIR(1024,0xfc)」を2つの
ダブルワード:0x400および0xfcに変換するこ
となどである。パーサフィルタは、ハードコードされた
意味情報に依拠することができ、これは、パーサフィル
タが新しいキーワードを処理するために再記述される必
要があることを意味する。この代替方法は、テンプレー
トを使用することによって回避することができ、これは
上述のようにデータドリブンの代替方法を提供する。次
いで、新しいキーワードおよびコンストラクトのための
意味処理を、単に新しいテンプレートエントリをソース
ファイルに追加することによって、提供することができ
る。すなわち、各デバイス505について、このような
デバイスに共通である属性および機能を記述かつ定義す
るGDLテキストファイルにおける特定のテンプレー
ト、および、このデバイスに特有である特殊なフィーチ
ャを記述かつ定義する1つ以上の特定のテンプレートが
存在することができ、これは、このような特殊なフィー
チャが新しいキーワードまたはコンストラクトを含むと
した場合である。新しい機能がメーカによってデバイス
1 505Cに追加されるとき、その機能に関係付けら
れた関連キーワードおよび属性がGDLソースファイル
において現れ、これを1つ以上の追加テンプレートによ
って記述することができる。
するための2つのツリーを構築する。RealTree
は、前処理段階後のGDLファイルのコンテンツ全体の
1対1表現である。これは、すべてのSwitch/C
aseコンストラクトを含む、エントリおよびコンスト
ラクトのマクロ定義、テンプレート、およびリテラル表
現を保持する。属性またはコンストラクトが2度定義さ
れた場合、ツリーは各定義のためのノードを含む。ルー
トのネスティングレベルは、ツリーのルートノードに対
応する。各コンストラクトおよび属性がノードによって
表現され、コンストラクトノードの子が、対応するコン
ストラクトエントリのメンバに対応する。属性は子を有
していない。各属性の実際の値がこのツリーに格納され
る。IndexTreeは、RealTreeの論理構
造を表す、簡素化されたツリーである。IndexTr
eeは、その構造がデータインターフェイスを介して公
開されるツリーである。IndexTreeは、マク
ロ、テンプレート、Switch/Caseコンストラ
クト、属性の値も多数の定義も含まない。IndexT
reeは、抑制されたカテゴリにないあらゆる一意のコ
ンストラクトおよび属性ノードに対応するノードを有す
る。Get Dataインターフェイスによって使用さ
れた現在位置は、IndexTreeにおけるコンスト
ラクトノードに対応する。属性を表す各IndexTr
eeノードはリンクリストをポイントし、そのメンバ
は、RealTreeに格納される実際の属性である。
Get Dataインターフェイス関数GetRece
ntValue()およびGetAllValue
s()はリンクリストにおける各属性を評価して、属性
がコンフィギュレーションに適用可能であるかどうかを
決定する。コンフィギュレーションは、Feature
Instance:OptionInstanceペア
のセットであり、これはデバイスのための設定を表す。
たとえば、(PaperSize:Letter,In
putBin:Lower)である。Switch/C
aseコンストラクトは、コンフィギュレーションにお
ける属性またはコンストラクトの依存性を表現する。R
ealTreeにおける各属性の位置が使用されて、そ
の値が呼び出し側にレポートされ戻されるかどうかが決
定される。たとえば、属性が、*Switch:Pap
erSizeおよび*Case:Legalを含むブラ
ンチにおけるものであった場合、その値は、現行のコン
フィギュレーションがPaperSize:Lette
rに設定されている場合、レポートされない。Inde
xTreeの構成は大幅にインターフェイス関数の実施
を簡素化し、パフォーマンスを改善する。
細書を再検討することによって、関係する当業者には明
らかになるであろう。図1ないし図5に示し、本明細書
に記載した様々なコンピュータシステムおよびコンポー
ネントは単に、本発明に関連して使用するために適切な
ものの例示的なものでしかない。したがって、本発明の
範囲は、前述の記載ではなく付属の特許請求の範囲によ
って定義される。
おいて対象に関係する任意のデータを記述し、得るため
に使用する方法が提供される。
ーティングシステム環境のブロック図である。
ーサルプリンタドライバとOEMカスタマイゼーション
モジュールの間の高レベルモジュールインターフェイス
を例示する、簡素化されたブロック図である。
トおよびデータフローを例示するブロック図である。
プレート継承ツリーの、簡素化された例示的図である。
デバイスドライバの間の高レベルモジュールインターフ
ェイスを例示するブロック図である。
ス 141 ハードディスクドライブ 144 オペレーティングシステム 145 アプリケーションプログラム 146 他のプログラムモジュール 147 プログラムデータ 150 取外し可能な不揮発性メモリインターフェイス 151 磁気ディスクドライブ 152 磁気ディスク 155 光ディスクドライブ 156 光ディスク 160 ユーザ入力インターフェイス 161 マウス 162 キーボード 170 ネットワークインターフェイス 171 ローカルエリアネットワーク 172 モデム 173 広域ネットワーク 180 リモートコンピュータ 181 メモリデバイス 185 リモートアプリケーションプログラム 190 ビデオインターフェイス 191 モニタ 195 出力周辺インターフェイス 196 プリンタ 197 スピーカ 201 アプリケーションプログラム 202 グラフィックスデバイスインターフェイス 203A、203B ミニドライバ 204 ユニバーサルドライバUNIDRV5 205A プリンタモデルA 205B プリンタモデルZ 501 アプリケーションプログラム 502 GDLパーサツリー構造 503A、503B、503C フィルタ1 504A ユニバーサルドライバUNIDRV5 504B 他のドライバA 504C 他のドライバZ 505A、505B プリンタモデルA 505C デバイス1 505D デバイスN
Claims (20)
- 【請求項1】 1つ以上の対象に関係する情報を編成
し、記述するために、コンピューティングシステムにお
いて用いられる方法であって、 前記対象を特徴付ける複数のエントリを含むソースファ
イルを提供するステップであって、前記エントリが継承
ベースのスキーマのインスタンシエーションであり、予
め定義されたメタ言語構文に準拠しているステップと、 スキーマを提供するステップであって、前記スキーマが
1つ以上のテンプレートのファミリを備え、各テンプレ
ートがエントリのセットの1つ以上のプロパティを定義
し、前記テンプレートが各ファミリにおいて継承によっ
て関係付けられるステップと、 1つ以上のエントリをファミリの適切なテンプレートに
関連付けることにより、そのようなエントリが同じファ
ミリにおける他の先祖テンプレートにも関連付けられる
ことを可能にするステップとを備えることを特徴とする
方法。 - 【請求項2】 請求項1に記載の方法であって、前記テ
ンプレートによってガイドされる前記エントリを処理し
て、前記対象に関係する情報を得るステップをさらに備
えることを特徴とする方法。 - 【請求項3】 請求項1に記載の方法であって、前記関
連付けることが、エントリをテンプレートにバインドす
ることであることを特徴とする方法。 - 【請求項4】 請求項1に記載の方法であって、前記エ
ントリのプロパティがオプショナルにスキーマによって
定義されることを特徴とする方法。 - 【請求項5】 請求項2に記載の方法であって、前記処
理するステップが、テンプレートおよびエントリの内部
表現を提供するステップを含むことを特徴とする方法。 - 【請求項6】 請求項2に記載の方法であって、前記処
理するステップが、前記関連付けをシリアライズするス
テップを含み、前記シリアライズにより、前記ソースフ
ァイルを再読み込みする必要なしに、前記エントリの関
連付けの系統的トラバースを可能にすることを特徴とす
る方法。 - 【請求項7】 請求項2に記載の方法であって、前記処
理するステップが、前記関連付けをフィルタリングする
ステップを含むことを特徴とする方法。 - 【請求項8】 請求項7に記載の方法であって、前記フ
ィルタリングするステップが、前記関連付けの意味を検
証するステップを含むことを特徴とする方法。 - 【請求項9】 請求項7に記載の方法であって、前記フ
ィルタリングするステップが、前記関連付けにおける値
タイプを変換するステップを含むことを特徴とする方
法。 - 【請求項10】 請求項7に記載の方法であって、前記
フィルタリングするステップが、値のデフォルト初期化
を行うステップを含むことを特徴とする方法。 - 【請求項11】 請求項1に記載の方法を実行するため
のコンピュータ実行可能命令を有することを特徴とする
コンピュータ可読媒体。 - 【請求項12】 プロセッサ、メモリおよびオペレーテ
ィング環境を有し、請求項1に記載の方法を実行するよ
うに動作可能であることを特徴とするコンピュータシス
テム。 - 【請求項13】 スキーマを提供することによって、1
つ以上の対象に関係する情報をソースファイル内で編成
し、記述するために、コンピューティングシステムにお
いて用いられる方法であって、前記スキーマが1つ以上
のテンプレートのファミリを備え、各テンプレートがエ
ントリのセットの1つ以上のプロパティを定義すること
を特徴とする方法。 - 【請求項14】 請求項13に記載の方法であって、前
記スキーマが、 他の定義済みテンプレートをベースフレームワークとし
て利用する1つ以上のテンプレートを備え、 前記テンプレートが、変化するレベルでネストされるこ
とを特徴とする方法。 - 【請求項15】 請求項13に記載の方法であって、前
記テンプレートが他のテンプレートを継承し、したがっ
て共通プロパティのコアセットを共有することを特徴と
する方法。 - 【請求項16】 請求項13に記載の方法であって、前
記テンプレートを用いて、デバイスデータ要素のための
意味を定義し、デバイスデータ要素がより大きいフレー
ムワークにどのように適合するかを定義することを特徴
とする方法。 - 【請求項17】 請求項13に記載の方法を実行するた
めのコンピュータ実行可能命令を有することを特徴とす
るコンピュータ可読媒体。 - 【請求項18】 プロセッサ、メモリおよびオペレーテ
ィング環境を有し、請求項13に記載の方法を実行する
ように動作可能であることを特徴とするコンピュータシ
ステム。 - 【請求項19】 ソースファイルにおいて継承によって
関係付けられる1つ以上のテンプレートのファミリの1
つ以上のスキーマを用いて1つ以上の対象に関係する情
報を編成し、記述するために、コンピューティングシス
テムにおいて用いられる方法であって、 スキーマへの第1の命名された参照を提供するステップ
と、 前記スキーマへの第2の同様に命名された参照を提供す
るステップと、 前記ソースファイルにおける前記第2の命名された参照
の位置に応じて、前記第2のスキーマ参照を、前記第1
のスキーマ参照とは異なって解釈するステップとを備え
ることを特徴とする方法。 - 【請求項20】 請求項19に記載の方法を実行するた
めのコンピュータ実行可能命令を有することを特徴とす
るコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/896,499 US7092950B2 (en) | 2001-06-29 | 2001-06-29 | Method for generic object oriented description of structured data (GDL) |
US09/896,499 | 2001-06-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008131234A Division JP2008251033A (ja) | 2001-06-29 | 2008-05-19 | 構造化データの汎用オブジェクト指向記述(gdl)のための方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003177915A true JP2003177915A (ja) | 2003-06-27 |
Family
ID=25406322
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192638A Pending JP2003177915A (ja) | 2001-06-29 | 2002-07-01 | 構造化データの汎用オブジェクト指向記述(gdl)のための方法 |
JP2008131234A Pending JP2008251033A (ja) | 2001-06-29 | 2008-05-19 | 構造化データの汎用オブジェクト指向記述(gdl)のための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008131234A Pending JP2008251033A (ja) | 2001-06-29 | 2008-05-19 | 構造化データの汎用オブジェクト指向記述(gdl)のための方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7092950B2 (ja) |
EP (1) | EP1271339B1 (ja) |
JP (2) | JP2003177915A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164270A (ja) * | 2004-12-02 | 2006-06-22 | Microsoft Corp | コラボレーションアイテムをWebサイトに公開するシステムおよび方法 |
JP2006236328A (ja) * | 2005-02-24 | 2006-09-07 | Microsoft Corp | ファイルシステムアイテムおよび関連エンティティのシリアライゼーション |
JP2008097574A (ja) * | 2006-09-14 | 2008-04-24 | Ricoh Co Ltd | 情報処理装置、プログラム及びその記録媒体 |
JP2010050620A (ja) * | 2008-08-20 | 2010-03-04 | Kyocera Mita Corp | 画像形成装置および画像形成システム |
JP2016043553A (ja) * | 2014-08-22 | 2016-04-04 | スター精密株式会社 | プリンタ、印刷システムおよび印刷制御方法 |
Families Citing this family (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US7167919B2 (en) * | 2001-12-05 | 2007-01-23 | Canon Kabushiki Kaisha | Two-pass device access management |
US7487233B2 (en) * | 2001-12-05 | 2009-02-03 | Canon Kabushiki Kaisha | Device access based on centralized authentication |
US8375113B2 (en) * | 2002-07-11 | 2013-02-12 | Oracle International Corporation | Employing wrapper profiles |
US7206851B2 (en) * | 2002-07-11 | 2007-04-17 | Oracle International Corporation | Identifying dynamic groups |
US7114037B2 (en) * | 2002-07-11 | 2006-09-26 | Oracle International Corporation | Employing local data stores to maintain data during workflows |
US7512585B2 (en) * | 2002-07-11 | 2009-03-31 | Oracle International Corporation | Support for multiple mechanisms for accessing data stores |
US7467142B2 (en) | 2002-07-11 | 2008-12-16 | Oracle International Corporation | Rule based data management |
US7447701B2 (en) * | 2002-07-11 | 2008-11-04 | Oracle International Corporation | Automatic configuration of attribute sets |
US7428592B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Securely persisting network resource identifiers |
US7428523B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Portal bridge |
US7478407B2 (en) | 2002-07-11 | 2009-01-13 | Oracle International Corporation | Supporting multiple application program interfaces |
CA2400590A1 (en) * | 2002-08-29 | 2004-02-29 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for converting legacy programming language data structures to schema definitions |
US20040111253A1 (en) * | 2002-12-10 | 2004-06-10 | International Business Machines Corporation | System and method for rapid development of natural language understanding using active learning |
US8819039B2 (en) | 2002-12-31 | 2014-08-26 | Ebay Inc. | Method and system to generate a listing in a network-based commerce system |
US8244712B2 (en) * | 2003-03-18 | 2012-08-14 | Apple Inc. | Localized viewing of file system names |
US7143101B2 (en) * | 2003-04-18 | 2006-11-28 | Andy Oliver | Method and apparatus for self-describing externally defined data structures |
DE10325843B4 (de) * | 2003-06-06 | 2005-06-23 | OCé PRINTING SYSTEMS GMBH | Verfahren, Drucksystem, Computer und Computerprogramm zum Verwalten von Resourcen zur Verwendung in einem resourcenbasierten Dokumentendatenstrom |
KR100524026B1 (ko) | 2003-06-20 | 2005-10-26 | 삼성전자주식회사 | 시리즈 모델 지원 펌웨어를 구비한 인쇄 장치 및 시리즈모델 지원 방법 |
JP3922372B2 (ja) * | 2003-07-28 | 2007-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 構造化文書処理装置、およびプログラム |
US7882132B2 (en) | 2003-10-09 | 2011-02-01 | Oracle International Corporation | Support for RDBMS in LDAP system |
US7904487B2 (en) | 2003-10-09 | 2011-03-08 | Oracle International Corporation | Translating data access requests |
US20050234844A1 (en) * | 2004-04-08 | 2005-10-20 | Microsoft Corporation | Method and system for parsing XML data |
US7500185B2 (en) * | 2004-04-29 | 2009-03-03 | Koninklijke Philips Electronics N.V. | Framework of validating DICOM structured reporting documents using XSLT technology |
US7574692B2 (en) * | 2004-11-19 | 2009-08-11 | Adrian Herscu | Method for building component-software for execution in a standards-compliant programming environment |
US7725728B2 (en) * | 2005-03-23 | 2010-05-25 | Business Objects Data Integration, Inc. | Apparatus and method for dynamically auditing data migration to produce metadata |
US7882447B2 (en) | 2005-03-30 | 2011-02-01 | Ebay Inc. | Method and system to determine area on a user interface |
US20060253617A1 (en) * | 2005-04-22 | 2006-11-09 | Microsoft Corporation | Driver upgrade tools |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US20070118441A1 (en) * | 2005-11-22 | 2007-05-24 | Robert Chatwani | Editable electronic catalogs |
US8977603B2 (en) | 2005-11-22 | 2015-03-10 | Ebay Inc. | System and method for managing shared collections |
JP2008041038A (ja) * | 2006-08-10 | 2008-02-21 | Mitsubishi Electric Corp | ソフトウエア作成方法 |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080147928A1 (en) * | 2006-10-05 | 2008-06-19 | Richard Nicolet | Transparent support of multiple bus interfaces on a device |
US20080172628A1 (en) * | 2007-01-15 | 2008-07-17 | Microsoft Corporation | User Experience for Creating Semantic Relationships |
US7944572B2 (en) * | 2007-01-26 | 2011-05-17 | Xerox Corporation | Protocol allowing a document management system to communicate inter-attribute constraints to its clients |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8103704B2 (en) * | 2007-07-31 | 2012-01-24 | ePrentise, LLC | Method for database consolidation and database separation |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8010479B2 (en) * | 2008-06-18 | 2011-08-30 | International Business Machines Corporation | Simplifying the creation of user-defined custom elements for use in a graphical modeling application |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US20100250399A1 (en) * | 2009-03-31 | 2010-09-30 | Ebay, Inc. | Methods and systems for online collections |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8301512B2 (en) | 2009-10-23 | 2012-10-30 | Ebay Inc. | Product identification using multiple services |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US20120124551A1 (en) * | 2010-11-11 | 2012-05-17 | General Electric Company | Template inheritance in a configuration object model |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9525642B2 (en) | 2012-01-31 | 2016-12-20 | Db Networks, Inc. | Ordering traffic captured on a data connection |
US9100291B2 (en) * | 2012-01-31 | 2015-08-04 | Db Networks, Inc. | Systems and methods for extracting structured application data from a communications link |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
KR20240132105A (ko) | 2013-02-07 | 2024-09-02 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR101772152B1 (ko) | 2013-06-09 | 2017-08-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
CN110797019B (zh) | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9703570B2 (en) * | 2014-10-01 | 2017-07-11 | Fujitsu Limited | Dynamic device drivers |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
WO2019065555A1 (ja) | 2017-09-28 | 2019-04-04 | 富士フイルム株式会社 | 撮像装置、情報取得方法及び情報取得プログラム |
CN111596996A (zh) * | 2020-05-07 | 2020-08-28 | 湖南金鹰卡通传媒有限公司 | 动态化布局方法以及系统 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414812A (en) * | 1992-03-27 | 1995-05-09 | International Business Machines Corporation | System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem |
US5604843A (en) * | 1992-12-23 | 1997-02-18 | Microsoft Corporation | Method and system for interfacing with a computer output device |
CN1113302C (zh) * | 1993-07-30 | 2003-07-02 | 佳能株式会社 | 通过通信线路控制设备的控制器和方法 |
US5500802A (en) * | 1994-05-31 | 1996-03-19 | Morris; James M. | System and method for creating configurators using templates |
US5692111A (en) * | 1994-10-05 | 1997-11-25 | Microsoft Corporation | Automatic installation of printers in a distributed environment |
US6141792A (en) * | 1994-10-31 | 2000-10-31 | International Business Machines Corporation | Object oriented framework for specifying the format of compiler output with a template facility |
US5970490A (en) * | 1996-11-05 | 1999-10-19 | Xerox Corporation | Integration platform for heterogeneous databases |
US6081774A (en) * | 1997-08-22 | 2000-06-27 | Novell, Inc. | Natural language information retrieval system and method |
US6208986B1 (en) * | 1997-12-15 | 2001-03-27 | International Business Machines Corporation | Web interface and method for accessing and displaying directory information |
US6105062A (en) * | 1998-02-26 | 2000-08-15 | Novell, Inc. | Method and system for pruning and grafting trees in a directory service |
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
US6182136B1 (en) * | 1998-09-08 | 2001-01-30 | Hewlett-Packard Company | Automated service elements discovery using core service specific discovery templates |
US6496832B2 (en) * | 1998-10-20 | 2002-12-17 | University Of Minnesota | Visualization spreadsheet |
US6507856B1 (en) * | 1999-01-05 | 2003-01-14 | International Business Machines Corporation | Dynamic business process automation system using XML documents |
US6892230B1 (en) * | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US6910068B2 (en) * | 1999-06-11 | 2005-06-21 | Microsoft Corporation | XML-based template language for devices and services |
US6199195B1 (en) * | 1999-07-08 | 2001-03-06 | Science Application International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
US6449715B1 (en) * | 1999-10-04 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Process control configuration system for use with a profibus device network |
US6697825B1 (en) * | 1999-11-05 | 2004-02-24 | Decentrix Inc. | Method and apparatus for generating and modifying multiple instances of element of a web site |
US6732331B1 (en) * | 2000-02-15 | 2004-05-04 | Vlad Alexander | System and process for managing content organized in a tag-delimited template using metadata |
US6678414B1 (en) * | 2000-02-17 | 2004-01-13 | Xerox Corporation | Loose-gray-scale template matching |
WO2001098936A2 (en) * | 2000-06-22 | 2001-12-27 | Microsoft Corporation | Distributed computing services platform |
JP3983961B2 (ja) * | 2000-07-18 | 2007-09-26 | 株式会社東芝 | ディレクトリ情報管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7171475B2 (en) * | 2000-12-01 | 2007-01-30 | Microsoft Corporation | Peer networking host framework and hosting API |
US20040015822A1 (en) * | 2001-03-23 | 2004-01-22 | Linton Samuel W. | Method and apparatus for dynamic assembly and verification of software components into flexible applications |
US20040015832A1 (en) * | 2001-05-25 | 2004-01-22 | Michael Stapp | Method and apparatus for generating source code |
-
2001
- 2001-06-29 US US09/896,499 patent/US7092950B2/en not_active Expired - Fee Related
-
2002
- 2002-06-25 EP EP02013984A patent/EP1271339B1/en not_active Expired - Lifetime
- 2002-07-01 JP JP2002192638A patent/JP2003177915A/ja active Pending
-
2008
- 2008-05-19 JP JP2008131234A patent/JP2008251033A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164270A (ja) * | 2004-12-02 | 2006-06-22 | Microsoft Corp | コラボレーションアイテムをWebサイトに公開するシステムおよび方法 |
JP2006236328A (ja) * | 2005-02-24 | 2006-09-07 | Microsoft Corp | ファイルシステムアイテムおよび関連エンティティのシリアライゼーション |
JP2008097574A (ja) * | 2006-09-14 | 2008-04-24 | Ricoh Co Ltd | 情報処理装置、プログラム及びその記録媒体 |
JP2010050620A (ja) * | 2008-08-20 | 2010-03-04 | Kyocera Mita Corp | 画像形成装置および画像形成システム |
JP2016043553A (ja) * | 2014-08-22 | 2016-04-04 | スター精密株式会社 | プリンタ、印刷システムおよび印刷制御方法 |
US10026026B2 (en) | 2014-08-22 | 2018-07-17 | Star Micronics Co., Ltd. | Printer, printing system and print control method |
Also Published As
Publication number | Publication date |
---|---|
US7092950B2 (en) | 2006-08-15 |
EP1271339A2 (en) | 2003-01-02 |
JP2008251033A (ja) | 2008-10-16 |
EP1271339B1 (en) | 2011-08-31 |
EP1271339A3 (en) | 2006-08-09 |
US20030055806A1 (en) | 2003-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003177915A (ja) | 構造化データの汎用オブジェクト指向記述(gdl)のための方法 | |
World Wide Web Consortium | XSL transformations (XSLT) version 2.0 | |
Odersky et al. | The Scala language specification | |
US4734854A (en) | System for generating software source code components | |
US6996769B1 (en) | Method and system for generating documentation from operating system command syntax | |
KR100977352B1 (ko) | 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법 | |
US6446256B1 (en) | Extension of parsable structures | |
US7251777B1 (en) | Method and system for automated structuring of textual documents | |
US6658625B1 (en) | Apparatus and method for generic data conversion | |
US7155705B1 (en) | Techniques for binding an application with a data exchange format based on tags in comments | |
US7340718B2 (en) | Unified rendering | |
US7581177B1 (en) | Conversion of structured documents | |
US20040015832A1 (en) | Method and apparatus for generating source code | |
TW200422881A (en) | Method and computer-readable medium for importing and exporting hierarchically structured data | |
WO2001052063A9 (en) | System and method for translating to and from hierarchical information systems | |
US8918710B2 (en) | Reducing programming complexity in applications interfacing with parsers for data elements represented according to a markup language | |
Brandl | Sphinx documentation | |
WO2006119616A1 (en) | Converting a printer to an xml printer | |
US7788246B2 (en) | Linguistic structure for data flow diagrams | |
US7657869B2 (en) | Integration of external tools into an existing design environment | |
US9588997B2 (en) | Modularizing complex XML data for generation and extraction | |
US20050177788A1 (en) | Text to XML transformer and method | |
US20150143329A1 (en) | Methods and arrangements for processing and presentation of information | |
Süß | Sugar for OCL | |
Varma | Shell Functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050523 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080118 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20080418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080418 |