JP2006528384A - Rfid機能を有するxmlプリンタシステム - Google Patents

Rfid機能を有するxmlプリンタシステム Download PDF

Info

Publication number
JP2006528384A
JP2006528384A JP2006521056A JP2006521056A JP2006528384A JP 2006528384 A JP2006528384 A JP 2006528384A JP 2006521056 A JP2006521056 A JP 2006521056A JP 2006521056 A JP2006521056 A JP 2006521056A JP 2006528384 A JP2006528384 A JP 2006528384A
Authority
JP
Japan
Prior art keywords
xml
data
processor
barcode
printer
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
Application number
JP2006521056A
Other languages
English (en)
Inventor
アレスハウス,ブルース
Original Assignee
ゼットアイエイチ コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ゼットアイエイチ コーポレイション filed Critical ゼットアイエイチ コーポレイション
Publication of JP2006528384A publication Critical patent/JP2006528384A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • G06K17/0025Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation

Abstract

XMLシステムが、拡張マークアップ言語(XML)の入力データストリームに基づいて、バーコードラベル、タグ、切符、カード、又は他の媒体を印刷するように、及び/又は媒体の中に埋め込まれたRFID素子をコード化するように構成される。このXMLシステムは、ネットワークに動作可能なように接続されたコンピュータシステムを備える。コンピュータシステムは、XML入力データストリームを受信、解析、及び処理し、かつスキーマ容器からXMLデータストリームの中で識別されたスキーマを得るように構成されたXMLプロセッサをさらに備える。このXMLプロセッサは、得られたスキーマに基づいてXMLデータストリームを検証する。スタイルシート容器からXMLデータストリームの中で識別されたスタイルシートを得るように構成されたXSLTプロセッサも含まれる。このXSLTプロセッサは、得られたスタイルシートに基づいて、XML入力データストリームの中のデータを変換されたXMLデータに変換する。さらに、XSLFOプロセッサは、スタイルシートの中に含まれたXSLFO命令に基づいて、変換されたXMLデータをフォーマットされたXMLデータにフォーマットする。次に、バーコードレンダリングサブシステムはフォーマットされたXMLデータを受け取り、バーコードラベルのビットマップ表示を生成する。別の方法では、システムはXML入力データストリームを受信及び処理するように構成されたXMLプロセッサと、フォーマット用テンプレートを受信及び処理するように構成されたZPLプロセッサと、XML入力データストリームの中に含まれたXMLデータとフォーマット用テンプレートとの間の関連性を明らかにするように構成された可変データインテグレータと、フォーマット用テンプレートによって制御されたフォーマットに基づいて、関連付けられたXMLデータをフォーマットするように構成されたフォーマッティングエンジンと、バーコードラベル、タグ、切符、カード、他の媒体の印刷可能な表示を生成し、及び/又はRFID素子用にコード化情報を作るように構成されたバーコードレンダリングエンジンとを備える。

Description

[関連出願との相互参照]
本出願は、2003年1月10日に出願された「XML Printer System」という名称の同時係属中の米国特許出願第10/332,604号に対する優先権の利点を請求すると共に、この特許出願の一部継続出願である。この特許出願は、現在は米国特許第6,540,142号となっている、「Native XML Printer」という名称の2002年7月17日に出願された米国特許出願第10/197,014号の一部継続出願であり、下記の仮出願からの優先権の利点を請求する。その仮出願は、1)「XML Printer Technology」という名称の2002年1月4日に出願された米国仮特許出願第60/345,389号と、2)「Bar Code Labeling Systems Having Machine Readable Standards」という名称の2001年12月17日に出願された米国仮特許出願第60/341,427号とである。これらの米国仮特許出願第60/345,389号及び60/341,427号は、参照することによってその全体が本願に組み込まれる。
[著作権に関する記述]
この特許文献の開示内容の一部には、著作権保護を受ける材料が含まれる。著作権の所有者は、特許文献又は特許の開示のいずれかによる複写には、それが特許局の特許のファイル又は記録の中に現れるため反対はしないが、そうでない場合は、それが何であれ、全ての著作権を留保する。
[技術分野]
本発明は全体的に、切符、タグ、カード、バーコードラベル、シート送り用紙(sheet fed paper)、連続用紙及び折り畳み用紙、プラスチック媒体などの媒体を印刷するため、また媒体の中に埋め込むことができるRF(無線周波数)識別回路(RFID)をコード化するための方法及び装置に関する。さらに詳細には、1つの実施形態では、そのような印刷された媒体を印刷する及び/又は既存のZPLベース(ゼブラプログラミング言語)のフォーマット用テンプレートを用いてXMLデータストリームに基づいてRFID装置をコード化するXML(拡張マークアップ言語)用プリンタに関する。
バーコードを印刷するための、またバーコードプリンタにデータを送信するためのプリンタシステムは周知である。しかしながら、多くのそのようなシステムはデータのコード化に関して所有権で保護された方法を使用するため、そのような方法は他のバーコードプリンタと交換できるように使用することができない。また、周知のデータコード化方法は一般に、基礎をなすデータを人間が読み取ることができないようにする。このことは、コンピュータシステムに対しては障害にはならないが、下にあるバーコード素子の名前の中に現れる幾つかのデータを調査、ディバッグ、又は理解しようとする人にとっては耐え難い負担になる。この点において、XMLは多くの企業体によって採用されている公開された規格であり、人が読み取ることができる。XMLを使用することにより、人が読取りできない方法に関連する多くの問題及び陥穽を避けることができる。
バーコードのラベリングは、取引の多くの局面で高範囲にわたって使用されている。特に、1つの宛先から別の宛先に出荷される小包又は商品は、特定のバーコードラベルにより荷送人によって識別される。逆に、受け取られた商品もバーコードラベルを用いて識別され、受取人の在庫システムの中に入力される。多くの場合、商品の受取人は、荷送人が貼り付けるバーコードの形式及び内容を指示する。これは、「コンプライアンスラベリング(compliance labeling)」と呼ばれる。無論、バーコードのラベリングの利点を利用するように商品を出荷する必要はない。例えば、在庫管理システムは高範囲にバーコードのラベリングを利用して、施設の中又は施設間の様々な商品を追跡及びモニタする。
コンプライアンスラベリングは一般に、比較的大きな市場支配力すなわち購買力を有する商品の買い手によって使用される。彼らの経済力のために、彼らは供給業者すなわち売り手によって彼らに提供された製品に付けられたバーコードラベルの形式及び内容を指示することができる。これは供給業者にとっては負担になるが、供給業者がこの買い手と取り引きしたいと思う場合は、彼らはラベリングに関する買い手の要求に応じる必要がある。例えば、Wal-Mart, Inc.,などの大きな小売業者は、供給業者が自分たちのコンプライアンスラベリングに対する要求に応じるように要求する能力及び購買力を持っているだけではなく、このラベリングに対する要求事項に応じない供給業者を処罰することもできる。
さらに、こうしたバーコードのラベリングに関する要求事項は、コンプライアンスを要求する事業体の気まぐれで変わることがある。このため、供給業者は新しいラベリングに関する要求事項を満たし、修正されたバーコードを試験して、確実に全ての仕様に適合する必要がある。これは比較的効率が悪く、時間がかかる。それは金銭的な罰金に至る可能性があるようなエラーを発生させやすい。
無線周波数の識別(RFID)は、製品がサプライチェーンを通って消費者に向けて移動するときにその製品を識別するために、バーコードラベリングに加えて又はそれの代わりにますます使用されるようになっている。コンプライアンスラベリングは、商品のパレット、カートン、及び個々の製品に対するRFIDタグの適用及びコード化を含むように拡張されている。製品に関するデータは、タグに書き込む及び/又はタグから読み取ることができる。製品の識別番号などのデータはタグ上に記憶することができ、一方固有のタグ識別番号(タグ及び関連する製品をシリーズ化する)などのデータをタグから取り出すことができる。
自己検証し、またバーコードラベルの形式又は内容の変化を実行するために大きなソフトウェアプログラミングの変更を要求しない、バーコードラベリングの情報を定義するための公開規格(open standard)を提供するようにという要求が存在する。データをバーコードプリンタに送る形式を使用するための要求も存在する。この場合データは、このデータを読み取る人が理解できる形式である。
ラベルのレイアウトを管理する現行のZPLフォーマット用テンプレートを補足的に利用しながら、及び/又は印刷するラベルのレイアウトを管理するためにXSL(拡張スタイルシート言語)を使用する純粋なXMLフォーマット用テンプレートを利用することによって、バーコード用プリンタシステムにXMLで送信するためのデータをフォーマットするために、企業資源計画システム(enterprise resource planning system)(ERP)を認めるようにというさらなる要求が存在する。さらに、RFIDデータなどの他のデータが、RFIDデータをコード化することが埋め込まれたRFID回路の中で行われるような装置又は他の自動識別装置に供給されるような形式を使用することに関する要求が存在する。RFID回路から読み取られたRFIDデータをERPシステム又は他のホストコンピュータシステムに戻すための要求が存在する。
新規であると信じられている本発明の特徴は、添付の特許請求の範囲の中に詳細に記述されている。本発明はそのさらなる目的及び利点と共に、添付の図面と併せて下記の説明を参照すれば最も良く理解することができるであろう。
この書面による明細書では、接続語を含むために、離接的接続詞が使用される。定冠詞又は不定冠詞を使用することは、濃度(cardinality)を表示することを意図しない。特に、「定冠詞」が付いた物体若しくは事物又は「不定冠詞」が付いた物体若しくは事物は、複数のそのような物体若しくは事物をも記述することを意図する。
ここで図1を参照すると、XMLシステム10の特定の実施形態のハイレベルのハードウェアのブロック図が全体的に示されている。図1から図6の実施形態では、システムの生来の又は自然の「言語」はXMLであり、このためこのXMLシステム10は「生来のXMLプリンタ」と呼ばれる。このXMLシステム10には、RAM14、ROM16、ハードディスク記憶装置18、キャッシュメモリ20、データベース記憶装置22などの(「メモリサブシステム」26とも呼ばれる)様々なハードウェア構成要素を含むコンピュータシステム又は処理システム12が含まれる。このコンピュータシステム12は、この技術分野で周知のように、コンピュータ、マイクロプロセッサ、RISCプロセッサ(縮小命令セットコンピュータ)、CISCプロセッサ(複雑命令セットコンピュータ)、メインフレームコンピュータ、ワークステーション、シングルチップコンピュータ、分散プロセッサ、サーバ、コントローラ、マイクロコントローラ、分散論理コンピュータなどの任意の適当な処理装置28を含む。例えば、処理装置28は、Intel Pentium(登録商標)マイクロプロセッサ、x86互換マイクロプロセッサ、又は等価装置とすることができる。
メモリサブシステム26は、RAM、EPROM(電気的プログラム可能ROM)、フラッシュメモリ、ダイナミックメモリ、スタティックメモリ、FIFO(先入れ先出し)メモリ、UFO(後入れ先出し)メモリ、円形メモリ(circular memory)、半導体メモリ、バブルメモリ、バッファメモリ、ディスクメモリ(disk memory)、光メモリ、キャッシュメモリなどの任意の適当な記憶要素を含む。磁気媒体上の固定記憶装置、半導体装置の中の記憶装置又は通信リンクを通してアクセス可能な遠隔の記憶装置のいずれであろうと、任意の適当なメモリの形態を使用できる。
ユーザーインターフェース30はコンピュータシステム12に接続されて、ユーザ及び/又はキーボードによって選択できるスイッチなどの各種の入力装置36を含む。このユーザーインターフェースは、この技術分野では周知の、LCDディスプレイ、CRT、様々なLED表示器及び/又は音声出力装置などの適当な出力装置40も含む。
コンピュータシステム12と外部ソースとの間を通信するために、通信インターフェース42がコンピュータシステムに動作可能なように接続されている。例えば、この通信インターフェース42は、イーサネット(登録商標)ネットワーク、イントラネット、又は他の適当なネットワーク43としてローカルエリアネットワークとすることができる。通信インターフェース42は、インターネット44を介して通信を容易にすることができる公衆交換電話網(PSTN)46又はPOTS(一般電話システム)と接続することもできる。専用のネットワーク及び遠く離れたネットワークも使用できる。任意の適当な市販の通信装置又はネットワークも、この技術分野では周知のように使用できる。
コンピュータシステム12は、プリンタシステム50にもさらに接続される。このプリンタシステム50には、媒体/用紙制御システム52、プリンタ用ドライバ54及び印字ヘッド機構部56が含まれる。バーコードラベルを印刷できる任意の適当なプリンタを使用できる。これらのプリンタには、各種のドットマトリックス、インクジェット、レーザ及び/又はサーマルプリンタが含まれる。無論、ドットマトリックスプリンタの品質は一般に低いため、ラベル出力をより接近してモニタする必要がある。好ましいことに、このプリンタシステム50は熱転写プリンタである。例えば、このような好適なプリンタは、イリノイ州Vernon HillsのZebra Technologies Corporationから入手でき、モデルXiシリーズのバーコードプリンタ(XiIII+,90XiIII+,96XiIII+,110XiIII+,140XiIII+,170XiIII+,220XiIII+,など)、2800シリーズのバーコードプリンタ、モデルZ4M、Z6M、105SLバーコードプリンタ、モデルR4Mプラス、R402、R−140プリンタ/エンコーダなどが含まれる。任意の適当なバーコードラベルプリンタも使用できる。
別の方法では、プリンタシステム50には、印刷されたラベリング又は他の印刷された表示をその表面で受け取ることができるRFID(無線周波数識別)媒体のプログラミングを処理するための「非印刷」機構が含まれる。「プリンタシステム」という用語は、「RFID」はその用語の一部ではないが、RFIDの能力も含むシステムを含むことを意味する。さらに、「バーコードラベル」という用語が本願で使用されるが、この用語は紙のラベルに限定されるものではなく、例えば、チケット、タグ、カード、シート送り用紙、連続用紙及び折り畳み用紙、プラスチック媒体、RFID回路に埋め込まれた媒体、及び他の自動識別装置を含む。本発明は、どのような種類の媒体にも適合する。
一般に、こうしたプリンタは、種々のモータ、ラベルカッタ、リボンハンドラ、センサなど(図示せず)を含む。さらに、このようなプリンタは、この技術分野では周知のように、媒体センサ、印字ヘッド用温度センサ、ヘッドオープンセンサ、リボンセンサなど(図示せず)の様々な制御入力部すなわちセンサを含む。このプリンタシステム50は、コンピュータシステム12の中に存在するプロセッサ28とは別に1つ以上の付加的なプロセッサ60を含む。別の方法では、コンピュータシステム12の中のプロセッサ28は、十分に強力である場合は、別の処理装置を必要とせずにプリンタシステム50の機能を制御及び処理することができる。このためプリンタシステム50の全ての機能は、プリンタシステムから物理的に離れたコンピュータ又はプロセッサによって制御することができる。インクジェットヘッドの制御に関するさらなる詳細は、1994年12月13日に発行され本発明の所有者が所有する「Thermal Transfer Printer With Controlled Ribbon Feed」という題名の米国特許第5,372,439号の中で見出すことができる。この米国特許第5,372,439号は、参照することによってその全体が本願に組み込まれる。
プリンタシステムのプロセッサ60は、RFIDトランシーバ61にさらに動作可能なように接続される。このRFIDトランシーバ61は動作可能なようにプロセッサ60と、又は図1において点線で示すように、コンピュータシステム12の処理装置28に接続される。RFIDトランシーバ61がどこに存在するか又はどの処理要素にそれが接続されるかに関しては、本発明の範囲にとっては重要ではない。
RFIDトランシーバ61は、RFIDトランスポンダ62と通信して、このRFIDトランスポンダをプログラムするように構成される。RFIDトランスポンダ62は「チップ」形又は「チップレス」形とすることができ、こうしたRFIDトランスポンダの1つの一般的な形態は、「スマートラベル」の中で使用されることが多く、アンテナ及びRFID集積回路(図示せず)を含む。そのようなRFIDトランスポンダ62は、DC電源の能動トランスポンダ及びバッテリーなしの受動トランスポンダの両方を含み、種々の形状係数の中で利用できる。「バーコードプリンタ」又は「バーコードシステム」という用語は、本願では「バーコード/RFIDシステム」や「XMLシステム」などの用語と交換できるように使用される。またそのようなシステムは、例え「RFID」という用語が必ずしも識別文字の一部でなくても、RFIDデータをRFIDトランスポンダの中にコード化する能力を含む。システム12は、RFIDデータをRFIDトランスポンダの中にコード化する能力を含む必要がある。
RFIDトランスポンダに関するさらなる詳細は、2001年10月25日に出願され現在係争中の「Method And Apparatus For Associating On Demand Certain Selected Media And Value-Adding Elements」という名称の米国特許出願第10/001,364号の中に見出すことができる。この特許出願は、本願の譲受人が所有している。この米国特許出願第10/001,364号は、参照することによってその全体が本願に組み込まれる。
好ましいことに、コンピュータシステム12及びプリンタシステム50は共通の筐体の中に配置されているが、必ずしもこの方法で構成する必要はない。例えば、コンピュータシステム12は、プリンタシステム50とは別個の離れた筐体の中に収容することができる。
ここで図1〜図3を参照すると、図2はソフトウェアのハイレベルのブロック図の具体的な実施形態を例示し、一方図3はハイレベルのソフトウェアのブロック図とデータの流れ図とが組み合わされた具体的な実施形態を例示している。下記で説明するソフトウェアは、図1のコンピュータシステム12のプロセッサ28によって実行される。再度説明するが、プロセッサ28は、コンピュータシステム12及びプリンタシステム50の両方に共通する機能を実行する。一斉に又は別個に機能することができる1つ以上のプロセッサが存在する。処理又は処理機能がコンピュータシステムによって若しくはコンピュータシステムの中で、又はプリンタシステムによって若しくはプリンタシステムの中で処理されるかどうかは本発明の範囲にとって重要なことではない。
図2〜図3に例示されたソフトウェアブロックには、XML(拡張マークアップ言語)プロセッサ70(「XMLパーサー」とも呼ばれる)、XSLT(拡張スタイルシート言語変換)プロセッサ74、XSLFO(拡張スタイルシート言語フォーマッティングオブジェクト)プロセッサ78、ビットマップ/バーコード/RFIDレンダリングエンジン(rendering engine)80、RFIDトランシーバ61及びプリンタドライバ54(図1)が含まれる。無論、RFIDトランシーバ61は印刷されたラベルと共に使用されるか、又は単独で使用される。XMLシステム10の機能及び基本的な構成は、RFIDトランシーバを含む又は含まないことによって影響されない。
プリンタドライバ54は、その機能が関連する処理装置の物理的な位置に依存して、コンピュータシステム12の中の処理装置又はプリンタシステム50の中の処理装置60(図1)のいずれかによって実行される、前述した構成要素の実施例であることに注意されたい。繰り返すが、1つの処理装置が十分に強力である場合は、その処理装置はXMLシステム10の全ての機能を処理することができる。
XMLスキーマ容器82(スキーマ容器)はXMLプロセッサ70に入力を与え、一方XSLTスタイルシート容器84(スタイルシート容器)はXSLTプロセッサ74に入力を送る。企業資源計画(ERP)システム88も示されている。この企業資源計画システム88は、例えば、XML入力データストリーム90をXMLプロセッサ70に送信する倉庫管理システムとすることができる。ERPシステム88は本質的に、バーコードラベルを印刷する又はRFIDデータをRFIDトランスポンダ62にコード化する要求を開始し、バーコードを形成するXMLデータ、RFコード化データ、及び印刷又はコード化される可変のラベルフィールド又は要素フィールドを提供する。そのような可変のラベルフィールドは、例えば、幾つか又は全ての人が読取り可能なテキスト及び/又はラベル上に印刷される文字を含む。無論、どのような企業のコンピュータシステムも使用することができ、また本発明はある特定の種類の企業のコンピュータシステムと一緒に使用することには限定されない。
XMLデータを参照する場合、本願では2つの基本的な種類、すなわちXML値のデータ及びXML要素名が参照される。XML値のデータは、変更可能なデータすなわちデータ「1122グリーンストリート(1122 Green Street)」などの、バーコードラベル上に印刷される又はRFIDトランスポンダにコード化されることが望まれるデータである。このデータは、例えば、出荷住所に対応するXML値のデータの一部である。XML要素名は、任意のラベル又は要素名が選択されてXML値のデータを表すようなXML言語のセマンティクスの一部である。その使用については、XML言語によって定義される。一般に、要素名は、角カッコの間に現れる(「<要素名>」)。
上述したように、周知のバーコードラベル及び他の自動識別システムは、専有のソフトウェアコード化方式を使用することが多い。さらに、そのような方式はエラーをもたらすことが多く、また下にある値のデータは通常、非技術系の人は読み取ることができない。既知のシステムでは、企業のシステムから送られた下にある値のデータの中にエラーが存在する場合、又はデータを見失う若しくはデータが正しくない場合、バーコードシステムは行うように命令されたことを印刷又はコード化するが、これは無論、バーコードラベル又はRFIDトランスポンダの中にエラーを発生させて、不正確な又は役に立たないものにしてしまう。
その上、コンプライアンスラベリング(compliance labeling)を処理するときに、既知のシステムはラベルの形式又は内容がコンプライアンスラベルの要求に従って変化するときに、コード化しているデータの中に大きな変更を要求する。バーコード又はRFIDトランスポンダの形式又は内容のそのような変更は、繰り返すがエラーを受け易く、このことは今度は、コンプライアンスを要求する事業体によって金銭的な罰金を要求される可能性がある。バーコードラベリングシステム内で問題が続くことによって、特にそのようなエラーがコンプライアンスを要求する者の事業を混乱させる場合、事業関係が損傷を受けることもある。
本願のXMLシステム10は、オープンフォーマット(open format)を使用する。特に、バーコードラベル又はRFIDトランスポンダのフォーマッティングに関する要求事項及び形式は、XML言語の中で全て定義される。その上、XMLはよく定義され全ての人が利用することができるだけでなく、プログラマでない人も最小の教育を受けるだけで、XMLのデータストリーム又はファイル(又はハードコピー)の中のデータ及び命令を理解することができる。
図2〜図3に示した様々なXMLのソフトウェアブロックは市販されている。幾つかの異なる市販のXMLプロセッサ70は、互換性があるように又はほとんど修正せずに使用することができる。例えば、下記の市販のXMLプロセッサ70、すなわちIBM Corporationから入手可能な「XML for C++」、Microsoft Corporationから入手可能な「MSXML3」、Oracle Corporationから入手可能な「Oracle XML Developers Kit for C」、Thai Open Source Software Center, Ltd.から入手可能な「Expat」、又はApache Software Foundationから入手可能な「Xerces-C++」を使用できる。しかしながら、任意の適当なXMLプロセッサも使用できる。
同様に、幾つかの種々の市販のXSLTプロセッサ74は、互換性があるように又はほとんど修正せずに使用することができる。例えば、下記のXSLTプロセッサ74,すなわちInfoteria Corporationから入手可能な「iXSLT」、Microsoft Corporationから入手可能な「MSXML3」、及びGnomeから入手可能な「Libxslt」を使用できる。しかしながら、任意の適当なXSLTプロセッサも使用できる。
また一方、幾つかの色々な市販のXSLFOプロセッサ78は、互換性があるように又はほとんど変更せずに使用することができる。例えば、下記のXSLFOプロセッサ78,すなわちRenderX Corporationから入手できる「XEP」、Antenna House Corporationから入手できる「XSL Formatter」、及びApache Software Foundationから入手できる「FOP」を使用できる。しかしながら、任意の適当なXSLFOプロセッサも使用できる。
さらに図1〜図3を参照すると、プロセッサ70は、外部ソース88からXML入力データストリーム90を受け取る。例えば、この外部ソースは、倉庫管理システムなどのERPシステム88とすることができる。XMLプロセッサ70は本質的にXML入力データストリーム90を解析及び処理して、この技術分野では周知の「ツリー」構造のノードの組を発生する。図2〜図3に示されたソフトウェア処理ブロックの各々は「ツリー」のノード上で動作して、自分達の要求された機能を実行する。ERPシステム88からのXML入力データストリーム90の中に含まれる下にある値のデータが処理されて、このデータを保持する「ラベル値ノードツリー」100の中に入力される。
以下は様々なソフトウェア構成要素の動作の概要である。始めに、XML入力データストリーム90は、他の必要なXML文書又はファイルの名前及び位置を識別するテキストを含むことに注意されたい。1つのそのような文書は、「XMLスキーマ」又は「スキーマ」と呼ばれる。このスキーマは、下にある値のデータを含むXML入力データストリームを確認するために使用される。この確認に合格すると、後で説明するが、スタイルシートが加えられる。スタイルシートの名前及び位置も、XML入力データストリーム90の中で規定される。スタイルシートを適用することは、スタイルシートの指示のもとにXSLTプロセッサ74によって処理され、下にあるXML要素名及び/又は下にある値のデータを変換する。次に、データは、下にある値のデータのフォーマッティング及び「レイアウト」を処理するXSLFOプロセッサ78によって処理される。これには、例えば、フォントの種類、フォントの寸法、色などに基づいて下にある値のデータをフォーマットすることが含まれる。次に、下にある値のデータが、ビットマップ/バーコード/RFIDレンダリングエンジン80によって処理される。このレンダリングエンジン80は、バーコードラベルのビットマップ92、又は変換及びフォーマットされたデータに対応するRFIDトランスポンダに対するプログラミングコードのシーケンスを作り出す。レンダリングエンジン80はスタイルシートの中に存在する「流入外来オブジェクト(instream foreign object)」を利用して、ビットマップの作成を方向付けることができる。ビットマップ92は、次に、バーコードプリンタによってバーコードラベルを印刷するためにプリンタ用ドライバ54(図1)に送られるか、又はRFIDトランスポンダ62(図1)の中にコード化するためにRFIDトランシーバ61に送られる。
前述したように、スキーマは、入力データストリーム90の全体、特にエラーが一般的に発見される下にある値のデータを確認するような役目をする。実際には、エラーはバーコードラベルの形式又は内容に対して変更が行われる場合に、気が付かずに発生することが多い。
スキーマ文書の名前及び位置は、XML入力データストリーム90の中に含まれる。このXML入力データストリーム90は、バーコードラベルを印刷及び/又はコード化するという要求に対応する。XMLプロセッサ70はスキーマ検証モジュール110と連動して、下にある値のデータを確認する。スキーマを使用することは、スキーマが最終的な出力、すなわちバーコードラベル、「出荷ラベル」、又はRFIDタグのトランスポンダに関連するエラー及び脱落を防ぐため経済性に優れる。
XML入力データストリーム90がエラーのために拒否されるすなわちフラグを立てられる場合、エラーメッセージがソース88に送り返される。これによりエラーを訂正するために、フラグを立てたり人が介入するように促す。例えば、この特定の実施例では、ソースはERPシステム88である。この方法では、データは最初に処理する前に点検されて、このデータが全ての要求されたラベル及びバーコードの規定に確実に適合するようにする。
これはコンプライアンスラベリングを処理する場合、特に有益である。既知のシステムでは、コンプライアンスの要求者は、供給業者にコンプライアンスラベリングに関する要求事項の変更を単に通知するだけである。ここで、供給業者がこれらの変更又は命令を解釈又は実行する場合にエラーを犯すと、コンプライアンスの要求者に向けて出荷される製品に付けられる作成されたラベル又はコード化されたRFIDトランスポンダにはエラーが含まれることになるため、将来の取引を危険にさらしたり、金銭的な罰金が加えられる可能性がある。
本発明では、コンプライアンスの要求者は、スキーマ及び/又はXSLTのスタイルシートに直接変更を加えることが好ましい。例えば、ラベルの物理的なレイアウトが変更される場合又は要素名が変更される場合、コンプライアンスの要求者はXSLTスタイルシートを変更することになる。同様に、下にある値のデータが加えられる又は削除される又は別の状況では制限される場合(例えば、郵便番号に対する新しい受け入れられる数値範囲)、コンプライアンスの要求者はスキーマを変更できる。この方法では、供給業者は単にそのERPシステム88の出力を変更するだけで、その出力は確実に変更されたXML入力データストリーム90に適合する。ラベルの物理的なレイアウトのみが変更される場合、供給業者はどのような変更も全く行う必要はない。
例えば、コンプライアンスの要求者がここで、9桁の郵便番号を最初の5桁の郵便番号の代わりに使用するように要求するとする。それに応じて、コンプライアンスの要求者はスキーマを変更して、第1及び第2の両方の郵便番号フィールドを要求する。また、第2のフィールドは、恐らく0000〜9999のようにある範囲内の数字の桁に制限される。コンプライアンスの要求者はスタイルシートを変更して、その変更を受け入れることもできる。それに応じて、供給業者は加えられた郵便番号フィールドをそのERPシステムの中に挿入して、それがXMLシステム10に送られたXML入力データストリーム90の中に現れるようにする必要がある。XML入力データストリーム90に対するそのような変更が正確に実行されない場合、スキーマはERPシステム88に報告されるエラーを発生することになるため、ラベルは印刷されず又はRFIDトランスポンダはコード化されない。
したがって、供給業者は容器82,84から変更されたスキーマ及び/又はスタイルシートにただアクセスしさえすればよい。この変更されたスキーマ及び/又はスタイルシートは受信される場合は自動的に下にある値のデータに加えられる。本質的に、バーコードラベル又はRFIDトランスポンダの形式及び内容に対する小さい変更及び極めて大きな変更は供給業者には見えない。また、そのようなバーコードラベル又はRFIDトランスポンダの内容に対する変更は、スキーマに基づいて検証される。これにより、供給業者は、コンプライアンスの要求者によって指示されたバーコードラベル又はRFIDトランスポンダの形式又は内容を変更するための費用を負担する必要はなく、またそのような変更を実施する場合にどのようなエラーも発生しない。何らかのエラーが存在する場合は、そのようなエラーはコンプライアンスの要求者が気付かずに作ってしまったものであり、この場合、コンプライアンスの要求者は供給業者を非難することはできない。
スキーマ文書は、XMLスキーマ容器82から得られることが好ましい。1つの特定の実施形態では、スキーマ容器82はXMLシステム10及びコンピュータシステム12の外部にあり、このコンピュータシステムが接続されているネットワークすなわちインターネット又は任意の適当なネットワーク43,44を介してアクセスすることができる。スキーマ容器82は、複数のスキーマ文書を含むことができる。このため、バーコードラベル又はRFIDトランスポンダを作成する様々な要求を表すXML入力データストリーム90は、容器82の中の対応するスキーマの名前及び位置をそれぞれ指定することができる。XMLプロセッサ70が要求を受け取ると、対応するスキーマがスキーマ容器82から検索される。
別の実施形態では、スキーマ容器82からネットワーク42,43を経由して得られたスキーマは他の場所で保持することができ、このためハードディスク18又はデータベース22などのメモリサブシステム26(図1)の中に一時的に置くことができる。この方法では、同じスキーマが複数のXML入力データストリーム90又は直ぐ後のバーコードラベルの要求に対して使用される場合、XMLプロセッサ70はネットワーク42,44を介して外部にある同じスキーマを検索する必要はなく、メモリサブシステム26からそのスキーマを検索することができるため、より効率的である。この実施形態によれば、コンプライアンスの要求者は、ある時間においてのみ外部の容器82の中のスキーマを変更又は修正することができる。例えば、コンプライアンスの要求者は、毎日午前1時にだけスタイルシートを変更することができる。このため、供給業者は、容器82からメモリサブシステム26の中に1日1回だけ、例えばコンプライアンスの要求者がスキーマの更新を行った後で、スキーマを更新すればよい。次に、供給業者は、メモリサブシステム26の中に一時的に保管されたスキーマが、少なくとも更新が行われるように計画される時間までは最も新しいスキーマ文書であることが分かる。
スキーマが得られる位置には関係無く、スキーマ検証モジュール110は下にあるデータの照合及び検証を行う。このスキーマ検証モジュール110は、図2ではXMLプロセッサ70とは別のブロックとして示されているが、それは単に例示する目的のためにこの位置に示されているのであり、図面上でスキーマ検証モジュールが実行するデータであるラベル値ノードツリー100に隣接して示すこともできる。しかしながら、このスキーマ検証モジュール110はXMLプロセッサ70の一部としてそれに組み込むこと、又はXMLプロセッサ70とは別個にして離すこともできる。
無論、スキーマもXML文書であり、このためそれもXMLプロセッサ70によって処理される。従って、スキーマの処理結果は図3に示したXMLスキーマノードツリー114であり、これは処理されたスキーマの「メモリ表示」又はワーキングモデルである。このXMLスキーマノードツリー114は、この技術分野では周知の「文書オブジェクトモデル」(DOM)の形式とすることができる。さらに、XMLスキーマノードツリー114は、XMLスキーマキャッシュ116の中に示されるように、効率を上げるためにキャッシュメモリの中に存在することができる。スキーマ検証モジュール110及び/又はXMLプロセッサ70はXMLスキーマノードツリー114の中のデータ上で動作して、スキーマ文書に基づいて下にある値のデータを検証するその機能を実行する。
前述したように、エラーがXML入力データストリーム90の中に存在するとスキーマを適用することにより判断された場合、エラーメッセージが生成される。XML入力データストリーム90が検証される場合、データは事実上「手付かずの」ままである。次に、ラベル値ノードツリー100の中のデータが、XSLTスタイルシートを用いてXSLTプロセッサ74によって処理される。
別の方法では、下にある値のデータの検証が、スキーマを使用することではなく、文書様式定義(Document Type Definition)(DTD)フォーマットに基づいて実行される。DTDを使用することは、この技術分野では周知のように、様々なXML仕様書の中で詳細に規定されている。
スタイルシート文書は、XSLTスタイルシート容器84から得ることが好ましい。1つの特定の実施形態では、スタイルシート容器84はXMLシステム10及びコンピュータシステム12の外部にあり、このコンピュータシステムが接続されているネットワークすなわちインターネット又は任意の適当なネットワーク43,44を介してアクセスすることができる。スタイルシート容器84は、複数のスタイルシートを含むことができる。このため、バーコードラベル又はRFIDトランスポンダを作成する様々な要求を表すXML入力データストリーム90は、容器84の中の対応するスタイルシートの名前及び位置をそれぞれ指定することができる。XMLプロセッサ70が要求を受け取ると、対応するスタイルシートがスタイルシート容器84から検索される。
別の実施形態では、スタイルシート容器84からネットワーク43,44を経由して得られたスタイルシートは他の場所で保持することができ、このためハードディスク18又はデータベース22などのメモリサブシステム26(図1)の中に一時的に置くことができる。この方法では、同じスタイルシートが複数のXML入力データストリーム90又は直ぐ後のバーコードラベル又はRFIDトランスポンダの要求に対して使用される場合、XMLプロセッサ70はネットワーク43,44を介して外部にある同じスタイルシートを検索する必要はなく、メモリサブシステム26からそのスタイルシートを検索することができるため、より効率的である。
この実施形態によれば、コンプライアンスの要求者は、ある時間においてのみ外部のスタイルシート容器84の中のスタイルシートを変更又は修正することができる。例えば、コンプライアンスの要求者は、毎日午前1時にだけスタイルシートを変更することができる。このため、供給業者は、スタイルシート容器84からメモリサブシステム26の中に1日1回だけ、例えばコンプライアンスの要求者がスタイルシートの更新を行った後で、スタイルシートを更新すればよい。次に、供給業者は、メモリサブシステム26の中に一時的に保管されたスタイルシートが、少なくとも更新が行われるように計画される時間までは最も新しいスキーマ文書であることが分かる。
無論、スタイルシートもXML文書であり、このためそれもXMLプロセッサ70によって処理される。従って、スタイルシートの処理結果は図3に示したXSLTスタイルシートノードツリー120であり、これは処理されたスタイルシートの「メモリ表示」又はワーキングモデルである。このXSLTスタイルシートノードツリー120は、この技術分野では周知の「文書オブジェクトモデル」(DOM)の形式とすることができる。さらに、XSLTスタイルシートノードツリー120は、XSLTスタイルシートキャッシュ126の中に示されるように、効率を上げるためにキャッシュメモリの中に存在することができる。XSLTプロセッサ74はXSLTスタイルシートノードツリー120の中のデータ上で動作して、スタイルシートに基づいて下にある値のデータ又は下にある要素名を変換するその機能を実行する。
XSLTスタイルシートが図3ではXMLプロセッサ70への入力として示されているが、XSLTプロセッサ74がこのスタイルシートを処理することに注意されたい。全てのXML文書は最初に処理されて、その後の処理のために適当なデータ構造体の中に配置されるため、そのXSLTスタイルシートは最初にXMLプロセッサ70に送られる。
XSLTプロセッサ74は下にある値のデータを変更、保管、及び再配列するか、又は下にある値のデータに加えるか又は下にある値のデータの幾つかを削除する。例えば、スタイルシートの下方で、下にある値のデータをテーブル形式又は列の中に再配列することができる。特に、スタイルシートは、XSLFOフォーマッティング要素及び属性を加えることができる。
ラベル値ノードツリー100の中の下にある値のデータが対応するスタイルシートに基づいて処理された後で、XSLFOインスタンスノードツリー(instance node tree)130が作られる。繰り返すが、XSLFOインスタンスノードツリー130は、この技術分野では周知の文書オブジェクトモジュールの形式にすることができる。このXSLFOインスタンスノードツリー130には、XSLFOプロセッサ78にフォーマッティング及びレイアウトに関して指示するXSLFO命令(レイアウト命令)が含まれる。次に、このXSLFOプロセッサ78はXSLFO命令を解釈し、そのような命令を下にある値のデータに適用して、この下にある値のデータを適当にフォーマット及びレイアウトする。XSLFOプロセッサ78は、レンダリングの前に最終的なフォーマッティング出力を表すXSLFO領域ノードツリー130を生成する。
ここで図3に戻ると、「XML入力データストリーム用のコードセグメント1」という題名のコードセグメントが直ぐ下に示されている。このコードセグメント1は、ハードコピーでXML入力データストリーム90を例示する。これは例えば、ERP又は倉庫管理システム88によってXMLシステム10に送られる。行番号は単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント1 XML入力データストリーム用のコードセグメント
Figure 2006528384
XML入力データストリームはスキーマ文書を「ShipLabels.xsd」として識別し、この特定の実施例では、そのスキーマ文書は、コードセグメント1の中の行7に示すように、「D:/Projects/XML/Native/Docs」と呼ばれるディレクトリの中に見出すことができる。さらに、このXML入力データストリームは、スタイルシート文書を「ShipLabels.xsl」として識別し、そのスタイルシート文書はまた、コードセグメント1の行3に示すように、「D:/Projects/XML/Native/Docs」と呼ばれるディレクトリの中に見出すことができる。無論、スキーマ文章及びスタイルシート文書は、例えばインターネットのアドレスによって識別されるようなどのような場所にでも配置することができる。
この特定の実施例は、印刷される3つの出荷ラベルに対する下にある値のデータ及び要素名を示す。各出荷ラベルは、次のような、すなわち、<name>、<address>、<city>、<state>、及び<zip>などの角ブラケットの間で定義されたXML要素名を含む。第1の要素名<name>の値は「Albert Einstein」であり、第2の要素名<address>の値は「1234 Relative Way」、第3の要素名<city>の値は「Princeton」、第4の要素名<state>の値は「NJ」、また第5の要素名<zip>の値は「08540」である。これは下にある値のデータである。
ここで図3、コードセグメント1、及び「XMLスキーマ用のコードセグメント2」という名称のこの直ぐ後に示されるコードセグメントを参照する。このコードセグメント2は、コードセグメント1のXML入力データストリームの中で規定されたXMLスキーマ文書の形式のXML文書の特定の実施例を例示している。行番号は、単に説明のために挿入されているものであり、コードの一部ではない。
コードセグメント2 XMLスキーマ用のコードセグメント
Figure 2006528384
Figure 2006528384
前述したように、スキーマは下にある値のデータを検証するために使用される。このことは、全ての必要なデータが存在すること、無関係のデータは存在しないこと、存在するデータは特定の範囲内にあることなどを判断するために調査を行う必要がある。任意の適当な検証方式が、アプリケーションに基づいてスキーマの中で指定される。XML言語がよく使用され、コードが極めて多数の要求事項を処理するために記述される。
例えば、上記のコードセグメント2の中で示したスキーマ文書は、要素名<address>に対応する下にある値のデータが、コードセグメント2の行5で示すように、XMLスキーマ仕様の中で定義されたようにストリングでなければならないと規定している。このスキーマ文書は、<name>、<address>、<city>、<state>、及び<zip>の要素名に対応する下にある値のデータは、コードセグメント2の中の行9〜15によって示されたように指示された順序で存在しなければならないとも規定している。さらに、コードセグメント2で示されたこの特別なスキーマ文書は、要素ネーム<state>に対応する下にある値のデータが3つの州、すなわち「CA」、「NJ」、又は「NY」の1つでなければならないと規定する。無論、これは単に短縮された実施例であり、専ら説明の目的であるため全ての州を含んではいない。コードセグメント2で示されたスキーマ文書は、要素名<zip>に対応する下にある値のデータが00000から99999の範囲になければならないとも規定している。XML入力データストリームの中のデータが上述したスキーマ基準のいずれかに適合しない場合は、スキーマ検証モジュール110はそれを不合格にして、エラーメッセージをソース88に送り返すことが好ましい。
ここで、図3、コードセグメント1〜2、及び「XSLTスタイルシート用のコードセグメント3」という題名の直ぐ後に示したコードセグメントを参照する。このコードセグメント3は、コードセグメント1のXML入力データストリームの中で規定されたXSLTスタイルシート文書の形式のXML文書の具体的な実施例を示している。行番号は、単に説明のために挿入されているものであり、コードの一部ではない。
コードセグメント3 XSLTスタイルシート用のコードセグメント
Figure 2006528384
Figure 2006528384
Figure 2006528384
上述したように、スタイルシートはデータを変換するために使用される。この特定の実施例では、コードセグメント3のスタイルシートは、2種類の名前空間、すなわち「バーコード形オブジェクト」として選択される「bo」形オブジェクト、及びXSLFOプロセッサ78に関連して前に説明されたフォーマッティングオブジェクトとして選択される「fo」形オブジェクトを定義する。このことは、この技術分野では周知のように、異なるオブジェクト間の区別を可能にする。スタイルシートは、幾つかのデータを変換させたり又は加えることまで行うことができる。例えば、コードセグメント1のXML入力データストリームからの下にある値のデータ、すなわち「Einstein」、「1234 Relative Way」などは、行40〜62に示すように挿入される。
このスタイルシートは、フォーマッティング要素又はXSLFOオブジェクトと呼ばれる各種の「fo」形の要素も発生させる。XSLFOオブジェクトには、XSLFOプロセッサ78が「理解」して処理するレイアウト形命令が含まれる。「fo」の接頭語を有するコードの全ての行はXSLTプロセッサ74によって解釈されるのではなく、XSLFOプロセッサ78に送られることに注意されたい。
例えば、コードセグメント3の行21は、行22の<fo:block break-after = "page">の後に<xsl: template match= "label">を示している。これはXSLFOプロセッサ78によって、コードセグメント1で指定された3つの出荷ラベルの間に「ページの区切り」を置くことと解釈される。基本的に、それぞれがコードセグメント1の中で指定された下にある値のデータを含む新しい出荷ラベルが、ページの区切りに基づいて作られる。
さらに、この特定のスタイルシートは、行31に示すように、「流入外来オブジェクト」が挿入されることを指定する。行31は、流入外来オブジェクトを定義する行31〜37と共に、<fo:instream-foreign-object>として示される。流入外来オブジェクトは、XSLTプロセッサ74又はXSLFOプロセッサ78のいずれによっても処理されないことに注意されたい。流入外来オブジェクトは、正しくは、ビットマップ/バーコード/RFIDレンダリングエンジン80に送られて処理される。例えば、コードセグメント3の行32〜36は、「postnet」バーコード要素の定義を含む<bo:barcode>要素を挿入させる。この「postnet」バーコード要素は、後でビットマップ/バーコード/RFIDレンダリングエンジン80によって処理される。行34で、XSLTプロセッサ74は、XML入力データストリームからの郵便番号を<bo:postnet>要素のテキストとして挿入させる。別の方法では、コードには示していないが、RFID形の流入外来オブジェクトは、RFIDトランスポンダをプログラムするためのコード化を定義する。
ここで、図3、コードセグメント1〜3、及び直ぐ後に示された「インスタンスノードツリー表示用のコードセグメント4」という題名のコードセグメントを参照する。コードセグメント4は、コードセグメント3のスタイルシートと共に、XSLTプロセッサ74によって作られたXSLFOインスタンスノードツリー130の出力の表示の特定の実施例を示す。この出力は、XSLFOプロセッサ78に送られたXSLFOインスタンスノードツリーの表示である。行番号は、単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント4 XSLFOインスタンスノードツリー表示用のコードセグメント
Figure 2006528384
Figure 2006528384
上記のコードセグメント4の2つの主要な部分、すなわち行4のコード<fo:layout-master-set>で始まる第1の部分と、行9の<fo:page-sequence master-name="all-labels>で始まる第2の部分を簡潔に説明する。このコード部分は基本的に、どのようなバーコードラベルが「見える」か又はどのようにそれを「レイアウトするか」及びどのように下にある値のデータがそのレイアウトの中に現れるかについて定義する。
例えば、コードセグメント1で示した下にある値のデータをフォーマットすることに関して、行12〜13に示した「bold 14pt Times」及び「text-align = "left"」のフォント属性が「Albert Einstein」という下にある値のデータに加えられるため、バーコードラベルが印刷されると、「Albert Einstein」という名前が14ポイントのタイムズ(Times)フォントで印刷され、それはバーコードラベルの左側余白に整列される。この技術分野では周知であるが、XSLFOプロセッサ78が解釈する多くの種類のフォーマッティング命令を指定することができる。
さらに、XSLFOインスタンスノードツリー130のこの特定の表示の実施例には、コードセグメント4の行21〜26で示すように、流入外来オブジェクトが含まれるが、この流入外来オブジェクトはXSLFOプロセッサ78によっては処理されない。流入外来オブジェクトは、正しくは、ビットマップ/バーコード/RFIDレンダリングエンジン80に送られて処理される。バーコード要素の種類及びRFIDトランスポンダ要素の種類はXSLFOの仕様の中に含まれていないため、処理におけるこの時点では、XSLFOプロセッサ78はバーコードラベルを印刷する方法又はRFIDトランスポンダをコード化する方法を「知らない」ことに注意されたい。正しくは、コードセグメント1〜2に示すように、下にある値のデータすなわち「Einstein」、「1234 Relative Way」などのテキスト情報のみを、テキストとしてバーコードラベル上に印刷することができる。ラベルに関しては、XSLFOプロセッサ78はバーコード記号の作り方を「知らない」ため、実際のバーコード記号は現れない。RFIDトランスポンダは、XSLFOプロセッサ78がトランスポンダをコード化する方法を「知らない」ため、コード化されることはない。
XSLFOプロセッサ78による処理結果が、XSLFO領域ノードツリー140である。コードセグメント4の中の流入外来オブジェクトはXSLFOプロセッサ78によって処理されないが、XSLFO領域ノードツリー140の1つ以上のノードの中でバーコード/ビットマップ/RFIDレンダリングエンジン80に送られる。流入外来オブジェクトの要素は<bo:barcode>と呼ばれ、コードセグメント4の行21〜26に示されている。バーコード/ビットマップ/RFIDレンダリングエンジン80は<bo:barcode>要素を受け取り、そのブロックに含まれたコードを処理する。例えば、レンダリングエンジン80は、行23〜24すなわち<bo:postnet interpretation-line="none">08540<bo:postnet>を、この特定のノードを定義するときに「postnet」バーコード形の要素であると解釈する。多くの様々な「種類」のバーコード記号を、後で説明する対応する工業規格が定義するように定義することができる。
別の方法では、流入外来オブジェクトの要素がRFIDのコード化に関係する場合、レンダリングエンジン80は、RFIDトランシーバ61(図1)によりRFIDトランスポンダ62(図2)のプログラミング及びコード化を管理する特定の規格に基づいて、この流入外来オブジェクトを解釈する。バーコードを印刷する方法を規定するXMLデータの要素及び属性のように、そのような要素及び属性は、RFIDトランスポンダ62などのRFIDタグの中にプログラムされるテキスト及び特徴を規定することもできる。基本的に、RFID形の流入外来オブジェクトに基づくレンダリングは、RFIDトランシーバ61(図1)の動作を管理する。このため、無線周波数信号がRFIDトランシーバとRFIDトランスポンダとの間で送信されて、RFIDトランスポンダのプログラミングを行う。
RFIDトランシーバの動作は、ISO/IECなどの国際規格に基づくか、又はTexas Instruments (Tag-it)又はPhillips (I Code)などの売り手からの自社開発の規格に従う。例えば、動作はビシニティーカード(vicinity card)については国際標準化機構(ISO)の規格15693によって、プロクシミティーカード(proximity card)についてはISO規格14443によって管理される。ISO規格15693は、物理的な特性、無線周波数の電力及び信号のインターフェース、並びに衝突防止及び送信プロトコルについて記述している。送信プロトコルの仕様には、トランスポンダを読取り、書込み及びロックするための要求及び応答が含まれる。ISO規格15693は、RFIDラベルのタグが含まれる場合は好ましく適切な規格であることに注意されたい。
バーコード記号として印刷される下にある値のデータは、コードセグメント4の行24に示すように数値データ「08540」である。この下にある値のデータは、コードセグメント1に示したAlbert Einsteinの住所に対する郵便番号である。この特定の実施例では、郵便番号だけがバーコード記号に送信される。無論、ありとあらゆる情報が、アプリケーションに基づいてバーコード記号に送信される。また、この特定の実施例では、コードセグメント4に示した流入外来オブジェクトが、コードセグメント1に示した3つの郵便番号に関係するだけである。他の下にある値のデータは、この実施例ではバーコード記号に送信されない。
XMLシステム10は、必ずしもXSLTプロセッサ74を備える必要がないことにも注意されたい。別の実施形態では、XSLTプロセッサ74又はそれと等価な装置はXMLシステム10から遠く離れて配置され、XML入力ストリーム内のXMLデータを変換して、この変換されたデータをXMLシステムに提供するように構成される。このため、XMLシステム10は変換されたXMLデータを受け取り、フォーマットされたXMLデータに処理することができる。一般にXSLTプロセッサによって取り扱われた処理に相当する遠く離れたすなわち「別個の」処理は、スタイルシートに含まれたXSLFO命令に基づいている。この命令は、XMLシステム10の中に存在する必要はなく又はそれに直接アクセス可能である必要もない。
ここで、コードセグメント4と共に図2〜図4を参照して、バーコード/ビットマップ/RFIDレンダリングエンジン80及び流入外来オブジェクトの処理に関する付加的な詳細を述べる。前述したように、レンダリングエンジン80は、XSLFOプロセッサ78が発生したXSLFO領域ノードツリー140の各ノードを処理する。この技術分野では周知のように、XSLFO領域ノードツリー140は、文書オブジェクトモデルとしてメモリの中に表される。このため、多数のノードが存在できる。例えば、あるノードは流入外来オブジェクトを含み、他のノードは関連する要素名を、別のノードは関連するテキストデータを、別のノードは関連する属性を、等々を含むことができる。
図4のブロック150に示すように、XSLFO領域ノードツリー140のノードが処理される。特に、レンダリングエンジン80は、対応する流入外来オブジェクトによって定義された実際のバーコード記号又はRFIDのコード化を提供又は生成する方法を「知っている」。市販のXSLFOプロセッサは、バーコード記号及びRFIDトランスポンダを表示するそのような流入外来オブジェクトを処理する方法を「知らない」ため、バーコード記号を生成又は提供すること又はRFIDトランスポンダをコード化することはできない。しかしながら、市販のXSLFOプロセッサは、容認できる方法でテキストを提供することができ、またある種の流入外来オブジェクトさえも提供することができる。
特定のノードが流入外来オブジェクトを含まない場合は、それが例えばテキストデータを含み、次にこのノードが、ブロック154で例示するように、レンダリングエンジン80ではなくXSLFOプロセッサ78の処理能力を利用することによる「標準的な」方法で処理されることを意味する。1つの実施形態では、非流入外来オブジェクト(non-instream foreign object)がXSLFOプロセッサ78に送り「戻される」、又はXSLFOプロセッサは、XSLFO領域ノードツリー140の中の特定のノードがそれによって処理するのが適当であると知らされる。
非流入外来オブジェクトを含むXSLFO領域ノードツリー140におけるノードの処理は、前述したように、XSLFOプロセッサ78によって行われる。無論、種々の市販のXSLFOプロセッサは、適当を例えば別のフォーマットに変換する。例えば、前述したAntenna House Corporationから入手できる「XMLフォーマッタ」と呼ばれるXSLFOプロセッサは、ノードをWINDOWS(登録商標)の「装置独立形ビットマップ」フォーマットにする。前述したRenderX Corporationから入手可能な「XEP」と呼ばれるこのXSLFOプロセッサは、ノードを「PDF」フォーマットにし、前述したApache Software Foundationから入手可能な「FOP」と呼ばれるXSLFOプロセッサは、ノードを「PDF」フォーマットにすることもできる。
XMLシステム10は、Apache Software Foundationから入手できる「FOP」形のXSLFOプロセッサ78を利用することが好ましい。その理由は、このXSLFOプロセッサは、処理することができない流入外来オブジェクトに直面する場合、サブルーチン又は他の処理機能を「呼び出す」ように構成されているからである。特に、このXSLFOプロセッサは、処理することができない流入外来オブジェクトを取り扱うために、本願で説明されたレンダリングエンジンのソフトウェアブロック80を呼び出すように設定される。
次に、ブロック160に示すように、ノードがバーコード又はRFIDトランスポンダを表示する流入外来オブジェクトを含み、XSLFOプロセッサ78がこのバーコード又はRFIDトランスポンダを処理することができない場合、レンダリングエンジン80は流入外来オブジェクトがXMLシステム10に固有の「namespace」を持っているかどうかを判断するために検査する。例えば、レンダリングエンジン80は、流入外来オブジェクトに関連するnamespaceが「Zebra Technologies Corporation namespace」に対応するかどうかを決定するために検査する。namespaceの表記は、この技術分野では周知である。これはコードセグメント4の行3に、「xmlns:bo="http://www.zebra.com/2002/XSL/Barcode">」として示されている。このため、コードセグメント4に示すように、上記のように定義されたnamespaceが「bo」の接頭語を有する全ての要素に与えられる。この時、そのような「bo」の接頭語を有する要素は、レンダリングエンジン80が処理するために利用できる。この「bo」接頭語形の要素は、バーコード形の流入外来オブジェクトに対応する。XSLFOプロセッサ78は、そのような要素を処理する方法を「知らない」。
流入外来オブジェクトが適当なnamespaceに関連していない場合は、それはバーコード形の流入外来オブジェクトではないと仮定して、XSLFOプロセッサ78に送り戻される。それは、XSLFOプロセッサは幾つかの限られた数の流入外来オブジェクトを処理することができるからである。このことは、ブロック160からブロック154への矢印162によって示される。しかしながら、一般に、流入外来オブジェクトに関連したデータが(バーコードのように)本質的に極めて独特であるという具体的な理由のために、流入外来オブジェクトが存在する又は作られる。このため、多くの市販の又は汎用のXSLFOプロセッサはそれらを処理することはできない。
本願に記載された市販のXSLFOプロセッサは、必ずしも全ての流入外来オブジェクトを処理することができないことはない。しかしながら、それらのプロセッサは、バーコード記号及びRFIDのコード化に対応する流入外来オブジェクトを処理することはできない。
流入外来オブジェクトが適当なnamespaceを有していると仮定すると、ブロック170はバーコードの種類を決定するために、流入外来オブジェクトの中の要素を判断する。例えば、流入外来オブジェクトがコードセグメント4の行21〜26に示されている。より具体的には、バーコードに対応する正しいnamespaceを示す「bo」の接頭語を有するバーコード要素が、コードセグメント4の行23〜24に示すように、「postnet」というバーコードの種類を持つように示されている。これは、<bo:postnet interpretation-line="none">08540</bo:postnet>のように示される。コードセグメント4の行41〜42は、別の流入外来オブジェクトに対する同様のバーコード要素、すなわちコードセグメント1の中に示した「Steven Hawking」の住所に対応する次の印刷すべきバーコードラベルを示す。
どのようなバーコードの種類も、アプリケーションに基づいて流入外来オブジェクトの中で規定することができる。バーコードの種類は、周知のバーコードの規格に基づいている。例えば、バーコードの種類はバーコード記号のpostnet形に限定されることはなく、例えば、「Industrial 2 of 5」、「PDF 417」、「UPC」などに基づく。バーコードの「種類」は、バーの厚さ、バー間の空間の幅に対するバーの厚さの比率など印刷されるバーコード記号の基本的な構造を規定する。各特定の周知のバーコード規格が、具体的に定義される。
次に、バーコードの種類が流入外来オブジェクトから確認された後で、この流入外来オブジェクトの属性が解釈されて、ブロック176に示すようにバーコードの特性が決定される。この特性は、バーコード記号が作成される方法を変更することができる。例えば、「postnet」形バーコードの1つの属性は、コードセグメント4の行23〜24に「interpretation-line="none"」として見ることができる。この技術分野では周知のように、「interpretation-line="none"」は、特定のバーコード記号と一緒には対応する人が読むことができるテキストは発生されないことを意味する。バーコード要素に関連する属性の別の実施例はバーコード記号の高さであり、これはまた流入外来オブジェクトの中で属性として規定される。
流入外来オブジェクトから得たバーコードの種類及び属性を用いて、レンダリングエンジン80は次に、ブロック180に示すように、バーコード記号に変換される実際のノードのテキストデータを得る。この実施例では、実際のバーコードデータは、コードセグメント4の行24で逆角カッコ間に示されたように(>80540<)、郵便番号「80540」である。数値データ「80540」からバーコード記号の(例えば、線形バーコード用の)線すなわちバーを表すビットマップへ物理的に変換することは、例えばZebra Technologies Corporationで市販されているバーコードラベルプリンタの中に含まれたソフトウェアルーチンによって実行される。そのような適当なバーコードプリンタは、例えば、Xi シリーズのバーコードプリンタ、90XiIII Plus、96XiIII Plus、140XiIII Plus、170XiIII Plus、220XiIII Plus、2800 シリーズのバーコードプリンタ、モデル Z4M、Z6M、105SL バーコードプリンタ、モデルR4Mplus、R402、R-140プリンタ/エンコーダなどとすることができる。Zebra Technologies Corporationから市販されているバーコードプリンタの中に含まれたこうした周知のソフトウェアルーチンすなわちアルゴリズムは、極めて効率的であるため、バーコードが高速に印刷される。
線形バーコードについては、テキストデータを一連の白黒のバーに変換することによって、ビットマップが作られる。これらの白黒のバーの相対的な幅は、バーコード記号に対する工業規格に適合している。テキストデータは、バーコードがバーコードスキャナによって読み取られるときに、バーコードの検証を可能にするためにコード化の前に加えられるチェック文字を有する。このチェック文字は、使用する記号に基づいて必要な場合又は任意な場合がある。記号をコード化する要求事項に従って、バーはバーのモジュールにグループ化される。テキストデータは、記号に基づいてコード化の間に圧縮される。記号の仕様により定義されるように、バーは1つ以上の「ファインダ」バーに先行する及び/又はそれらの後に続く。
記号によって要求される適当なコード化及び適当な物理的な寸法に必要な場合、別のアルゴリズムを適用することができる。バーの長さ、細いバーの幅、太いバーの細いバーに対する比率、及び他の記号に特有なパラメータは、XMLデータの中の属性によって規定される。さらに、バーコードのビットマップは、XMLデータ内の属性で指定するように回転することができる(通常は90°刻み)。
二次元のバーコードについては、ビットマップはテキストデータを種々の独特な記号アルゴリズムに基づいてビットパターンに変換することによって与えられる。二次元のバーコードは一般に、線形のバーコードよりも多くのテキストデータをコード化することを可能にする。コード化アルゴリズムには、例えば、データ圧縮、エラーチェック及び補正、データの冗長度レベルの変更、モジュール化、ファインダのパターン、並びに記号が定義する他のアルゴリズムが含まれる。ユーザが指定可能な記号特有のパラメータは、XMLデータ内の属性によって指定することができる。この場合、記号アルゴリズムによって生成されたビットマップは、XMLデータの中の属性が指定するように拡大及び/又は回転することができる。
ブロック180によってバーコード記号を表示するビットマップが一旦生成されると、そのビットマップは次に「マスタ」ビットマップすなわち「ラベル」ビットマップ184の中に配置されるか又はそれと併合される。このラベルビットマップは、ブロック182に示すように、出荷ラベル全体の像を示している。この出荷ラベルには、人が読めるテキスト、他のテキスト又は文字、及びバーコード記号が含まれる。前述したビットマップを分離する、すなわちテキスト用のビットマップ及びバーコード記号用のビットマップとすることができるし、処理が進むにつれて1つのマスタビットマップを使用する又は「配置する」こともできることに注意されたい。その点において、レンダリングエンジン80が動作するツリーすなわちデータ構造体は「XSLFO領域ノードツリー」と呼ばれ、それは種々の「領域」を含むことを意味することに注意されたい。そのような領域は、様々な又は個別のビットマップ又はビットマップ部分に対応する。しかしながら、任意の数の適当なビットマップ構造体も使用できる。ビットマップの正確な構造又は構成又はビットマップの数は、本発明の範囲に該当しない。
例えば、XSLFOプロセッサ78はテキストを生成するときに、「その」テキストをある特定のビットマップの中に配置することがある。そのようなテキストは、前述した名前「Albert Einstein」に対応する。このテキストはまたバーコード記号と一緒に出荷ラベルに印刷されるため、「マスタ」すなわち「ラベル」ビットマップ184は全ての要素ビットマップを含むことになる。最終的な「マスタ」ビットマップ184は次にプリンタドライバ54(図1)に送られて、出荷ラベルが印刷される。
ここで、図4〜図5を参照する。図5はコードセグメント1で指定した第1のバーコードの出荷ラベルに対する前述した処理の最終的な出力の表示190である。テキストデータが対応するスタイルシートに基づいて与えられてフォーマットされ、一方郵便番号192も前述したように、レンダリングエンジン80によってバーコード記号の形式で与えられる。単に例証するために、図5に示したフォントの寸法又はフォントの種類は、コードセグメント3で示した対応するスタイルシートの中で指定されたものと同じではないことに注意されたい。
ブロック170に戻ってそれを参照する。流入外来オブジェクトが適当なnamespaceを有していると仮定すると、この流入外来オブジェクトがバーコード形でない場合は、ブロック170で流入外来オブジェクトの中の要素が解釈されて、それがRFID形であるかどうかが判断される。任意のバーコードの種類を前述したように流入外来オブジェクトの中で指定できるのと同様に、任意のRFIDトランスポンダの種類もアプリケーションに基づいて流入外来オブジェクトに中で指定することができる。RFIDトランスポンダの種類は、周知のRFID規格に基づく。例えば、RFIDの種類はISO15693RFIDコード化の種類に限定されることはなく、例えば、Tag-it 又は I- Code RFIDコード化の種類などであっても良い。RFIDの種類は、データの記憶容量、データのアドレス指定方式、送信周波数、受信周波数、製造番号及びデータロッキングなどの独自の特徴などの、コード化されるRFIDデータの基本構造を指定する。それぞれの特定された既知のRFID規格は、前述したように具体的に定義される。
次に、流入外来オブジェクトがRFID形であると決定された後で、流入外来オブジェクトの属性が解釈されて、ブロック183に示すように、RFIDトランスポンダの特性が決定される。どのブロックに書き込むか、ブロックをライトプロテクト(ロック)するかどうか、書込みの失敗をリトライするかどうか、プログラミングの間にトランシーバのアンテナの下のタグの位置決めなどの、RFIDトランスポンダをコード化する方法を、この特性は変更することができる。
流入外来オブジェクトから得られたRFIDトランスポンダの種類及び属性を用いて、レンダリングエンジン80は次に、ブロック185に示すように、RFIDトランスポンダのコード化に変換される実際のノードのテキストデータを得る。例えば、実際のRFIDのコード化は郵便番号「08540」とすることができる。この郵便番号は、ASCII文字として「Tag-it」トランスポンダのブロック0及び1に配置することができる(「Tag-it」の各ブロックが4バイトのデータを保持するため)。Tag-itトランスポンダは、それぞれが4バイトのデータを有する8つのブロックすなわち全体で32バイトのユーザデータを保持することができる。実際のRFIDコード化データを表す数値データからRFIDトランスポンダの中のコード化するために適当な形式への物理的な変換は、例えばZebra Technologies Corporationで市販されているプリンタ及びシステムの中に含まれたソフトウェアルーチンによって実行される。
例えば、モデルR-140及びモデルR402などの幾つかのバーコードプリンタ/エンコーダを使用することができる。Zebra Technologies Corporationから市販されているシステムの中に含まれたそのようなソフトウェアルーチンすなわち「固有のアルゴリズム(native algorithm)」は極めて効率的であり、このため、バーコード及びRFIDトランスポンダのコード化は高速で実行される。
RFIDトランスポンダのコード化が一旦ブロック185によって生成されると、ブロック187に示すように、RFID固有のデータ構造が与えられる。このブロックは、前述したように、RFID固有のデータ構造をRFID固有のプリンタアルゴリズムを用いてRFIDトランスポンダに与えて、RFIDトランシーバ61(図1)を制御して、RFIDトランスポンダ62(図2)の読取り及びコード化を行う。このことは基本的に、プログラム可能なメモリ装置がプログラムされるのとほぼ同様な方法でRFIDトランスポンダを「プログラムする」。
ここで、図6を参照すると、別の実施形態が示されている。同じ構造体を示すために、同じ参照番号が使用される。この特定の実施形態では、XMLシステム10は全ての場合にXMLプリンタ装置を含む又は特に使用する必要はない。この実施形態では、例えば、外部の要求者194が、バーコードラベルを印刷できるようにビットマップにされるXML入力データストリームを持つことを希望する。この印刷は、遠く離れて行われる。別の方法では、外部の要求者194がRFIDトランスポンダをコード化することを要求する。このため、外部の要求者194は、インターネット又は他のネットワーク43,44を経由して要求をXMLサーバ200に送る。この要求は、図1〜図3及びコードセグメント1〜4に関連して前述したXML入力データストリームと同じ形式である。この要求は、この技術分野では周知のように、SOAP(単純オブジェクトアクセスプロトコル(Simple Object Access Protocol))などのXMLデータを含むプロトコルの形式とすることもできる。
これに応えて、XMLサーバ200のコンピュータシステム12は、XML入力データストリームを処理することができる。前述した同じ処理機能の全ては、バーコードなどに関してビットマップはプリンタのドライバには送られないことを除いて、この実施形態で実行される。それどころか、この技術分野では周知のように、ビットマップは「JPEG」又は「PNG」フォーマットなどの任意の適当なフォーマットに変換される。JPEG又はPNGファイルは、次に、外部の要求者194に送り戻される。この外部の要求者194は次に、適当なプリンタのドライバのためにJPEG又はPNGファイルをフォーマットして、バーコードラベルを印刷及び/又は表示する。RFIDトランスポンダに関しては、コード化されたデータはデータファイルの形式で要求者に送り戻される。データファイルのどのような適当な形式も使用できる。このため、本発明はバーコード用のレンダリングサーバ及び/又はRFID用のレンダリングサーバとして機能することができ、必ずしも印刷又はコード化の機能を直接実行する必要はない。別の方法では、データの出力表示は、適当な工業規格によって定義されているScalable Vector Graphicフォーマット(SVG)とすることができる。
図1のXMLシステムの別の実施形態は、ここで図7〜図8に示されている。これらの図面は、図2〜図6に示した「固有の」XMLシステム10ではなく、「混成の」XMLシステム300を示す。この実施形態は、図1に示したコンピュータシステム12及びプリンタシステム50と共にさらに使用することができ、また同じ参照番号が同じ構造又は要素を示すために使用されることに注意されたい。
この実施形態では、混成のXMLプリンタシステム300は、ZPLデータテンプレートに基づくXMLデータを受け取ることができる。これらのテンプレートは、ZPL I及び/又はZPL II及びそれら全ての変形例などのZPL言語(Zebra Programming Language)に適合する。このZPL言語は、命令を定義するために「カレット」文字及び2文字の命令コードを使用するフォーマッティング言語である。例えば、「^XA」命令は新しいラベルフォーマットの開始を定義し、「^XZ」命令はラベルフォーマットの終端を定義する。
ZPL言語は、制御命令を示す「ティルデ」命令も含む。例えば、命令「~JR」は、プリンタが直ちに動作するプリンタリセット命令であり、バーコードラベルの実際のフォーマッティングには実のところ重要な影響は与えない。ZPL I及びZPL IIは、本発明の所有者であるVernon Hills, IllinoisのZebra Technologies Corporationによって開発された。ZPLは本願ではZPL IIと区別なく使用されることに注意されたい。
ZPL言語仕様に関する詳細は、「ZPL II Programming Guide Volume One: Command Reference for X.10」という題名の製造業者の品番45541LB及び「ZPL II Programming Guide Volume Two: The X.10 Environment」という題名の製造業者の品番45542LBの文書の中に見出すことができる。これらの文書は、下記のインターネットのウェブアドレス、すなわち「www.zebra.com/SS/manuals.htm」のZebra Technologies Corporationのウェブサイトで見つけてダウンロードすることができる。上記の文書は、参照することによってその全体が本願に組み込まれる。図7〜図9の実施形態では、プリンタシステムの「言語」はZPL及びXMLの両方の混成であり、このためXMLシステム10は「混成XMLプリンタ」と呼ぶことができる。
周知のように、ZPLベースのプリンタは、「オンデマンド印刷」及び「記憶されたラベルフォーマット」を取り扱うことができる。オンデマンド印刷は、印刷すべきラベルデータを含むデータストリームがプリンタに送られると、そのデータストリームは直ちに印刷されることを意味する。記憶されたラベルフォーマットとは、ラベル用のテンプレートが前もって作成されてプリンタにダウンロードされることを意味する。このテンプレートは、次に、内部的にプリンタの中に呼び戻されて、印刷すべきラベルデータを含む後で送信されるデータストリームと一緒に使用される。
下記の説明でより明確になるであろうが、図2〜図6の固有のXMLプリンタシステムの実施形態と図7〜図8の混成のXMLプリンタシステムの実施形態との間の1つの相違点は、混成のXMLプリンタシステムの実施形態では、データのテンプレートがZPLの中で事前に定義されて、最初にプリンタにダウンロードされることである。図7〜図8の混成の実施形態は、図2〜図6の実施形態の固有のXMLプリンタシステムと既知のZPLプリンタとの組合せではないことにも注意されたい。それは固有のXMLモードとZPLモードとの間を単に切り換える「2式が1体になった(two-in-one)」プリンタではない。
図7〜図8の混成のXMLプリンタシステムは、XSLTがXSLテンプレートの中に埋め込まれたXSLフォーマッティング要素と一緒にラベルを定義及びレイアウトするために使用されるという点で、図2〜図6の固有のXMLプリンタシステムとは異なっている。図2〜図6の固有のXMLプリンタシステムの実施形態の中でラベルのレイアウト及びフォーマッティングを処理するために、会社(すなわち、売り手)はXSLフォーマッティングオブジェクトを用いてラベルのレイアウトを準備及び定義する必要があり、多くの場合、固有のXMLプリンタの実施形態の中で前述したように、XSLスタイルシート及びXSLスキーマも用意する必要がある。企業体のERPシステム88が先ず第1に、XSLフォーマッティングオブジェクトなど(すなわち、XSLスタイルシート及びスキーマ)を用いて適格なXMLデータを送信することができる場合、ZPLテンプレートを使用する必要はない。このことは、企業体が完全に互換性のあるXML ERPシステムへの完全なスイッチを既に作っているため、全てのZPLの形状に対する要求を不要にすることを示している。
しかしながら、進んで又は喜んで「純粋なXML」へのそのシステムの「完全な変換」に投資をしない会社もある。その理由は、そのような会社は印刷すべきラベルに対する古いZPLテンプレートにかなり大きな投資を行っているからである。多くの会社は、XMLデータを取引工程から取引工程に容易に送ることができるようにインフラを構築している。それは、XML互換フォーマットの中でそのようなデータを送信することは、業界基準になりつつあるからである。多くの会社及び業界全体がデータに対してXMLフォーマットを使用する方向に向かって動いているが、そのような会社は、単に完全に互換性のあるXMLフォーマットへの切り替えを行うために、自身のテンプレート用データベースのインフラの中で自身の投資を廃棄することを望んでいない。
このため、図7〜図8の混成のXMLプリンタの実施形態は、XMLフォーマットのデータを用いて現行のZPLテンプレートを使用できるようにしている。ERPシステム88は、適格なXMLへの「完全な」切り替えは経済的な理由のためにまだ行われていないため、現行のZPLテンプレートを引き続き使用できる。このように、XSLのスタイルシート、スキーマ及びフォーマッティングオブジェクトは、まだERP側では実現されていない。また、混成のXMLプリンタシステムは、そのような環境では費用効率が高い解決策を提供する。
ここで、図7及びコードセグメント5を参照する。直ぐ下に示した「コードセグメント5−ZPLダウンロード可能なテンプレート」という名称のコードセグメントは、ZPLフォーマット用テンプレートの具体的な実施例を示す。このテンプレートは、実際のバーコードラベルを印刷する前に混成のXMLプリンタシステム300に送信され、また将来の印刷ジョブのためにプリンタシステムのメモリに保管される。行番号は単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント5−ZPLダウンロード可能なテンプレート
Figure 2006528384
Figure 2006528384
この技術分野では周知であるが、行1及び14で示した命令(^XA、^XZ)は、ZPL言語の中で規定されたように、テンプレートの始めと終わりを定義する。行2は、混成のプリンタシステム300にダウンロードされたフォーマット用テンプレートが、混成プリンタのメモリの中の「E:SHIPLABL.ZPL」で定義された位置に記憶されることを示す。ここで、「E:」は記憶装置の識別子を表し、この記憶装置は例えばディスクドライブとすることができる。しかしながら、どのような適当な記憶装置も使用できる。この命令が含まれることにより、このフォーマット用テンプレートが保存されることを示す。行3〜6は、ZPLプログラミング言語によって送られた種々のプリンタの設定及び初期化命令の幾つかを示す。
ここで、行7を参照する。関連したパラメータ「N」を有する「^AO」命令は、テキストフィールドがフォント番号ゼロを用いて標準的な(「N」)方向に(すなわち、フォントは回転されない)作られることを意味する。ここで、「58,58」は、印刷されるテキストの(ドットの)高さ及び幅を表す。ZPL言語の中で規定されるように、「^FO188, 169」はフィールドの原点を定義するため、テキストは座標188, 169に位置決めされる(すなわち、ラベルの始点から横方向に188ドット及び縦方向に169ドット)。
フィールド番号命令「^FN999」(パラメータ「999」がついたFN命令)は、後になってプリンタにダウンロードされる可変の情報を含む可変フィールドを定義する。その点では、これは標準的なZPLとはいくらか異なっている。標準的なZPLでは、テンプレートに「^FN」命令を受け取ると、この命令と一緒にデータは送られない。その理由は、テンプレートが後で呼び出されると、その可変データの位置を規定する後に続く「^FN」命令が送られ、その後にデータ自身が続くからである。しかしながら、この混成の実施形態では、幾つかの「関連性」データが、「^FD」フィールドデータ命令が示すように、「^FN」命令の直ぐ後に与えられる。この特定の実施形態では、「^FN」命令の直ぐ後に続くが「^FD」フィールドデータ命令によって先導されるデータは、「name」として示される。これは後になってERP又は倉庫システムから送られたXMLデータに適合するデータである。このため、コードセグメント5で示されたテンプレートを混成のXMLプリンタシステム300が受け取ると、そのテンプレートはプリンタのメモリに記憶され、さらに「name」とフィールド「999」との間の「関連性」も記憶される。
同様に、行8では、「address」とフィールド「998」との間の関連性が記憶され、行9では、「city」とフィールド「997」との間の関連性が記憶される、等々である。例えば、「name」、「address」、「city」などによって表されたフィールドは、ERPシステム88によってXMLデータとして送られる実際のデータではないことに注意されたい。正確に言えば、「name」、「address」及び「city」は、フィールド位置又は識別子、すなわち、それぞれ「999」、「998」及び「997」が付いてERPシステムによって後で送られるデータに関連する「タグ」又は「関連性」である。
ここで、行12を参照する。「^BY」命令は、それに従うバーコード命令に対するデフォルトパラメータを定義する。この場合、4のパラメータは、細いバーの幅が4ドットであると定義する。「^FO」命令は、印刷すべきバーコードが座標188, 488に置かれるであろうと定義する。「^BZ」命令は、バーコードのフォーマットがpostnet形で、標準的な方向(パラメータがN)、高さが35ドット(パラメータが35)、かつ人が読取り可能な解釈行はない(パラメータがN)というバーコードを定義する。さらに、パラメータ995を有する「FN」命令は、ダウンロードされるXMLデータの「name」を「995」として識別されるラベルフィールドと「zip」の属性を有するデータ命令「^FD」によって定義されるラベルフィールドとの間の関連性を規定する。命令「^FD」は、さらに「zip」が実際に印刷されるバーコードを作るためにダウンロードされるXMLデータの「name」であると規定する。印刷される実際のバーコードは、図9に示すように郵便番号304である。
無論、テキストフィールドが、図9に示すようにバーコード自身と同様に、バーコードラベル305上に印刷される。そのようなフィールドは、例えば名前306、住所308、都市310、州312,及びテキストの郵便番号314を含む。
このように、この実施形態では、コードセグメント5に示したテンプレートは混成のXMLプリンタシステム300の中に記憶されて、実際の「仕事」は行われない(すなわち、ラベルはまだ印刷されない)。要約すると、行7〜11はテキストフィールドを定義し、行12はバーコードを定義する。これらのテキストフィールドは、前述したように他のパラメータと共に、後でERPシステム88から送られる実際のXMLデータと相関される関連性と一緒に定義される。コードセグメント5のテンプレートは、どのフィールドが固定で、どのフィールドが可変であるかを定義する。可変のフィールドは、可変の名前(「^FD」命令によって記憶される)を有する。この可変の名前は、後でダウンロードされる印刷されるラベルに対応するデータと相関される又は「関連付けられる」。
このように、図7〜図8の混成の実施形態では、「^FD」命令(すなわち、「name」に続く)は、実際のXMLデータの中で送られる可変の名前を決定する。このXMLデータは、バーコードラベル上に印刷される実際のデータではなく、結局のところテンプレートのダウンロードの後に続く
上記のコードセグメント5のフォーマット用テンプレートがどのように動作中に使用されるかを確かめるために、「コードセグメント6−ZPLテンプレートと共に使用するダウンロードされたXMLデータ」という題名のコードセグメント6が、直ぐ後に示されている。行番号は単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント6−ZPLテンプレートと共に使用するダウンロードされたXMLデータ
Figure 2006528384
コードセグメント6は、コードセグメント5のフォーマット用テンプレートが最初に混成のXMLプリンタシステムにダウンロードされた後で、ERPシステム88又は倉庫管理システムが混成のXMLプリンタシステム300に送る実際のXMLデータストリームを表す。コードセグメント5及び6の特定の実施例では、使用される倉庫管理システムは、例えば、Oracle社の倉庫管理システムである(「Oracleシステム」又は「Oracle WMS」)。無論、OracleやSAPなどの、どのようなビジネスシステムも使用できる。この特定の実施例では、Oracleのシステムはデータをそのデータベースから収集して、そのデータをプリンタに送信するための特定のXMLフォーマットでフォーマットする。この特定の実施例がOracleのシステムを使用するため、コードセグメント6のテンプレートはOracleのXMLセマンティクスを使用する。
その点においては、Oracleの倉庫管理システムが使用する特定のXMLセマンティクスは、この技術分野では周知の「label.dtd」として識別される「DTD」すなわち文書の種類の定義により、コードセグメント6の行2の中で定義される。また、この技術分野では周知のように、ERPシステム88すなわちOracleのシステムは、XMLデータが印刷されるフォーマットを指定する能力がある。背景技術を説明すると、こうしたシステムは、Oracle又はERPシステムと使用している特定のバーコードプリンタとの間のフォーマット変換を処理する顧客の「ミドルウェア」のソフトウェアシステムに接続するように設計されているため、この能力は初めから、Oracleのシステム及び他のERPシステムの中に構築されている。本願の混成プリンタは、そのような「ミドルウェア」システムに対する必要性を除いている。
しかしながら、Oracleのシステムによって送信されたXMLデータは、コードセグメント6の行3で、「_FORMAT」と呼ばれる属性を有する「labels」と呼ばれるXML要素が存在することを指定する。この属性は、特定のフォーマット用テンプレートを使用するように指定する。この特定の実施例では、送信されたXMLデータと共に使用するためのフォーマット用テンプレートは、「E:SHIPLABL.ZPL」として識別される。これはコードセグメント5に示すように、混成のXMLプリンタシステム300の中に前に記憶されたフォーマット用テンプレートであり、またそれはZPLベースのフォーマット用テンプレートである。このため、以前ダウンロードされた、また混成のXMLプリンタシステム300のメモリの中に記憶されたフォーマット用テンプレートは、「E:SHIPLABL.ZPL」によって指定された位置から呼び出すことができる。
行3は、「_QUANTITY」、「_PRINTERNAME」及び「_JOBNAME」などの幾つかの付加的な「labels」要素の属性も含んでいる。属性「_QUANTITY」は印刷するバーコードラベルの数を指定し、一方属性「_PRINTERNAME」及び「_JOBNAME」は、混成のXMLプリンタシステム300が必要としないレガシーフィールドであるが、それにもかかわらず、そのようなデータは前述したように、最初はミドルウェアのソフトウェアに接続するために作られたため、Oracleのデータの中に含まれている。
コードセグメント6は、それぞれ行5〜11、12〜18、及び19〜25に示すように、「label」データの3つのグループを含む。これらの「label」データの3つのグループは、コードセグメント1すなわち、それぞれ行8〜14、15〜21、及び22〜28に似ているように見えることに注意されたい。その理由は、両方のコードセグメントがそれぞれ「Albert Einstein」、「Steven Hawking」及び「Richard Feynman」を指し、住所、都市、州、及び郵便番号のデータに対して関連するフィールドを有しているからである。このため、コードセグメント6に示したデータは、印刷すべき3つの個別のラベルに対応する。しかしながら、印刷される3つのラベルのそれぞれに対して、全ての住所情報はテキストで印刷されるが、郵便番号フィールドだけは実際にバーコードで印刷されることに注意されたい。これは、コードセグメント5の行12のテンプレートの中で、「^BZ」命令が定義したからである。
コードセグメント5及び6を参照すると、コードセグメント6に示したOracleシステムによって送信されたデータが次に、コードセグメント5に示した対応するフォーマット用テンプレートに関連付けられる。例えば、コードセグメント6の行6では、「name」の可変の名前は、実際のXMLテキストデータである「Albert Einstein」に対応する。コードセグメント5の前に保存したテンプレートを使用して、コードセグメント5の行7に示すように、「name」(その内容は「Albert Einstein」)とフィールド番号「999」との間に関連性が作られる。次に、XMLデータの「Albert Einstein」がフィールド番号「999」によって定義されたメモリに保存される。
同様に、XMLデータ「1234 Relative Way」はフィールド番号「998」によって定義されたメモリに保存され、XMLデータ「Princeton」はフィールド番号「997」によって定義されたメモリに保存され、XMLデータ「NJ」はフィールド番号「996」によって定義されたメモリに保存されることなどがある。一旦XMLデータ入力ストリームに含まれた全てのデータが対応するテンプレートに関連付けられて、メモリの中に格納されると、ラベルが印刷される。
ここで、図7及び図8を参照すると、図7は混成のXMLプリンタシステム300の特定の実施形態のハイレベルな機能ブロック図を示し、一方図8は混成のXMLプリンタシステムの特定の実施形態のハイレベルなソフトウェアのブロック図とデータの流れ図との組合せを例示している。この混成のXMLプリンタシステム300は、固有のXMLプリンタシステムに関連して前述したように、企業資源計画(ERP)システム88からデータを受信する。このデータには、XMLデータ及び/又はZPLテンプレートデータなどのXMLの構成要素及びZPLの構成要素の両方が含まれる。
図7のハイレベルのブロック図には、XMLプロセッサの1種であるSAXプロセッサ320を使用している図面が例示されている。背景技術を説明すると、SAXプロセッサ(XML用の簡単なAPI(Simple API for XML))は、図2〜図6の固有のXMLプリンタシステムに関連して前に説明したXMLプロセッサが使用するDOM処理モデル(文書オブジェクトモデル(Document Object Model))を使用しない。
前述したように、DOMベースのXMLプロセッサは、この技術分野では周知のように、その処理工程を実行するために、メモリの中にノードツリーを作る。このことは、図2〜図6の実施形態に関連して前に説明したように、XSL形の処理を実行しているときに必要である。その結果、全てのデータがメモリに記憶され、このため大きなメモリを占有することになる。しかしながら、SAXプロセッサはXMLシンタックス及びデータストリームを解釈し、この技術分野では周知のように、それはメモリの中にノードツリーを構築するのではなく、イベント処理部によって処理される「イベント」を作る。SAXプロセッサは極めてメモリ効率が良く、多量のXMLデータを処理する場合には望ましい。
しかしながら、図7〜図8のこの別の実施形態では、XSL形の処理は好ましいことに実行されないため、メモリの中のノードツリーに基づいた処理は必要とされない。その結果、厳密にDOMを根拠にしたXMLプロセッサを用いるのではなく、図7に示すように、SAXプロセッサが使用される。「SAX」という用語は単に、XML言語のデータ及びシンタックスを取り扱う方法に関する仕様のことを指す。例えば、この実施形態の中で使用できる市販のXMLプロセッサは、Thai Open Source Software Center, Ltdから入手可能な「Expat」XMLプロセッサである。このXMLプロセッサの特定のモデルはDOMベースのXMLプロセッサ又は非DOMベースのSAXプロセッサの両方の機能を実行する能力を有するが、この実施形態の目的に対しては、このプロセッサは非DOMベースのXMLプロセッサとして構成されることが好ましく、このためSAXプロセッサと呼ばれる。しかしながら、任意の適当なDOMベース又は非DOMベースのXMLプロセッサを使用できる。
図7には、SAXプロセッサ320に加えて、ZPLプロセッサ322も示されている。次に、SAXプロセッサ320及びZPLプロセッサ322からのデータ経路は、可変データ集積部(Variable Data Integration)328と名付けられたブロックに向けられる。この可変データ集積ブロック328は、ERPシステム88から受信されたXMLデータを結合して、コードセグメント5のZPLテンプレートに関連して前に説明したように、このデータをZPLテンプレートが前に定義したフィールドに当てはめる又は「関連付ける」。基本的に、この工程では、実際のXMLデータ、例えば名前「Albert Einstein」が、コードセグメント5のテンプレートの「999」によって定義された位置に保管され、他の場合も同様である。
次に、データは、ビットマップ/バーコード/RFIDレンダリングブロック330によって処理される。この処理は、周知の市販のZPLプリンタの中で使用される既知のZPLビットマップ処理と同様である。例えば、Illinois州Vernon HillsのZebra Technologies Corporationから市販されている次の周知のZPLプリンタ、すなわちZebra Models XiIII+, 90XiIII+. 96XiIII+. 110XiIII+, 140XiIII+, 170XiIII+, 220XiIII+, Model Z4M, Z6M, 105SL Model R4Mplus, R402, R-140プリンタ/エンコーダ、及びZebra Technologies Corporationから市販されている任意のModel Xiシリーズのバーコードプリンタは、ZPLビットマップ/バーコード処理を実行することができるソフトウェア、ハードウェア、及び/又はファームウェアを備えている。ビットマップ/バーコード/RFIDレンダリングブロック330は好ましいことに、どのようなXSLFO処理も使用せずに実行され、またXSLTスタイルシート又はスキーマも使用されないことに注意されたい。このXSLFO処理は、固有のXMLプリンタシステムの実施形態では必要とされていた。しかしながら、XSLT処理及びスキーマの取扱いは塾考されており、対象の発明の範囲及び精神の中にある。
さらに、RFIDトランシーバ61は、ビットマップ/バーコード/RFIDレンダリングブロック330に動作的に結合されて、RFIDトランスポンダ62との通信を容易にする。RFIDのトランシーバ61及びトランスポンダ62は、図1、図2及び図6の実施形態に関連して前に図示及び説明されたトランシーバ及びトランスポンダに類似しているか又は同様である。
好ましいことにバーコードのパラメータがXMLデータの中で属性として指定されずに、むしろフォーマット用テンプレートの中でZPL命令のパラメータによって指定されることを除いて、バーコードは固有のXMLプリンタの実施形態に対して前に説明されたように処理される。例えば、ZPL命令「^BY2,2,100」は、線形のバーコードに対して、細いバーの幅が2ドット、太いバーの幅の細いバーの幅に対する比率が2、及びバーの高さが100ドットであると指定する。
ビットマップが処理された後で、それはプリンタドライバ54に向けて送られる。このことは、図1にも示されている。このプリンタドライバ54は、関連する処理装置の物理的な位置に従って、機能がコンピュータシステム12の中の処理装置又は処理装置60(図1)のいずれかで処理される、前述した構成要素の実施例である。繰り返すと、1つの処理装置が十分に強力である場合は、その処理装置は混成のXMLプリンタシステム300に対する全ての機能を処理することができる。
ここで、図1、図7及び図8を参照すると、図8は、ハイレベルのソフトウェアのブロック図とデータの流れ図とが組み合わされた特定の実施形態を例示している。下記に説明されるソフトウェアは、図1のコンピュータシステム12のプロセッサ28によって実行される。繰り返すと、プロセッサ28は、コンピュータシステム12及びプリンタシステム50の両方に共通した機能を実行することができる。一致して又は別個に機能する1つ以上のプロセッサが存在する。処理又は処理機能がコンピュータシステムによって若しくはコンピュータシステムの中で実行される又はプリンタシステムによって又はプリンタシステムの中で実行されるかどうかは、本発明の範囲に対して重要ではない。
以下に説明されるように、図8に示した処理工程を通過する複数の「経路」が、SAXプロセッサ320の管理のもとで生じる可能性がある。しかしながら、そのような複数の「経路」は必ずしも線形ではないため、図8には特定の線又は矢印で示された正確な経路は必然的に示されていない。図8に正確な始点及び終点を持たない反復処理が描かれている。もっと正確に言うと、経路によって生じた動作又は結果が示されているため、プロセス制御がSAXプロセッサ320に戻る「別の経路」が、図8に点線で示されている。これは、経路が反復していること及びSAXプロセッサ320が処理が終わる前に何回もループするすなわち反復することを示す省略方法である。
単に説明するために、図8に例示した処理を通過する第1の「経路」の中で、ZPLテンプレートが混成のXMLプリンタシステム300に最初に送られる。この場合、印刷される実際のデータはまだ送られない。第2の「経路」では、後で説明されるが、印刷されるバーコードラベルを表すXMLデータが、以前保存されたZPLテンプレートに基づいて印刷するためにプリンタシステムに送られる。
図8に示すように、データ入力ストリーム340がERPシステム88から受信される。前述したように、このストリーム340はXMLデータ及び/又はZPLテンプレートのデータを含む。SAX処理ブロック320は、最初にデータ入力ストリーム340を受信して解析する。SAXプロセッサはSAXモードで動作するXMLプロセッサであるため、SAX処理ブロック320はXMLプロセッサによって実際に実行されることに注意されたい。このため、XMLプロセッサ又はXML処理ブロックという語句は、SAXプロセッサ又はSAX処理ブロックという語句と交換することができる。しかしながら、前述したように、XMLプロセッサはSAXモードで動作することが好ましく、このためSAXプロセッサ320と呼ばれる。
最初に、SAX処理ブロック320は、標準的なXML構文規則をデータ入力ストリームに適用して、この入力データストリーム340が適格なXMLデータであるかどうかを判断する。図8のSAX処理ブロックは基本的に図7のSAXプロセッサと同じであり、図7は幾つかのハードウェアを示し、図8はデータの流れを示していることに注意されたい。SAXプロセッサ及びSAX処理ブロックという用語は、本願では区別なく使用される。
SAX処理ブロック320が、データ入力ストリームがXMLシンタックスに適合していないと判断すると、そのデータ入力ストリームはZPLに基づいているとみなされる。このため、SAX処理ブロック320はさらに処理を行うために、このデータ入力ストリーム340をZPL処理ブロック322に向けて送る。図8のZPL処理ブロック322は基本的に、図7のZPLプロセッサと同じであり、図7は幾つかのハードウェアを示し、図8はデータの流れを示していることに注意されたい。ZPLプロセッサ及びZPL処理ブロックという用語は、本願では区別なく使用される。
次に、ZPL処理ブロック322は、ZPLフォーマット用テンプレートを表すデータ入力ストリーム340を処理すなわち解析する。ZPL処理ブロック322は、フォーマット用テンプレートの処理を開始させる「ラベル開始(beginning of label)」命令(^XA)を受信することが好ましい。このフォーマット用テンプレートは、コードセグメント5に示されている。
種々のZPL命令は処理を制御し、ラベルのフィールドを定義し、基本的に印刷すべきデータを確定及び定義する。プリンタ制御命令及び他の命令は、この処理の段階で受信される。全てのフォーマット用テンプレートがダウンロードされると、ZPL処理ブロック322は、フォーマット用テンプレートを保存させる「ラベル終了(end of label)」命令(^XZ)に出会う。対応する識別子「E:SHIPLABL.ZPL」(コードセグメント5の行2に示されている)を有する^DF命令は、ZPL処理ブロック322に対して、フォーマット用テンプレートが好ましいことに、プリンタシステムの内部の「E:」装置上に「shiplabl.zpl」というファイル名で保存されていることを示すことに注意されたい。無論、フォーマット用テンプレートはプリンタシステムの内部に保存される必要はなく、ネットワークサーバ上又は通信ネットワークを介してアクセス可能な遠隔位置などのどのような記憶位置にも保存することができる。
この^DF(ダウンロード用フォーマット)ZPL命令は、どのラベルフォーマットを直接印刷するのではなく保存すべきかを示す。全てのテンプレートデータが受信されたことを示す^XZが発生したときに、この保存が実際に行われる。
さらに図8において、「ZPLラベルフォーマット」と名付けられたブロック(352)は、データ記憶装置を表すことに注意されたい。これは、入力ストリームから到来するテンプレート用データがデータ記憶装置に記憶されることを示す。データ記憶装置352から線が出ていくことにより、データが少し後でさらなる処理のためにデータ記憶装置から検索されることが示される。データの流路は、ブロック360から記憶装置を通りブロック356に向かうが、これは線形の流れではない実際の「制御流れ」を示していない。
「ZPLラベルフォーマットの呼出し」と名付けられたブロック356が、前述したように「ZPLラベルフォーマットの保存」と名付けられたブロック360に接続されて示されているが、処理は直線的ではないため、データの流れは必ずしも「ZPLラベルフォーマットの保存」ブロック360から「ZPLラベルフォーマットの呼出し」ブロック356に続く又は流れることはない。むしろ、全体の工程は前述したように繰返しであり、この最初の「経路」では、ブロック360に示すようにZPLラベルのフォーマットが保存された後で、入力データストリームの制御は点線370で示すように、処理を継続するためにSAX処理ブロック320に戻る。入力データストリーム340の中に別の処理するデータがない場合は、処理は終了し別のデータがダウンロードされるのを待ち受ける。
図7〜図8に例示された処理部を通る第2の「経路」では、ERPシステム88は、実際のXMLデータを送信する。このXMLデータは、前にダウンロードされたZPLテンプレートに基づいて、混成のXMLプリンタシステム300によって処理される。例えば、SAX処理ブロック320は、ラベルデータが後に続くように指定する適格なXMLデータを受け取る。実際のデータを処理するために、「ZPLラベルフォーマットの呼出し」と名付けられたブロック356に示すように記憶されたZPLフォーマットが呼び出されて、到来するXMLデータストリームと一緒に呼び出されたフォーマット用テンプレートが使用される。
SAX処理ブロック320はXMLのシンタックスを処理して、入力データストリーム340が定義した種々の要素及び属性を決定する。この実施形態では、「_FORMAT」属性を受け取ると、入力データストリーム340は一時的に遮断され、入力データはプリンタシステム300の中に記憶されたフォーマット用テンプレートから到来するため、フォーマット用テンプレートの中に埋め込まれたZPL命令はZPL処理ブロック322によって解釈される。一旦フォーマット用テンプレートの中の命令が解釈されると、入力データストリーム340は再度SAX処理ブロック320に到来し、このブロック320はXMLデータの処理を続行する。
SAXプロセッサ320の制御のもとで処理部を通過する別の経路は、前述したように、様々な「事象」を開始させる。例えば、「可変データSAX事象」376が始動されて、フォーマット用テンプレートの中の様々なフィールドが対応する又は「関連付けられた」受信されるXMLデータで占められる。このことは、「XML変数のZPLラベルフォーマット変数への適合」と名付けられたブロック380によって示される。基本的に、XML入力データストリーム340の中の変数は、フォーマット用テンプレートの中のフィールドに関連付けられる。例えば、この工程では、コードセグメント6に示した実際のXMLデータ「Albert Einstein」(図9の306)などのXML変数は、コードセグメント5のZPLテンプレートの中のラベル変数「name」などのZPLラベルフォーマット変数に適合する。
SAXプロセッサ320は、「ラベルSAX事象の開始」384及び「他のSAX事象」388などの前述された仕事を処理するためにさらに別の事象を開始する。SAXプロセッサ320の制御のもとで図8の処理部を通過するこの経路又は他の経路は、「処理事象」と名付けられたブロック390によって処理される「他のSAX事象」を発生させる。例えば、こうした「他の」事象には、「プリンタ速度設定事象」、「印刷するラベル量の設定事象」、「メディア選択事象」、「使用するリボン選択事象」、「用紙選択事象」、「300dpiプリンタの使用事象」、「600dpiプリンタの使用事象」、「可変データ事象」などが含まれる。
そのような事象の数は事実上無制限であり、ハードウェアのプリンタシステムの種類、構成及び能力によって管理される。基本的に、プリンタの全ての外観及び機能は、入力データストリーム340の中で送られたコードを使用することによって制御される。このことは、XMLデータストリームによって記述されたラベルを印刷することができるか又は印刷するように構成されているかどうか、また印刷できない場合は、選択的にエラー情報を戻すことが可能かどうかを、プリンタが決定することを可能にする。OracleベースのXMLデータに対応するコードセグメント6において、限られた数の「他の命令」だけが示されているが(すなわち、quantity = 1 及び printer name = printer 1、両方とも行3に示されている)、前述したように、基本的には、プリンタの中で制御されるどのような機能又は機構もXML入力データストリームの中で指定することができる。このように、実際のXML入力データストリームとプリンタの制御コードとの間には緊密な結合が存在する。
また、命令に呼応してSAX処理ブロック320が生成するこうした「他の」命令及び対応する「他の事象」は、Oracleのシステムの一部又はそれに固有のものではなく、このためOracleのシステムは必ずしもこれらの命令が何をするのか又はこれらの命令をどのように使用するのかを「知らない」ことを注意されたい。命令及びその後に生成される事象が意味をなすのは、そのようなダウンロードされた命令がSAX処理の間に適合される場合だけである。
「ラベル要素の終了」事象(</label>)を受け取るとラベルは完成し、ここで印刷される。この時、制御はラベルを印刷させるZPLフォーマッティングエンジン処理部394に向けられる。好ましいことに、ZPLフォーマッティングエンジン処理部394には、ビットマップ/バーコード/RFIDレンダリングの機能が含まれる。このため、ブロック394は、ZPLフォーマッティングエンジンと呼ばれる。この組み合わされた機能により、テキスト、バーコード、及びラベル上の他のフィールドの各々に対してビットマップが決定され、適当に回転及び拡大された個々のビットマップが1つのラベルのビットマップ396に統合され、完成されたラベルのビットマップがプリンタエンジン(すなわち、図1のプリンタドライバ54)に送られて、媒体上に物理的に印刷される。前述したように、ZPLフォーマッティングエンジン処理部394は、例えば、Illinois州Vernon HillsのZebra Technologies Corporationから市販されているプリンタの中の種々の市販のZPLプリンタの中に見出すことができる。これには次のプリンタモデル、すなわちXiIII+, 90XiIII+. 96XiIII+. 110XiIII+, 140XiIII+, 170XiIII+, 220XiIII+, Model Z4M, Z6M, 105SL Model R4Mplus, R402, R-140プリンタ/エンコーダ、及び任意のModel Xiシリーズのバーコードプリンタが含まれる。
ZPLフォーマッティングエンジン処理部394は基本的に、印刷すべきラベルの中に含まれたフィールドの全てを決定し、かつ各フィールドに対して何をすべきであるかを決定する。例えば、このZPLフォーマッティングエンジン処理部394は、コードセグメント6の行6に示したデータ「Albert Einstein」(図9の306)を含むフィールドが、フォント番号がゼロを用いて標準的な(「N」)方向で、またコードセグメント5の行7で示すように、高さが58ドット、幅が58ドット、及びフィールド原点の座標が188,169で印刷されることを決定する。
このように、ZPLフォーマッティングエンジン処理部394は、フォーマット用テンプレートによって定義されたフィールドの全てを、対応するXMLデータと一緒に検査し、また基本的にテキスト又はバーコードを表すラベル上にドット(又はビット)を作る方法を決定する。バーコードのフィールドは、フィールドを規定するバーコード記号に基づいて適当なビットマップ生成アルゴリズムをフィールドパラメータに適用することによってフォーマット及び作成される。このバーコード記号は、線形バーコードの横方向及び縦方向のサイジング及び二次元バーコードの拡大を説明する。
また、RFIDトランシーバ61はZPLフォーマッティングエンジン処理部394に動作的に結合されて、RFIDトランスポンダ62との通信を容易にする。RFIDのトランシーバ61及びトランスポンダ62は、図1、図2、図6及び図7の実施形態に関連して前に図示及び説明されたトランシーバ及びトランスポンダに類似しているか又は同様である。
ここで、コードセグメント7を参照する。直ぐ後に示された「コードセグメント7−RFID及びデータロギング命令付きのZPLダウンロード可能なテンプレート」という題名のコードセグメントは、幾つかのRFID及びデータロギング命令が加えられたコードセグメント5を示す。これらの加えられたコードにより、RFIDタグからの読取り及びそれへの書込みが行われ、RFIDデータがホストコンピュータに記録される。行番号は、単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント7−RFID及びデータロギング命令付きのZPLダウンロード可能なテンプレート
Figure 2006528384
行14にタグ書込み(^WT)命令が含まれることにより、パラメータ995を有するフィールド番号命令^FNによって示された、フィールド番号995によって規定されるデータが、RFIDタグに書き込まれる(コード化される)ことが示される。この実施例では、フィールド番号995に関連するXMLデータは郵便番号である。第1のラベルに対する実際の郵便番号データ「08540」がRFIDタグ上にコード化されることになる。
行16に固有のタグID読取り(^RI)命令を含むことにより、タグID番号がタグから読み取られて、行16にパラメータ「tagid」を有する^FD命令によって指定されるように、「tagid」と名付けられたXML変数に関連付けられる。さらに、タグから読み取られたデータは、フィールド番号994に関連付けられる(パラメータが994の^FN命令)。また行15のテキストフィールドがフィールド番号994を有しているため、RFIDタグから読み取られたタグIDは、ラベル上の位置188,394にテキストとして印刷される。
行3,8,9,10,11,12,及び16上の新しいZPL命令「XMLへのログ」(^LX)は、後でホストコンピュータに送信するために、幾つかのフィールドデータをデータログの中に保存すべきであることを示す。行3上の^LXE:LOG04128.XML命令は、このラベル用のログデータをE:装置の中の「LOG04128.XML」と呼ばれるファイルの中に保存すべきであることを示す。行8,9,10,11,12,及び16の^LX命令は、これらのフィールドに関連したデータを前に指定された名前が付いたログの中に保存すべきであることを示す。例えば、行8の^LX命令が処理されると、「name」フィールドに関連したデータがログされる。第1のラベルに関してログされる実際のデータは、コードセグメント6の行6に示すように「Albert Einstein」である。行16上で^LXに対してログされるデータは、タグから読み取られた固有のタグIDである。この実施例の目的に関して、タグから読み取られた第1のラベルに対する固有のタグIDは「1248002001」であると仮定する。
上記のコードセグメント7のフォーマット用テンプレートの中にデータがどのように示されているかを調べるために、ホストコンピュータを参照すると、直ぐ後の「コードセグメント8−アップロードされたXMLデータ」という題名のコードセグメント8が示されている。行番号は、単に明白にするために挿入されているものであり、コードの一部ではない。
コードセグメント8−アップロードされたXMLデータ
Figure 2006528384
Figure 2006528384
プリンタがログデータをアップロードすることを要求されると、プリンタはコードセグメント8に示したものと同様のXMLデータストリームを形成する。このデータはラベルを印刷するためにプリンタに送られたXMLデータに極めて良く似ているが、付け加えられたものが幾つかある。「ルート」要素が加えられて、2つ以上の完成した印刷ジョブからのデータを同じXMLストリームの中に戻すことができる。ログファイルの名前は、行2に示した_LOGFILE属性の中で指定することができる。RFIDタグから読み込まれたデータは、行10,18及び26に「tagid」変数として含まれる。このデータをホストコンピュータが受け取ると、このホストコンピュータはIDが「1248002001」のRFIDタグがAlbert Einsteinに出荷された商品を識別するために使用されたことを知る。このデータは、後で照会するためにホストコンピュータのデータベースの中に記憶することができる。この実施例は固有のタグ識別子と共に示されるが、RFIDタグに書き込まれた又はそこから読み取られたどのようなデータも同様な方法でホストコンピュータに報告することができる。
混成のプリンタシステムは、プリンタの制御及びラベルテンプレート用言語に対してZPLを使用することに限定されない。ZPL以外の他の専売の又は非専売のプリンタ制御言語(PCL)は、XMLをPCLから区別することができる限り、同様の方法で使用できる。
固有のXMLプリンタシステム及び混成のXMLプリンタシステム含む、本発明によるXMLシステムの特定の実施形態を、本発明が作成され使用される方法を例証するために説明してきた。本発明及びその様々な見地の他の各種の変形例及び修正例を実現することは当業者にとって容易であり、かつ本発明は説明された特定の実施形態に限定されないことは理解されたい。このため、本願で開示及び請求される基本的な内在する原理の真の精神及び範囲に入るありとあらゆる修正例、変形例又は等価なものを本発明がカバーするものと考える。
本発明に係るXMLシステムの特定の実施形態のハイレベルのハードウェアのブロック図である。 XMLシステムの特定の実施形態のハイレベルのソフトウェアのブロック図である。 XMLシステムの特定の実施形態のハイレベルのソフトウェアのブロック図とデータの流れ図との組合せを示す図である。 ビットマップ/バーコード及び/又は無線周波数識別(RFID)レンダリングエンジンの特定の実施形態のハイレベルのソフトウェアのブロック図である。 図1〜図4のXMLシステムに基づいて作られたバーコードラベルの具体的な表示である。 バーコード及び/又はRFIDレンダリングサーバとして構成されたXMLシステムの別の実施形態の具体的な実施例である。 XMLシステムの別の具体的な実施形態のハイレベルのソフトウェアのブロック図である。 XMLシステムの特定の別の実施形態のハイレベルのソフトウェアのブロック図とデータの流れ図との組合せを示す図である。 図7〜図8のXMLシステムに基づいて作られたバーコードラベルの具体的な表示である。

Claims (12)

  1. メモリサブシステムと、ネットワークに動作可能なように接続される通信インターフェースとを有するコンピュータシステムと、
    XML入力データストリームを受信及び処理するように構成されたXMLプロセッサと、
    フォーマット用テンプレートを受信及び処理するように構成されたZPLプロセッサと、
    前記XML入力データストリームの中に含まれたXMLデータと、前記フォーマット用テンプレートとの間の関連性を明らかにするように構成された可変データインテグレータと、
    前記フォーマット用テンプレートによって制御されたフォーマットに基づいて、前記関連付けられたXMLデータをフォーマットするように構成されたフォーマッティングエンジンと、
    前記関連付けられフォーマットされたXMLデータを受け取り、バーコードラベル、タグ、切符、カード、又は他の媒体の印刷可能な表示を生成し、及び/又はRFID素子用にコード化情報を作るように構成されたバーコードレンダリングエンジンと
    を備える、XMLの入力データストリーム及びフォーマット用テンプレートに基づいて、バーコードラベル、タグ、切符、カード、又は他の媒体を印刷する、及び/又は媒体の中に埋め込まれたRFID素子をコード化するXMLシステム。
  2. 前記XMLプロセッサが前記フォーマット用テンプレートの中に埋め込まれた命令に基づいて複数の事象を発生する請求項1に記載のシステム。
  3. 前記事象が、プリンタ速度設定事象と、印刷するラベル量の設定事象と、メディア選択事象と、使用するリボン選択事象と、用紙選択事象と、300dpiプリンタの使用事象と、600dpiプリンタの使用事象と、可変データ事象とからなるグループから選択される請求項2に記載のシステム。
  4. 前記フォーマット用テンプレートが前記XMLプロセッサに送られ、ダウンロードされるXMLデータと共に使用するために保存される、ここで、前記XMLデータのダウンロードはその後で行われる、請求項1に記載のシステム。
  5. 前記フォーマット用テンプレートがZPLベースのフォーマット用テンプレートである請求項1に記載のシステム。
  6. 前記コンピュータシステムが前記RFID素子内のコード化されたデータを読み取る請求項1に記載のシステム。
  7. ネットワークに動作可能なように接続されたホストコンピュータをさらに備える請求項1に記載のシステム。
  8. ネットワークに動作可能なように接続されたホストコンピュータをさらに備える請求項6に記載のシステム。
  9. 前記RFID素子から読み取られたデータが前記ホストコンピュータに送信される請求項8に記載のシステム。
  10. 前記コンピュータシステムに動作可能なように接続されたプリンタをさらに備える請求項1に記載のシステム。
  11. 前記プリンタがZPLベースのプリンタ制御言語に基づいて制御される請求項10に記載のシステム。
  12. 前記プリンタが非ZPLベースのプリンタ制御言語に基づいて制御される請求項10に記載のシステム。
JP2006521056A 2003-06-20 2004-05-17 Rfid機能を有するxmlプリンタシステム Pending JP2006528384A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/601,213 US6908034B2 (en) 2001-12-17 2003-06-20 XML system
PCT/US2004/015499 WO2005122057A1 (en) 2003-06-20 2004-05-17 Xml printer system with rfid capability

Publications (1)

Publication Number Publication Date
JP2006528384A true JP2006528384A (ja) 2006-12-14

Family

ID=33552161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006521056A Pending JP2006528384A (ja) 2003-06-20 2004-05-17 Rfid機能を有するxmlプリンタシステム

Country Status (5)

Country Link
US (8) US6908034B2 (ja)
EP (4) EP2284767A3 (ja)
JP (1) JP2006528384A (ja)
CN (2) CN1836201A (ja)
WO (2) WO2005001601A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101325625B1 (ko) * 2012-09-28 2013-11-06 한미아이티 주식회사 제품 코드 제공 장치, 방법 및 상기 방법을 위한 컴퓨터 판독 가능한 기록 매체

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050274801A1 (en) * 1999-01-29 2005-12-15 Intermec Ip Corp. Method, apparatus and article for validating ADC devices, such as barcode, RFID and magnetic stripe readers
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US7126716B1 (en) * 1999-08-20 2006-10-24 Zih Corp. Printer for printing labels, tags or the like
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
US6764009B2 (en) * 2001-05-30 2004-07-20 Lightwaves Systems, Inc. Method for tagged bar code data interchange
USRE47599E1 (en) 2000-10-20 2019-09-10 Promega Corporation RF point of sale and delivery method and system using communication with remote computer and having features to read a large number of RF tags
WO2002035432A1 (en) 2000-10-20 2002-05-02 Promega Corporation Radio frequency identification method and system of distributing products
US20020183882A1 (en) * 2000-10-20 2002-12-05 Michael Dearing RF point of sale and delivery method and system using communication with remote computer and having features to read a large number of RF tags
US7111787B2 (en) * 2001-05-15 2006-09-26 Hand Held Products, Inc. Multimode image capturing and decoding optical reader
US7025268B2 (en) 2001-12-17 2006-04-11 Zih Corporation XML printer system
US7959083B2 (en) * 2002-07-17 2011-06-14 Zih Corp. XML printer system
US6908034B2 (en) * 2001-12-17 2005-06-21 Zih Corp. XML system
US7600685B2 (en) * 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
ATE400856T1 (de) * 2002-05-16 2008-07-15 United Parcel Service Inc Systemen und verfahren für sortierung und lieferung von paketen unter verwendung von rfid technik
EP1406183A3 (en) * 2002-10-01 2004-04-14 Sap Ag Method and system for refreshing browser pages
RU2232419C1 (ru) * 2002-12-17 2004-07-10 Аби Софтвер Лтд. Система автоматизации ввода и контроля документов
US7809698B1 (en) * 2002-12-24 2010-10-05 International Business Machines Corporation System and method remapping identifiers to secure files
US20040194016A1 (en) * 2003-03-28 2004-09-30 International Business Machines Corporation Dynamic data migration for structured markup language schema changes
JP2004326141A (ja) * 2003-04-21 2004-11-18 Minolta Co Ltd 画像処理装置及びプログラム
US7367514B2 (en) * 2003-07-03 2008-05-06 Hand Held Products, Inc. Reprogramming system including reprogramming symbol
US20050006469A1 (en) * 2003-07-10 2005-01-13 United Parcel Service Of America, Inc. Methods, systems, and computer-readable media for linking object identification data to package identification data
US7478758B2 (en) * 2003-07-15 2009-01-20 Lsi Corporation Method and apparatus for automatically tracking and communicating data storage device information using RF tags: operating condition, configuration and location
US7412646B2 (en) * 2003-10-23 2008-08-12 Microsoft Corporation Systems and methods for pagination and co-pagination
US8145793B1 (en) * 2003-11-04 2012-03-27 At&T Intellectual Property Ii, L.P. System and method for distributed content transformation
US7165216B2 (en) * 2004-01-14 2007-01-16 Xerox Corporation Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US7200816B2 (en) * 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
US7149658B2 (en) * 2004-02-02 2006-12-12 United Parcel Service Of America, Inc. Systems and methods for transporting a product using an environmental sensor
US7114654B2 (en) * 2004-04-15 2006-10-03 Printronix RFID encoder and verifier
US7114655B2 (en) * 2004-04-15 2006-10-03 Printronix EPC data manager
US9378293B2 (en) * 2004-06-03 2016-06-28 Paypal, Inc. Method and apparatus to author and manage pages of a website
US7049964B2 (en) 2004-08-10 2006-05-23 Impinj, Inc. RFID readers and tags transmitting and receiving waveform segment with ending-triggering transition
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US7944355B2 (en) * 2004-09-01 2011-05-17 Microsoft Corporation Security techniques in the RFID framework
US7701341B2 (en) * 2004-09-01 2010-04-20 Microsoft Corporation Device service provider interface
US7557707B2 (en) * 2004-09-01 2009-07-07 Microsoft Corporation RFID enabled information systems utilizing a business application
US8098158B2 (en) * 2004-09-01 2012-01-17 Microsoft Corporation RFID server internals design
US7204409B2 (en) * 2004-09-01 2007-04-17 Microsoft Corporation Reader application markup language schema
US7295116B2 (en) * 2004-09-01 2007-11-13 Microsoft Corporation Architecture, programming model and API'S
US7378967B2 (en) * 2004-09-09 2008-05-27 The Gillette Company RFID tag sensitivity
US20060071063A1 (en) * 2004-09-29 2006-04-06 Duckett Jeanne F RFID printer system, method of printing and sets of record members
US20060085451A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Mapping of schema data into data structures
US7481368B2 (en) * 2004-12-14 2009-01-27 Siemens Corporate Research, Inc. Systems, devices, and methods for managing RFID data
US20060215215A1 (en) * 2005-03-23 2006-09-28 Kumaran O R S System and method for printer-based syndication
WO2006117615A2 (en) * 2005-04-27 2006-11-09 Justsystems Canada Inc. System and method for providing data formatting
US8302002B2 (en) * 2005-04-27 2012-10-30 Xerox Corporation Structuring document based on table of contents
CA2601602A1 (en) * 2005-05-06 2006-11-16 Objectif Lune Inc. Method and apparatus for transforming a printer into an xml printer
US7455218B2 (en) * 2005-06-20 2008-11-25 Microsoft Corproation Rich object model for diverse Auto-ID tags
US7278568B2 (en) * 2005-07-01 2007-10-09 United Parcel Service Of America, Inc. Mail sorting systems and methods
US20070013941A1 (en) * 2005-07-18 2007-01-18 Zih Corp. System, printer, and method for distributing data to a plurality of printers
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US8078103B2 (en) 2005-10-31 2011-12-13 Zih Corp. Multi-element RFID coupler
US20070130513A1 (en) * 2005-12-05 2007-06-07 Xerox Corporation Printing device with an embedded extensible stylesheet language transform and formatting functionality
US20070147938A1 (en) * 2005-12-13 2007-06-28 Zih Corp. Printer encoder adapted for positioning aboard a mobile unit
US7506803B2 (en) * 2005-12-15 2009-03-24 United Parcel Service Of America, Inc. Systems and methods for validating RFID tag data prior to writing into RFID tag
US8984397B2 (en) * 2005-12-15 2015-03-17 Xerox Corporation Architecture for arbitrary extensible markup language processing engine
US7599944B2 (en) * 2005-12-16 2009-10-06 Microsoft Corporation Electronic data interchange (EDI) schema simplification interface
US9286272B2 (en) * 2005-12-22 2016-03-15 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8261187B2 (en) 2005-12-22 2012-09-04 Xerox Corporation System and method for managing dynamic document references
US8250468B2 (en) * 2005-12-22 2012-08-21 Xerox Corporation System and method for managing dynamic document references
US7917845B2 (en) 2005-12-22 2011-03-29 Xerox Corporation System and method for managing dynamic document references
US8775933B2 (en) 2005-12-22 2014-07-08 Xerox Corporation System and method for managing dynamic document references
US9460060B2 (en) * 2005-12-22 2016-10-04 Xerox Corporation System and method for managing dynamic document references
US20070151660A1 (en) * 2005-12-23 2007-07-05 Matt Adams Process for manufacturing RFID label
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7934660B2 (en) 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US7756747B2 (en) * 2006-03-10 2010-07-13 Microsoft Corporation RFID business process-decoupling of design and deployment time activities
US8368749B2 (en) * 2006-03-27 2013-02-05 Ge Inspection Technologies Lp Article inspection apparatus
CN1967580B (zh) * 2006-04-04 2010-10-27 华为技术有限公司 电子帐单的实现方法
US7292160B1 (en) * 2006-04-19 2007-11-06 Microsoft Corporation Context sensitive encoding and decoding
US7720809B2 (en) * 2006-06-06 2010-05-18 Microsoft Corporation Application integration using XML
US20080010535A1 (en) * 2006-06-09 2008-01-10 Microsoft Corporation Automated and configurable system for tests to be picked up and executed
US7675418B2 (en) * 2006-06-15 2010-03-09 Microsoft Corporation Synchronous command model for RFID-enabling applications
US7868738B2 (en) * 2006-06-15 2011-01-11 Microsoft Corporation Device simulator framework for an RFID infrastructure
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US7956724B2 (en) * 2006-06-15 2011-06-07 Microsoft Corporation Support for reliable end to end messaging of tags in an RFID infrastructure
US7798408B2 (en) * 2006-07-10 2010-09-21 Hand Held Products, Inc. Apparatus and methods for controlling an imager
US8944332B2 (en) 2006-08-04 2015-02-03 Intermec Ip Corp. Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers
US20080043277A1 (en) * 2006-08-18 2008-02-21 Xerox Corporation Printing system and method
US8037179B2 (en) * 2006-11-02 2011-10-11 Storz Endoskop Produktions Gmbh Device control system employing extensible markup language for defining information resources
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US8360315B2 (en) 2007-03-02 2013-01-29 Harold Szu Smart hybrid card system providing authenticity, privacy, and security (APS)
US7710275B2 (en) 2007-03-16 2010-05-04 Promega Corporation RFID reader enclosure and man-o-war RFID reader system
US7898417B2 (en) * 2007-03-26 2011-03-01 Microsoft Corporation Standardized mechanism for printing labels and managing templates within RFID
FR2917207A1 (fr) * 2007-06-07 2008-12-12 Inside Contactless Sa Dispositif d'impression domestique comprenant des moyens de personnalisation sans contact
US20090007115A1 (en) * 2007-06-26 2009-01-01 Yuanhao Sun Method and apparatus for parallel XSL transformation with low contention and load balancing
US8496177B2 (en) 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
US8635309B2 (en) 2007-08-09 2014-01-21 Hand Held Products, Inc. Methods and apparatus to change a feature set on data collection devices
US8156432B2 (en) 2007-11-14 2012-04-10 Zih Corp. Detection of UTF-16 encoding in streaming XML data without a byte-order mark and related printers, systems, methods, and computer program products
US8270303B2 (en) * 2007-12-21 2012-09-18 Hand Held Products, Inc. Using metadata tags in video recordings produced by portable encoded information reading terminals
US20090327301A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Distributed Configuration Management Using Constitutional Documents
US7982764B2 (en) 2008-07-08 2011-07-19 United Parcel Service Of America, Inc. Apparatus for monitoring a package handling system
JP5381009B2 (ja) * 2008-10-20 2014-01-08 セイコーエプソン株式会社 デバイス制御システム
US10943030B2 (en) 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
US20100198876A1 (en) 2009-02-02 2010-08-05 Honeywell International, Inc. Apparatus and method of embedding meta-data in a captured image
US8077050B2 (en) * 2009-03-24 2011-12-13 United Parcel Service Of America, Inc. Transport system evaluator
US9519814B2 (en) 2009-06-12 2016-12-13 Hand Held Products, Inc. Portable data terminal
US8141784B2 (en) 2009-09-25 2012-03-27 Hand Held Products, Inc. Encoded information reading terminal with user-configurable multi-protocol wireless communication interface
WO2011160256A1 (en) 2010-06-24 2011-12-29 Metrologic Instruments, Inc. Distinctive notice for different symbology information
US9589164B2 (en) 2010-06-24 2017-03-07 Metrologic Instruments, Inc. Distinctive notice for different symbology information
JP2012079085A (ja) * 2010-10-01 2012-04-19 Seiko Epson Corp Rfidライター付きプリンター及びrfid付き印刷媒体発行システム
CN102446181A (zh) * 2010-10-09 2012-05-09 广东省农业科学院科技情报研究所 一种基于xml的iso15693电子标签数据转换方法
US8517269B2 (en) 2010-11-09 2013-08-27 Hand Held Products, Inc. Using a user'S application to configure user scanner
US9430583B1 (en) 2011-06-10 2016-08-30 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
US9009472B2 (en) * 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations
CN103890819B (zh) 2011-10-21 2016-04-13 美国联合包裹服务公司 用于收集与货运容器相关联的基本和辅助数据的系统和方法
EP3361418A1 (en) * 2011-12-09 2018-08-15 Avery Dennison Corporation Rfid digital print/encode
US9294552B2 (en) 2012-01-27 2016-03-22 MicroTechnologies LLC Cloud computing appliance that accesses a private cloud and a public cloud and an associated method of use
US8706754B2 (en) 2012-01-27 2014-04-22 MicroTechnologies LLC System and method for integrating knowledge engines in a cloud computing environment
US9213580B2 (en) 2012-01-27 2015-12-15 MicroTechnologies LLC Transportable private cloud computing platform and associated method of use
US10120847B2 (en) * 2012-01-27 2018-11-06 Usablenet Inc. Methods for transforming requests for web content and devices thereof
US8608053B2 (en) 2012-04-30 2013-12-17 Honeywell International Inc. Mobile communication terminal configured to display multi-symbol decodable indicia
US9753926B2 (en) * 2012-04-30 2017-09-05 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
EP2672393A1 (en) * 2012-06-04 2013-12-11 Dialog Semiconductor B.V. Circuit and methods to use an audio interface to program a device within an audio stream
CN103914933B (zh) * 2012-12-30 2017-06-30 航天信息股份有限公司 一种基于xml技术的发票打印方法和装置
US9098558B2 (en) * 2013-04-01 2015-08-04 Oracle International Corporation Enhanced flexibility for users to transform XML data to a desired format
JP2015215706A (ja) * 2014-05-08 2015-12-03 株式会社東芝 Icカード発行用データ処理装置、icカード発行装置、icカード発行システム、icカード発行用データ処理プログラム、icカード発行プログラム
CN104506464A (zh) * 2014-12-12 2015-04-08 北京中科江南软件有限公司 基于节点描述符的电子报文解析组件
CN104991993A (zh) * 2015-06-09 2015-10-21 北京红马传媒文化发展有限公司 一种场地信息图形的处理方法
JP6515729B2 (ja) 2015-08-06 2019-05-22 セイコーエプソン株式会社 プリンターの制御方法、プログラム、記憶媒体、および、プリンター
CN107180319A (zh) * 2016-03-10 2017-09-19 上海浩斌信息科技有限公司 一种基于rfid技术的无人值守仓储管理系统
US11449495B2 (en) * 2017-02-01 2022-09-20 United Parcel Service Of America, Inc. Indexable database profiles comprising multi-language encoding data and methods for generating the same
CN107423004B (zh) * 2017-06-20 2021-03-30 上海慧银信息科技有限公司 Pos终端打印票据的方法及pos终端
TWI651655B (zh) * 2017-12-15 2019-02-21 宏通數碼科技股份有限公司 電子顯示卡及其製作方法
CN110211484B (zh) * 2019-06-13 2021-10-26 深圳云里物里科技股份有限公司 一种电子价签显示方法、系统及服务器和存储介质
CN114580588B (zh) * 2022-05-06 2022-08-12 江苏省质量和标准化研究院 基于概率矩阵模型的uhf rfid群标签选型方法
CN114791993B (zh) * 2022-05-16 2022-11-11 江苏大学 一种动力电池组soh预测方法及系统

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US58469A (en) * 1866-10-02 Improvement in well-packings
US5372439A (en) 1992-12-18 1994-12-13 Zebra Technologies Corporation Thermal transfer printer with controlled ribbon feed
SG54229A1 (en) * 1992-12-30 1998-11-16 Goodyear Tire & Rubber Apparatus and method for marking a rubber article with a message readable by a light scanning device
US5860068A (en) * 1997-12-04 1999-01-12 Petabyte Corporation Method and system for custom manufacture and delivery of a data product
US6154378A (en) * 1998-04-29 2000-11-28 Lockheed Martin Corporation Polyphase inverter with neutral-leg inductor
US6539422B1 (en) * 1998-05-04 2003-03-25 Intermec Ip Corp. Automatic data collection device having a network communications capability
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6226675B1 (en) * 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
US6507856B1 (en) * 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6289501B1 (en) * 1999-03-31 2001-09-11 Unisys Corp. Method for generating simple document type definitions
US6246326B1 (en) * 1999-05-05 2001-06-12 Intermec Ip Corp. Performance optimized smart label printer
AU762620B2 (en) * 1999-06-30 2003-07-03 Silverbrook Research Pty Ltd Interactive printer persistent storage provider
WO2001006345A1 (en) 1999-07-14 2001-01-25 Fargo Electronics, Inc. Identification card printer with client/server
US7339690B2 (en) * 1999-07-14 2008-03-04 Fargo Electronics, Inc. Identification card printer with client/server
US6959415B1 (en) * 1999-07-26 2005-10-25 Microsoft Corporation Methods and apparatus for parsing Extensible Markup Language (XML) data streams
US6305605B1 (en) * 1999-08-09 2001-10-23 John W. Goetz Multiple-casualty incident patient tracking
US7126716B1 (en) * 1999-08-20 2006-10-24 Zih Corp. Printer for printing labels, tags or the like
US6535299B1 (en) 1999-09-14 2003-03-18 Printronix, Inc. Bar code verification and printing system
US6748569B1 (en) 1999-09-20 2004-06-08 David M. Brooke XML server pages language
CA2386843A1 (en) * 1999-10-29 2001-05-03 Zih Corporation Printer programming tool and method
KR20020061643A (ko) 1999-12-15 2002-07-24 파고 일렉트로닉스 인코포레이티드 웹 브라우저를 사용한 식별 카드 퍼스널라이제이션 장치
US7590644B2 (en) * 1999-12-21 2009-09-15 International Business Machine Corporation Method and apparatus of streaming data transformation using code generator and translator
US7146614B1 (en) * 1999-12-22 2006-12-05 Novell, Inc. Computer directory system having an application integration driver infrastructure
US6764009B2 (en) * 2001-05-30 2004-07-20 Lightwaves Systems, Inc. Method for tagged bar code data interchange
US6449620B1 (en) * 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6901403B1 (en) * 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US6757869B1 (en) * 2000-03-20 2004-06-29 International Business Machines Corporation Method and apparatus for providing access to a legacy application on a distributed data processing system
US7630908B1 (en) * 2000-05-01 2009-12-08 John Amrien Wireless electronic prescription scanning and management system
JP2002103746A (ja) 2000-09-28 2002-04-09 Toshiba Tec Corp Xmlデータ対応バーコードの印字方法
JP4657432B2 (ja) 2000-09-28 2011-03-23 富士通株式会社 階層構造の構造化文書を変換する装置
US6568596B1 (en) * 2000-10-02 2003-05-27 Symbol Technologies, Inc. XML-based barcode scanner
US6925631B2 (en) * 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
US6600418B2 (en) * 2000-12-12 2003-07-29 3M Innovative Properties Company Object tracking and management system and method using radio-frequency identification tags
US6631379B2 (en) * 2001-01-31 2003-10-07 International Business Machines Corporation Parallel loading of markup language data files and documents into a computer database
US6793127B2 (en) 2001-04-04 2004-09-21 Koninklijke Philips Electronics N.V. Internet enabled resource constrained terminal for processing tags
WO2003005337A2 (en) * 2001-06-30 2003-01-16 Cokinetics Systems An internet interface & integration language system and method
US7733509B2 (en) 2001-09-26 2010-06-08 Infoprint Solutions Company, Llc Method and apparatus for printing XML directly using a formatting template
US20030061947A1 (en) 2001-10-01 2003-04-03 Hohberger Clive P. Method and apparatus for associating on demand certain selected media and value-adding elements
US7600685B2 (en) * 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
US6540142B1 (en) * 2001-12-17 2003-04-01 Zih Corp. Native XML printer
US7959083B2 (en) * 2002-07-17 2011-06-14 Zih Corp. XML printer system
US6908034B2 (en) 2001-12-17 2005-06-21 Zih Corp. XML system
US7025268B2 (en) * 2001-12-17 2006-04-11 Zih Corporation XML printer system
US6568586B1 (en) * 2002-08-06 2003-05-27 Domino's Pizza Pmc, Inc. Foldable cardboard food box having food receptacle and dip tray
TW578064B (en) 2002-12-25 2004-03-01 Inst Information Industry Conversion device and method for formatted table of hypertext markup language
US20050262049A1 (en) * 2004-05-05 2005-11-24 Nokia Corporation System, method, device, and computer code product for implementing an XML template

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101325625B1 (ko) * 2012-09-28 2013-11-06 한미아이티 주식회사 제품 코드 제공 장치, 방법 및 상기 방법을 위한 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
US9600463B2 (en) 2017-03-21
EP1639445A2 (en) 2006-03-29
US20070125859A1 (en) 2007-06-07
US20140061318A1 (en) 2014-03-06
CN1836243A (zh) 2006-09-20
US20140049796A1 (en) 2014-02-20
EP2284767A3 (en) 2011-04-27
US20040149826A1 (en) 2004-08-05
US7172122B2 (en) 2007-02-06
US7959082B2 (en) 2011-06-14
CN1836243B (zh) 2011-06-08
EP2275967A3 (en) 2011-02-23
EP2284767A2 (en) 2011-02-16
US8919652B2 (en) 2014-12-30
US20160048496A1 (en) 2016-02-18
US8544746B2 (en) 2013-10-01
EP2275967A2 (en) 2011-01-19
EP1639517A4 (en) 2008-04-09
US8459555B2 (en) 2013-06-11
WO2005001601A2 (en) 2005-01-06
CN1836201A (zh) 2006-09-20
EP1639445A4 (en) 2008-04-16
WO2005122057A1 (en) 2005-12-22
US9201845B2 (en) 2015-12-01
EP1639517A1 (en) 2006-03-29
US20050150953A1 (en) 2005-07-14
US20110303749A1 (en) 2011-12-15
WO2005001601A3 (en) 2005-04-14
US20110303753A1 (en) 2011-12-15
US6908034B2 (en) 2005-06-21

Similar Documents

Publication Publication Date Title
JP2006528384A (ja) Rfid機能を有するxmlプリンタシステム
US8820642B2 (en) XML printer system with RFID capability
US7988051B2 (en) XML printer system with RFID capability
EP1456790B1 (en) Xml printer system
US7959083B2 (en) XML printer system
TW200538955A (en) XML printer system with RFID capability

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080925

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090306