Source: http://www.google.com/patents/US7959082?dq=%22paul+lyons%22
Timestamp: 2014-09-17 03:34:10
Document Index: 205328894

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 10', 'art 2', 'art 2', 'Application No. 10']

Patent US7959082 - XML system - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign in<nobr>Advanced Patent Search</nobr>PatentsAn XML system is configured to print bar code labels, tags, tickets, cards, or other media, and/or encode RFID devices embedded in media, based upon an extensible markup language (XML) input data stream. The XML system includes a computer system having a memory subsystem, a communication interface operatively...http://www.google.com/patents/US7959082?utm_source=gb-gplus-sharePatent US7959082 - XML systemAdvanced Patent SearchPublication numberUS7959082 B2Publication typeGrantApplication numberUS 11/561,084Publication dateJun 14, 2011Filing dateNov 17, 2006Priority dateDec 17, 2001Also published asCN1836201A, CN1836243A, CN1836243B, EP1639445A2, EP1639445A4, EP1639517A1, EP1639517A4, EP2275967A2, EP2275967A3, EP2284767A2, EP2284767A3, US6908034, US7172122, US8459555, US8544746, US20040149826, US20050150953, US20070125859, US20110303749, US20110303753, US20140049796, US20140061318, WO2005001601A2, WO2005001601A3, WO2005122057A1Publication number11561084, 561084, US 7959082 B2, US 7959082B2, US-B2-7959082, US7959082 B2, US7959082B2InventorsBruce N AlleshouseOriginal AssigneeZih Corp.Export CitationBiBTeX, EndNote, RefManPatent Citations (40), Non-Patent Citations (26), Referenced by (6), Classifications (29), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetXML systemUS 7959082 B2Abstract An XML system is configured to print bar code labels, tags, tickets, cards, or other media, and/or encode RFID devices embedded in media, based upon an extensible markup language (XML) input data stream. The XML system includes a computer system having a memory subsystem, a communication interface operatively coupled to a network, an XML processor configured to receive and process the XML input data stream, and an extensible stylesheet language transformation (XSLT) processor configured to either obtain a stylesheet identified in the XML data stream or obtain the stylesheet from a stylesheet repository. The XSLT processor transforms data in the XML input data stream into transformed XML data based upon the stylesheet obtained. Also included is an extensible stylesheet language formatting object (XSLFO) processor configured to format the transformed XML data into formatted XML data based upon XSLFO instructions contained in the stylesheet, and a rendering subsystem configured to receive the formatted XML data and generate a printable representation of the bar code label, tag, ticket, card, other media, and/or generate encoding information for an RFID device.
a processor configured to receive an extensible markup language (XML) data stream,
wherein the processor is configured to obtain a stylesheet either from the XML data stream or a stylesheet repository, and further, to transform the data in the XML data stream based upon the stylesheet, the data being transformed for subsequent generation of at least one of a printable representation of at least a portion of a media, or encoding information for an RFID device, based thereon.
2. The apparatus of claim 1, wherein the processor being configured to obtain a stylesheet includes being configured to obtain a stylesheet identified in the XML data stream.
3. The apparatus of claim 1, wherein the processor is further configured to format the transformed XML data into formatted XML data based upon XSLFO instructions contained in the stylesheet, generation of at least one of the printable representation or encoding information being based in part upon the formatted XML data.
4. The apparatus of claim 1, wherein the processor is further configured to obtain a schema identified in the XML data stream, and validate at least a portion of the XML data stream based on the schema.
5. The apparatus of claim 4, wherein the processor being configured to validate at least a portion of the XML data stream includes being configured to validate at least a portion of the XML data stream according to a Document Type Definition (DTD).
6. The apparatus of claim 4, wherein the schema is stored in a remote repository, the processor being configured to obtain the schema remotely.
7. The apparatus of claim 1, wherein the processor is configured to transform the data in response to a request from an external source to generate at least one of the printable representation or encoding information.
8. The apparatus of claim 1, wherein the processor is operatively couplable to at least one of a print head mechanism configured to print the media, or an RFID transmitter configured to transmit the encoding information, the processor and at least one of the print head mechanism or RFID transmitter being located in a common enclosure.
9. The apparatus of claim 1, wherein the processor is operatively couplable to at least one of a printer configured to print the media, or an RFID transmitter configured to transmit the encoding information, the processor and at least one of the printer or RFID transmitter being located in separate enclosures.
receiving an extensible markup language (XML) data stream;
obtaining a stylesheet either from the XML data stream or a stylesheet repository; and
transforming the data in the XML data stream based upon the stylesheet, the data being transformed for subsequent generation of at least one of a printable representation of at least a portion of a media, or encoding information for an RFID device, based thereon.
11. The method of claim 10, wherein obtaining a stylesheet includes obtaining a stylesheet identified in the XML data stream.
formatting the transformed XML data into formatted XML data based upon XSLFO instructions contained in the stylesheet, generation of at least one of the printable representation or encoding information being based in part upon the formatted XML data.
obtaining a schema identified in the XML data stream, and validate at least a portion of the XML data stream based on the schema.
14. The method of claim 13, wherein validating at least a portion of the XML data stream includes validating at least a portion of the XML data stream according to a Document Type Definition (DTD).
15. The method of claim 13, wherein the schema is stored in a remote repository, the schema being obtained remotely.
16. The method of claim 10, wherein transforming the data comprises transforming the data in response to a request from an external source to generate at least one of the printable representation or encoding information.
a processor configured to receive and process an extensible markup language (XML) input data stream based in part upon a stylesheet identified from the XML input data stream, the stylesheet comprising at least:
a barcode-type or RFID-type instream foreign object defining communication with the barcode or RFID apparatus,
wherein the processor is configured to generate at least one of a printable representation of a media, or encoding information for an RFID device, based on the processed XML input data stream.
18. The apparatus of claim 17, wherein the stylesheet further comprises extensible stylesheet language transformation (XSLT) instructions for transforming data in the XML input data stream, the XSLFO instructions being for formatting the transformed data.
receiving and processing an extensible markup language (XML) input data stream based in part upon a stylesheet identified from the XML input data stream, the stylesheet comprising at least:
generating at least one of a printable representation of a media, or encoding information for an RFID device, based on the processed XML input data stream.
20. The method of claim 19, wherein the stylesheet further comprises extensible stylesheet language transformation (XSLT) instructions for transforming data in the XML input data stream, the XSLFO instructions being for formatting the transformed data.
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 11/010,895, filed Dec. 13, 2004 now U.S. Pat. No. 7,172,122, entitled �XML System�; which is a continuation of U.S. application Ser. No. 10/601,213, filed Jun. 20, 2003, now U.S. Pat. No. 6,908,034, entitled �XML System�; which is a continuation-in-part of U.S. application Ser. No. 10/348,422, filed Jan. 21, 2003, now U.S. Pat. No. 6,655,593, entitled �Native XML Printer�; which is a continuation of U.S. application Ser. No. 10/197,014, filed Jul. 17, 2002, now U.S. Pat. No. 6,540,142, entitled �Native XML Printer�; which claims priority from U.S. Provisional Application No. 60/345,389, filed Jan. 4, 2002, entitled �XML Printer Technology�, and U.S. Provisional Application No. 60/341,427, filed Dec. 17, 2001, entitled �Bar Code Labeling Systems Having Machine Readable Standards�, all of which are hereby incorporated herein in their entirety by reference.
STATEMENT REGARDING COPYRIGHT RIGHTS A portion of this disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office Patent files or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION The present invention relates generally to a method and apparatus for printing media, such as tickets, tags, cards, barcode labels, sheet fed paper, continuous and fan-folded paper, plastic media, and for encoding RF (Radio Frequency) identification circuitry (RFID) that may be embedded in media, and more specifically to a native printer that prints such as printed media and/or encodes RFID devices based on an XML data stream.
BACKGROUND Printer systems for printing barcodes and for transmitting data to a barcode printer are known. However, many such systems use proprietary methods of data encoding, and therefore such methods cannot be used interchangeably with other barcode printers. Also, known data encoding methods typically render the underlying data unreadable by humans. While this presents no impediment to the computer systems, it may be burdensome to humans attempting to review, debug or understand certain data appearing in the underlying barcode element names.
Barcode labeling is used extensively in many facets of commerce. In particular, packages or merchandise shipped from one destination to another are identified by the shipper by a specific barcode label. Conversely, merchandise received may also be identified and entered into the receiver's inventory system by use of the barcode label. Often, the receiver of merchandise may dictate the form and content of the barcode applied by the shipper. This is referred to as �compliance labeling.� Of course, merchandise need not be shipped to avail itself of the benefits of barcode labeling. For example, inventory control systems make extensive use of barcode labeling to track and monitor various goods within a facility or between facilities.
FIG. 5 is a specific representation of a barcode label produced in accordance with the XML system of FIGS. 1-4; and
DETAILED DESCRIPTION In this written description, the use of the disjunctive is intended to include the conjunctive. The use of definite or indefinite articles is not intended to indicate cardinality. In particular, a reference to �the� object or thing or �an� object or �a� thing is intended to also describe a plurality of such objects or things.
Referring now to FIG. 1, a specific embodiment of a high-level hardware block diagram of an XML system 10 is shown generally. The XM system 10 includes a computer or processing system 12, which includes various hardware components, such as RAM 14, ROM 16, hard disk storage 18, cache memory 20, database storage 22, and the like (also referred to as �memory subsystem� 26), as is known in the art. The computer system 12 may include any suitable processing device 28, such as a computer, microprocessor, RISC processor (reduced instruction set computer), CISC processor (complex instruction set computer), mainframe computer, work station, single-chip computer, distributed processor, server, controller, micro-controller, discrete logic computer and the like, as is known in the art. For example, the processing device 28 may be an Intel Pentium� microprocessor, x86 compatible microprocessor, or equivalent device.
The computer system 12 may be further coupled to a printer system 50. The printer system 50 may include a media/paper control system 52, a printer driver 54 and a print head mechanism 56. Any suitable printer capable of printing barcode labels may be used, which may include various dot matrix, ink jet, laser and/or thermal printers. Of course, dot matrix printers are usually of lower quality and require closer monitoring of the label output. Preferably, the printer system 50 is a thermal transfer printer. Such suitable printers, for example, are available from Zebra Technologies Corporation of Vernon Hills, Ill., and may include the Model Xi series barcode printers (xiIII+, 90XiIII, 96XiIII, 140XiIII, 170XiIII, 220XiIII, etc.), the 2800 Series barcode printers, Model Z4M, Z6M, 105SL barcode printers, and others. Any suitable barcode label printer may be used.
Alternatively, the printer system 50 may include a �non-printing� mechanism to handle the programming of RFID (radio frequency identification) media, which may also receive printed labeling or other printed indicia on its surface. The term �printer system� is meant to include systems that also include RFID capability although the �RFID� may not be part of the term. Additionally, although the term �barcode labels� are used herein, this term is not limited to a paper label, and may include, for example, tickets, tags, cards, sheet fed paper, continuous and fanfold paper, plastic media, media embedded with RFID circuits, and other automatic identification devices. The present invention applies to any type of media.
The RFID transceiver 61 is configured to communicate with an RFID transponder 62 and program the RFID transponder. RFID transponder 62 may be of the �chip� or �chipless� type, and one common form of such an RFID transponder, which is often used in �smart labels,� includes an antenna and an RFID integrated circuit (not shown). Such RFID transponders 62 include both DC powered active transponders and battery-less passive transponders, and are available in a variety of form factors. The term �barcode printer� or �barcode system� is used interchangeably herein with the term �barcode/RFID system,� �XML system� and the like, and such a system includes the capability to encode RFID data into an RFID transponder, even though the term �RFID� may not necessarily be part of the identifying text. The system 12 must have the capability to encode RFID data into an RFID transponder.
The software blocks illustrated in FIGS. 2-3 include an XML (extensible mark-up language) processor 70 (also referred to as the �XML parser�), an XSLT (extensible stylesheet language transformation) processor 74, an XSLFO (extensible stylesheet language formatting object) processor 78, a bit map/barcode/RFID rendering engine 80, the RFID transceiver 61, and the printer driver 54 (FIG. 1). Of course, the RFID transceiver 61 may be used in conjunction with printed labels, or may be used separately. The function and basic structure of the XML system 10 is unaffected by the inclusion or non-inclusion of the RFID transceiver.
When referring to the XML data, two basic types shall be referred to herein, namely, the XML value data and the XML element name. The XML value data is the changeable data or the data that is desired to be printed on the barcode label or encoded into the RFID transponder, such as the data �1122 Green Street,� which may be part of the XML value data corresponding to, for example, a shipping address. The XML element names are part of the XML language semantics where an arbitrary label or element name may be selected to represent the XML value data, the use of which is defined by the XML language. Typically, the element names appear between angled bracket (�<element name>�).
Various XML software blocks shown in FIGS. 2-3 are commercially available. Several different commercially available XML processors 70 may be used interchangeably or with little modification. For example, the following commercially available XML processors 70 may be used: �XML for C++� available from IBM Corporation, �MSXML3� available from Microsoft Corporation, �Oracle XML Developers Kit for C� available from Oracle Corporation, �Expat� available from Thai Open Source Software Center, Ltd., or �Xerces-C++� available from the Apache Software Foundation. However, any suitable XML processor may be used.
Similarly, several different commercially available XSLT processors 74 may be used interchangeably or with little modification. For example, the following XSLT processors 74 may be used: �iXSLT� available from Infoteria Corporation, �MSXML3� available from Microsoft Corporation, and �Libxslt� available from Gnome. However, any suitable XSLT processor may be used.
Again, several different commercially available XSLFO processors 78 may be used interchangeably or with little modification. For example, the following XSLFO processors 78 may be used: �XEP� available from RenderX Corporation, �XSL Formatter� available from Antenna House Corporation, and �FOP� available from the Apache Software Foundation. However, any suitable XSLFO processor may be used.
Still referring to FIGS. 1-3, the XML processor 70 receives the XML input data stream 90 from an external source 88. For example, the external source may be the ERP system 88, such as the warehouse management system. The XML processor 70 essentially parses and processes the XML input data stream 90 and generates a set of nodes, which may be in a �tree� structure, as is known in the art. Each of the software processing blocks shown in FIGS. 2-3 act on the nodes of the �tree� to perform their required function. The underlying value data contained in the XML input data stream 90 from the ERP system 88 is processed and entered into a �label values node tree,� 100 which holds the data.
The following is a brief overview of the operation of the various software components. First, note that the XML input data stream 90 includes text that identifies the name and location of other required XML documents or files. One such document is referred to as �XML schema� or �schema.� The schema is used to validate the XML input data stream, including the underlying value data. If validation is successful, a stylesheet is applied, as will be described below. The name and location of the stylesheet is also specified in the XML input data stream 90. Application of the stylesheet is handled by the XSLT processor 74, which under the direction of the stylesheet, may transform the underlying XML element names and/or underlying value data. Next, the data is processed by the XSLFO processor 78, which handles formatting and �layout� of the underlying value data, which may include, for example, formatting the underlying value data in accordance with, for example, font type, font size, color, and the like. Next, the underlying value data is processed by the bitmap/barcode/RFID rendering engine 80, which creates a bitmap 92 of the barcode label or the programming code sequence for the RFID transponder corresponding to the transformed and formatted data. The rendering engine 80 may utilize an �instream foreign object� residing in the stylesheet to direct creation of the bitmap. The bitmap 92 is then sent to the printer driver 54 (FIG. 1) for subsequent printing of the barcode label by the barcode printer or to the RFID transceiver 61 for encoding into the RFID transponder 62 (FIG. 1)
The name and location of the schema document is contained in the XML input data stream 90, which XML input data stream corresponds to the request to print and/or encode a barcode label. The XML processor 70 in conjunction with a schema validation module 110 validates the underlying value data. The use of schema is cost effective because it prevents errors and omissions with respect to the final output, namely, the bar code label, or �shipping label,� or RFID tag or transponder.
For example, the compliance demander may now require that a nine digit zip code be used rather than the original five digit zip code. Accordingly, the compliance demander may modify the schema to require both a first and second zip code field, and the second field will also be limited to numerical digits within a certain range, perhaps 0000-9999. The compliance demander may also modify the stylesheet to accommodate that change. In response thereto, the supplier must insert the added zip code field in its ERP system so that it appears in the XML input data stream 90 sent to the XML system 10. If such modification of the XML input data stream 90 is not performed correctly, the schema will cause an error to be reported back to the ERP system 88, and the label will not be printed or the RFID transponder will not be encoded.
Of course, the schema is also an XML document, and thus it is also processed by the XML processor 70. Accordingly, the result of the processing of the schema is the XML schema node tree 114 shown in FIG. 3, which is the �memory representation� or working model of the schema that was processed. The XML schema node tree 114 may be in the form of a �document object model� (DOM), as is known in the art. Further, the XML schema node tree 114 may reside in cache memory for efficiency, as shown in an XML schema cache 116. The schema validation module 110 and/or the XML processor 70 operate on the data in the XML schema node tree 114 to perform its function of validating the underlying value data in accordance with the schema document.
As described above, if an error exists in the XML input data stream 90, as determined by application of the schema, an error message may be generated. If the XML input data stream 90 is validated, the data remains essentially �untouched.� The data in the label value node tree 100 is then processed by the XSLT processor 74 using the XSLT stylesheets.
Of course, the stylesheet is also an XML document, and thus it is also processed by the XML processor 70. Accordingly, the result of the processing of the stylesheet is the XSLT stylesheet node tree 120 shown in FIG. 3, which is the �memory representation� or working model of the stylesheet that was processed. The XSLT stylesheet node tree 120 may be in the form of a �document object model� (DOM), as is known in the art. Further, the XSLT stylesheet node tree 120 may reside in cache memory for efficiency, as shown in an XSLT stylesheet cache 126. The XSLT processor 74 operates on the data in the XSLT stylesheet node tree 120 to perform its function of transforming the underlying value data or underlying element names in accordance with the stylesheet.
Turning now to FIG. 3 and a code segment shown immediately below entitled �code segment 1 for an XML input data stream,� the code segment 1 illustrates an XML input data stream 90 in hard copy, which may, for example, be sent to the XML system 10 by the ERP or warehouse management system 88. Line numbering has been inserted for purposes of illustration only and is not part of the code.
Code Segment 1 For An XLML Input Data Steam
<?xml version=�1.0� encoding=�UTF−8�?>
<?xml-stylesheet type=�text/xsl�
href=�D:\Projects\XML\Native\Docs\ShipLabels.xsl�?>
xsi :noNamespaceSchemaLocation=
�D:\Projects\XML\Native\Docs\ShipLabels.xsd�>
The XML input data stream identifies the schema document as �ShipLabels.xsd,� and that schema document may be found, in this specific example, in a directory called �D:/Projects/XM Native/Docs,� as shown at line 7 in code segment 1. Further, the XML input data stream identifies the stylesheet document as �ShipLabels.xsl,� and that stylesheet document may also be found in a directory called �D:/Projects/XML Native/Docs,� as shown at line 3 of the code segment 1. Of course, the schema document and the stylesheet document may be located anywhere, for example, as identified by an Internet address.
This specific example shows the underlying value data and element names for three shipping labels to be printed. Each shipping label contains an XML element name defined between angular brackets as follows: <name>, <address>, <city>, <state> and <zip>. The value of the first element name, <name>, is �Albert Einstein,� the value of the second element name, <address>, is �1234 Relative Way,� the value of the third element name, <city>, is �Princeton,� the value of the forth element name, <state>, is �NJ� and the value of the fifth element name, <zip>, is �08540.� This is the underlying value data.
Now turning to FIG. 3, code segment 1, and a code segment shown immediately below entitled �code segment 2 for XML schema,� the code segment 2 illustrates a specific example of an XML document in the form of the XML schema document specified in the XML input data stream of code segment 1. Line numbering has been inserted for purposes of illustration only and is not part of the code.
<xs:element name=�label�>
<xs:element ref=�name�/>
<xs:element ref=�address�/>
<xs:element ref=�city�/>
<xs:element ref=�state�/>
<xs:element ref=�zip�/>
<xs:element name=�labels�>
<xs:element ref=�label�
<xs:element name=�state�>
<xs:enumeration value=�CA�/>
<xs:enumeration value=�NJ�/>
<xs:enumeration value=�NY�/>
<xs:element name=�zip�>
<xs:restriction base=�xs:int�>
<xs:minInclusive value=�00000�/>
<xs:maxInclusive value=�99999�/>
For example, the schema document shown in code segment 2 above specifies that the underlying value data corresponding to the element name, <address>, must be a string, as defined in the XML Schema specification, as shown by line 5 in the code segment 2. The schema document also specifies that the underlying value data corresponding to the element names of <name>, <address>, <city>, <state>, and <zip> must also be present in the sequence indicated, as shown by lines 9-15 in the code segment 2. Further, this specific schema document shown in the code segment 2 specifies that the underlying value data corresponding to the element name, <state>, must be one of three states, namely, �Calif.,� �N.J.,� or �N.Y.� Of course, this is only an abbreviated example, and not all states have been included for purposes of illustration only. The schema document shown in code segment 2 also specifies that the underlying value data corresponding to the element name, <zip>, must be in the range from 00000 to 99999. If any of the above-mentioned schema criteria are not met by the data in the XML input data stream, the schema validation module 110 will reject it, and will preferably return an error message back to the source 88.
Now turning to FIG. 3, code segments 1-2, and a code segment shown immediately below entitled �code segment 3 for an XSLT stylesheet,� the code segment 3 shows a specific example of an XML document in the form of the XSLT stylesheet document specified in the XML input data stream of the code segment 1. Line numbering has been inserted for purposes of illustration only and is not part of the code.
<xsl:transform version=�1.0�
xmlns:fo=�http://www.w3.org/1999/XSL/Format�
xmlns:bo=�http://www.zebra.com/2002/XSL/Barcode�>
<xsl:output method=�xml� version=�1.0� indent=�yes� />
<xsl:template match=�labels�>
master-name=�all-labels�>
<fo:region-body margin=�1in� />
<fo:page-sequence master-name=�all-labels�>
<fo:flow flow-name=�xsl-region-body�
font=�12pt Times�>
<xsl:template match=�label�>
<fo:block break-after=�page�>
<xsl:apply-templates select=�name� />
<xsl:apply-templates select=�address� />
<fo:block font=�bold 14pt Times� text-align=�left�>
<xsl:apply-templates select=�city� />
<xsl:apply-templates select=�state� />
<xsl:apply-templates select=�zip� />
<bo:postnet interpretation-line=�none�>
<xsl:value-of select=�zip� />
<xsl:template match=�name�>
<xsl:value-of select=�.� />
<xsl:template match=�address�>
<xsl:template match=�city�>
<xsl template match=�state�>
<xsl:template match=�zip�>
As mentioned above, the stylesheet is used to transform the data. In this specific example, the stylesheet of the code segment 3 defines two types of namespace, namely, a �bo� type object, which is selected to be a �barcode-type object,� and an �fo� type object, which is selected to be a formatting object, which was described above with respect to the XSLFO processor 78. This permits differentiation between the different objects, as is known in the art. The stylesheet may cause some data to be transformed or even added. For example, the underlying value data from the XML input data stream of the code segment 1, namely �Einstein, �1234 Relative Way,� and the like, is inserted, as indicated by lines 40-62.
This stylesheet also causes a variety of �fo� type elements to be generated, which are designated as formatting elements or XSLFO objects. The XSLFO objects contain layout type commands that the XSLFO processor 78 �understands� and processes. Note that all lines of code having a prefix of �fo� are not interpreted by the XSLT processor 74, but rather, are passed on to the XSLFO processor 78.
For example, line 21 of the code segment 3 shows <xsl: template match=�label�> followed by <fo:block break-after=�page�> on line 22. This is interpreted by the XSLFO processor 78 to put a �page break� between the three shipping labels specified in the code segment 1. Essentially a new shipping label is created due to the page break, with each new shipping label containing the underlying value data specified in the code segment 1.
Further, this specific stylesheet specifies that an �instream foreign object� is inserted, as shown at line 31. Line 31 is shown as <fo:instream-foreign-object> in conjunction with lines 31-37, which define the instream foreign object. Note that the instream foreign object is not processed by either the XSLT processor 74 or the XSLFO processor 78. Rather, the instream foreign object is passed to and is processed by the bitmap/barcode/RFID rendering engine 80. For example, lines 32-36 of the code segment 3 cause a <bo:barcode> element to be inserted that contains the definition of a �postnet� barcode element, which element will later be processed by the bitmap/barcode/RFID rendering engine 80. At line 34, the XSLT processor 74 causes the zip code from the XML input data stream to be inserted as the text of the <bo:postnet> element. Alternatively, although not shown in the code, an RFID type instream foreign object may define the encoding for programming an RFID transponder.
Now turning to FIG. 3, code segments 1-3, and a code segment shown immediately below entitled �code segment 4 for an XSLT instance node tree representation,� the code segment 4 shows a specific example of a representation of an XSLFO instance node tree 130 output produced by the XSLT processor 74 in conjunction with the stylesheet of code segment 3, which output is a representation of the XSLFO instance node tree provided to the XSLFO processor 78. Line numbering has been inserted for purposes of illustration only and is not part of the code.
<?xml version=�1.0� encoding=�UTF-16� ?>
<fo:root xmlns:fo=�http://www.w3.org/1999/XSL/Format�
<fo:simple-page-master master-name=�all-labels�>
<fo:simple-page-master>
<fo:flow flow-name=�xsl-region-body� font=�12pt Times�>
<fo:block font=�bold 14pt Times� text-
align=�left�>Albert Einstein</fo:block>
<fo:block font=�bold 14pt Times� text-align=�left�>1234
align=�left�>Princeton, NJ</fo:block>
align=�left�>08540</fo:block>
line=�none�>08540</bo:postnet>
<fo:block font=�bold 14pt Times� text-align=�left�>Steven
<fo:block font=�bold 14pt Times� text-align=�left�>5678
<fo:block font=�bold 14pt Times� text-align=�left�>Los
align=�left�>90007</fo:block>
line=�none�>90007</bo:postnet>
<fo:block font=�bold 14pt Times�text-
align=�left�>Richard Feynman</fo:block>
<fo:block font=�bold 14pt Times� text-align=�left�>90
<fo:block font=�bold 14pt Times� text-align=�left�>New
align=�left�>10044</fo:block>
line=�none�>10044</bo:postnet>
Two main portions of code segment 4 above are briefly described, namely, one portion beginning at line 4 with the code <fo:layout-master-set> and a second portion beginning at line 9 whit the code <fo:page-sequence master-name=�all-labels>. This portion of the code essentially defines what a barcode label will �look like� or how it will be �laid-out� and how the underlying value data will appear in that lay-out.
With respect to formatting the underlying value data shown in code segment 1, for example, the font attribute of �bold 14pt Times� and text-align=�left� shown in lines 12-13 will be applied to the underlying value data of �Albert Einstein� so that when the barcode label is printed, the name of �Albert Einstein� will be printed in 14 point Times font, and it will be aligned with the left margin of the barcode label. As is known in the art, may different kinds of formatting instructions may be specified, which will be interpreted by the XSLFO processor 78.
Further, this specific example of the representation of the XSLFO instance node tree 130 contains an instream foreign object, as shown at lines 21-26 of the code segment 4, which instream foreign object may not processed by the XSLFO processor 78. Rather, the insteam foreign object may be passed to the bitmap/barcode/RFID rendering engine 80 for processing. Note that at this point in the processing, the XSLFO processor 78 does not �know� how to print a barcode label or encode an RFID transponder because barcode element types and RFID transponder element types are not included in the XSLFO specification. Rather, only the text information, such as the underlying value data, namely, �Einstein,� �1234 Relative Way,� and the like, as shown in code segments 1-2, could be printed on the barcode label as text. With respect to labels, no actual barcode symbol would appear because the XSLFO processor 78 does not �know� how to produce a barcode symbol. The RFID transponder would not be encoded because the XSLFO processor 78 does not �know� how to encode a transponder.
The result of processing by the XSLFO processor 78 is an XSLFO area node tree 140. Note that the instream foreign object shown in the code segment 4 is not processed by the XSLFO processor 78, but rather, is passed to the barcode/bitmap/RFID rendering engine 80 in one or more nodes of the XSLFO area node tree 140. The instream foreign object element is referred to as <bo:barcode> and is shown at lines 21-26 of the code segment 4. The barcode/bitmap/RFID rendering engine 80 receives the <bo:barcode> element and processes the code contained in that block. For example, the rendering engine 80 interprets lines 23-24, namely, <bo:postnet interpretation-line=�none�>08540<bo:postnet> as defining this particular node as being a �postnet� barcode type of element. Many different �types� of barcode symbols may be defined, as is defined by corresponding industry standards, discussed below.
The operation of the RFID transceiver may be according to international standards such as ISO/IEC or according to proprietary specifications from vendors such as Texas Instruments (Tag-it) or Phillips (I�Code). For example, operation may be governed by the International Organization for Standardization (ISO) specification 15693 for vicinity cards, or by ISO specification 14443 for proximity cards. ISO specification 15693 describes the physical characteristics, the radio frequency power and signal interface, and the anticollision and transmission protocol. The transmission protocol specification includes the requests and responses to read, write, and lock the transponder. Note that the ISO specification 15693 is a preferable applicable standard when RFID label tags are involved.
The underlying value data to be printed as a barcode symbol is the numerical data �08540,� as shown in line 24 of code segment 4, which underlying value data is the zip code associated with Albert Einstein's address shown in the code segment 1. In this specific example, only the zip code is transformed into the barcode symbol. Of course, any and all information may be transformed into a barcode symbol, depending upon the application. Also, in this specific example, the instream foreign objects shown in the code segment 4 only relate to the three zip codes shown in the code segment 1. No other underlying value data is transformed into the barcode symbol in this example.
Also note that the XML system 10 need not necessarily contain the XSLT processor 74. In an alternate embodiment, the XSLT processor 74 or the equivalent thereof may be remotely located from the XML system 10 and may be configured to transform XML data in the XML input stream and provide the transformed data to the XML system. Accordingly, the XML system 10 may receive and process the transformed XML data into formatted XML data. Remote or �separate� processing equivalent to the processing typically handled by the XSLT processor may be based upon XSLFO instructions contained in stylesheets, which also need not reside in or be directly accessible to the XML system 10.
Turning now to FIGS. 2-4 in conjunction with the code segment 4, additional detail concerning the barcode/bitmap/RFD rendering engine 80 and the processing of the instream foreign objects will now be set forth. As described above, the rendering engine 80 processes each node of the XSLFO area node tree 140 generated by the XSLFO processor 78. As is known in the art, the XSLFO area node tree 140 is represented in memory as a document object model. Accordingly, multiple nodes may exist. For example, one node may contain the instream foreign object, another node may contain associated element names, another node may contain associated text data, another node may contain associated attributes, and the like.
As shown in block 150 in FIG. 4, the nodes of the XSLFO area node tree 140 are processed. In particular, the rendering engine 80 �knows� how to render or produce the actual barcode symbol or RFID transponder encoding defined by the corresponding instream foreign object. Commercially available XSLFO processors do not �know� how to process such instream foreign objects representing barcode symbols and RFID transponders, and thus are not able to produce or render barcode symbols or encode RFID transponders. Commercially available XSLFO processors may, however, render text in an acceptable manner and may even render certain types of instream foreign objects.
If a particular node does not contain an instream foreign object, meaning that it may contain, for example, text data, then this node may be processed in a �standard� way by utilizing the processing power of the XSLFO processor 78 rather than the rendering engine 80, as illustrated in a block 154. In one embodiment, the non-instream foreign object is provided �back� to the XSLFO processor 78, or the XSLFO processor is notified that a particular node in the XSLFO area node tree 140 is suitable for processing by it.
Processing of a node in the XSLFO area node tree 140 containing a non-instream foreign object may be processed by the XSLFO processor 78, as described above. Of course, different commercially available XSLFO processors render text, for example, into different formats. For example, the XSLFO processor referred to as �XSL Formatter� available from Antenna House Corporation, as described above, renders a node into a WINDOWS �device-independent bitmap� format. The XSLFO processor referred to as �XEP� available from RenderX Corporation, as described above, renders a node into �PDF� format, and the XSLFO processor referred to as �FOP� available from the Apache Software Foundation, as described above, may also render a node into �PDF� format.
Preferably, the XML system 10 utilizes the �FOP� XSLFO processor 78 available from the Apache Software Foundation because this XSLFO processor may be configured to �call� a subroutine or other processing function when it encounters an instream foreign object that it is not capable of processing. In particular, this XSIFO processor 78 may be set to call the rendering engine software block 80 described herein, to handle the instream foreign object that it is not capable of processing.
Next, as shown in a block 160, if the node contains an instream foreign object representing a barcode or RFID transponder, which is not capable of being processed by the XSLFO processor 78, the rendering engine 80 checks to determine if the instream foreign object has a �namespace� specific to this XML system 10. For example, the rendering engine 80 may check to determine if the namespace associated with the instream foreign object corresponds to the �Zebra corporation namespace.� The namespace notation is known in the art. This is shown in line 3 of the code segment 4 as �xmlns:bo=�http://www.zebra.com/2002/XSL/Barcode�>� Thus, as shown in the code segment 4, the namespace defined above is applied to any elements having a �bo� prefix. Such elements having a �bo� prefix are then only available for processing by the rendering engine 80, which �bo� prefix type elements correspond to a barcode-type instream foreign object. The XSLFO processor 78 will not �know� how to process such elements.
Assuming that instream foreign object has the appropriate namespace, a block 170 interprets the elements in the instream foreign object to determine barcode type. For example, the instream foreign object is shown at lines 21-26 the code segment 4. More specifically, the barcode element having a prefix of �bo,� indicating the correct namespace corresponding to a barcode, is shown to have a barcode type of �postnet,� as shown in line 23-24 of the code segment 4, which appears as <bo:postnet interpretation-line=�none�>08540</bo:postnet>. Note that lines 41-42 of the code segment 4 show a similar barcode element for another instream foreign object, namely, the next barcode label to be printed, which corresponds to the address of �Steven Hawking� shown in code segment 1.
Any barcode type may be specified in the instream foreign object depending upon the application. The barcode type is based upon known barcode standards. For example, the barcode type is not limited to a postnet type of barcode symbol, and may be, for example, Industrial 2 of 5,� �PDF 417,� �UPC,� and the like. The barcode �type� specifies the basic structure of the barcode symbol to be printed, such as the thickness of the bars, the ratio of the thickness of the bars to the width of the space between bars, and the like. Each specific known barcode standard is concretely defined.
Next, after the barcode type has been ascertained from the instream foreign object, the attributes of the instream foreign object are interpreted to determine the barcode characteristics, as shown in a block 176. The characteristics may modify the way in which the barcode symbol is created. For example, one attribute of the �postnet� type barcode may be seen at lines 23-24 of the code segment 4 as �interpretation-line=�none�� As is known in the art, �interpretation-line=�none�� means that no corresponding human readable text is generated along with the specific barcode symbol. Another example of an attribute associated with the barcode element may be the height of the barcode symbol, which may also be specified in the instream foreign object as an attribute.
Using the barcode type and the attributes obtained from the instream foreign object, the rendering engine 80 then obtains the actual node text data to be converted into the barcode symbol, as shown in a block 180. In this example, the actual barcode data is the zip code �08540,� as is shown between reverse angled brackets (>80540<) in line 24 of the code segment 4. The physical conversion from the numerical data �80540� into the bitmap representing the lines or bars of the barcode symbol (for a linear barcode, for example) may be performed by software routines contained in, for example, the barcode label printers commercially available from Zebra Corporation. Such suitable barcode printers may be models Xi series barcode printers (90XiIII Plus, 96xiIII Plus, 140XiIII Plus, 170XiIII Plus, 220XiIII Plus, etc.), the 2800 Series barcode printers, model Z4M, Z6M, 105SL barcode printers, and the like. Such software routines or �native algorithms� contained in barcode printers commercially available from Zebra Corporation are very efficient, and thus the barcodes are rendered quickly.
Once the bitmap representing the barcode symbol has been generated by the block 180, that bitmap is then placed into or merged with the �master� or �label� bitmap 184, which label bitmap represents the image of the entire shipping label, as shown in a block 182. The shipping label contains the human readable text, other text or characters, and the barcode symbol. Note that the aforementioned bitmaps may be separate, i.e., bitmaps for text and a bitmap for the barcode symbol, or one master bitmap may be used or �populated� as processing progresses. In that regard, note that the tree or data structure upon which the rendering engine 80 operates is referred to as the �XSLFO area node tree,� meaning that it contains different �areas.� Such areas may correspond to different or individual bitmaps or bitmap portions. However, any number of suitable bitmap structures may be used. The exact structure or configuration of the bitmap, or the number of bitmaps is not relevant to the scope of the present invention.
For example, the XSLFO processor 78 when generating text, may place �its� text in one particular bitmap. Such text may correspond to the name �Albert Einstein� discussed above. Because this text will also be printed on the shipping label along with the barcode symbol, the �master� or �label� bitmap 184 will contain all of the component bitmaps. The final �master� bitmap 184 is then sent to the printer driver 54 (FIG. 1) so that the shipping label may be printed.
Referring back to block 170, assuming that the instream foreign object has the appropriate namespace, if the instream foreign object is not a barcode type, then block 170 interprets the elements in the instream foreign object to determine if it is an RFID type. Just like any barcode type may be specified in the instream foreign object, as set forth above, any RFID transponder type may be specified in the instream foreign object as well, depending upon the application. The RFID transponder type is based upon known RFID standards. For example, the RFID type is not limited to an ISO 15693 type of RFID encoding, and may be, for example, a Tag-it or I�Code type of RFID encoding, and the like. The RFID type specifies the basic structure of the RFID data to be encoded, such as the data storage capacity, data addressing scheme, transmit frequency, receive frequency, proprietary features such as serial numbering and data locking, and the like. Each specific known RFID standard is concretely defined, as set forth above.
Using the RFID transponder type and the attributes obtained from the instream foreign object, the rendering engine 80 then obtains the actual node text data to be converted into the RFID transponder encoding, as shown in a block 185. For example, the actual RFID encoding may be the zip code �08540,� which may be placed as ASCII characters in blocks 0 and 1 of a Tag-it transponder (since each block of a Tag-it holds 4 bytes of data). A Tag-it transponder can hold 8 blocks each with 4 bytes of data for a total of 32 bytes of user data. The physical conversion from the numerical data representing the actual RFID encoded data into the form suitable for encoding into the RFID transponder may be performed by software routines contained in, for example, the printers and systems commercially available from Zebra Corporation.
For example, several barcode printer/encoders may be used, such as Model R-140 and Model R402, and the like. Such software routines or �native algorithms� contained in systems commercially available from Zebra Corporation are very efficient, and thus the barcodes and RFID transponder encoding are rendered quickly.
Once the RFID transponder encoding has been generated by the block 185, an RFID-specific data structure is rendered, as shown in a block 187. This block renders the RFID-specific data structure to the RFID transponder using the native RFID printer algorithms, as described above, to control the RFID transceiver 61 (FIG. 1) to read and encode the RFID transponder 62 (FIG. 2). This essentially �programs� the RFID transponder, much in the same way as a programmable memory device is programmed.
Referring now to FIG. 6, an alternate embodiment is shown. Like reference numbers are used to denote like structures. In this specific embodiment, the XML system 10 need not include or specifically utilize the XML printer apparatus in all instances. In this embodiment, for example, an external requestor 194 may desire to have an XML input data stream rendered into a bitmap so that it can print the barcode label, which may be done remotely. Alternately, the external requester 194 may request that an RFID transponder be encoded. Accordingly, the external requester 194 may send a request to the XML server 200 over the Internet or other network 43, 44. The request may be in the same form as the XML input data stream described above with respect to FIGS. 1-3 and code segments 1-4. The request may also be in the form of a protocol that contains XML data, such as SOAP (Simple Object Access Protocol) as is known in the art.
In response, the computer system 12 of the XML server 200 may process the XML input data stream. All of the same processing functions described above are carried out in this embodiment, except that with respect to barcodes and the like, the bitmap is not sent to the printer driver. Rather, the bitmap is converted to any suitable format, such as �JPEG� or �PNG� format, as is known in the art. The JPEG or PNG file is then sent back to the external requestor 194, who then formats the JPEG or PNG file for the appropriate printer driver, and prints and/or displays the barcode label. With respect to RFID transponders, the encoded data may be sent back to the requestor in the form of a data file. Any suitable form or format of data file may be used. Accordingly, the present invention may function as a barcode rendering server and/or an RFID rendering server, and need not necessarily directly perform the printing or encoding functions. Alternatively, the output representation of the data, may be in Scalable Vector Graphic format (SVG), which format is defined by appropriate industry standards.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5527407Dec 30, 1992Jun 18, 1996The Goodyear Tire & Rubber CompanyApparatus and method for marking a rubber article with a message readable by a light scanning deviceUS5860068Dec 4, 1997Jan 12, 1999Petabyte CorporationMethod and system for custom manufacture and delivery of a data productUS6154378Mar 23, 1999Nov 28, 2000Lockheed Martin CorporationPolyphase inverter with neutral-leg inductorUS6226675Oct 16, 1998May 1, 2001Commerce One, Inc.Participant server which process documents for commerce in trading partner networksUS6246326May 5, 1999Jun 12, 2001Intermec Ip Corp.Performance optimized smart label printerUS6289501Mar 31, 1999Sep 11, 2001Unisys Corp.Method for generating simple document type definitionsUS6305605Aug 9, 1999Oct 23, 2001John W. GoetzMultiple-casualty incident patient trackingUS6449620Mar 2, 2000Sep 10, 2002Nimble Technology, Inc.Method and apparatus for generating information pages using semi-structured data stored in a structured mannerUS6457883Jun 30, 2000Oct 1, 2002Silverbrook Research Pty LtdInteractive printer reward schemeUS6487566Oct 5, 1998Nov 26, 2002International Business Machines CorporationTransforming documents using pattern matching and a replacement languageUS6507856Jan 5, 1999Jan 14, 2003International Business Machines CorporationDynamic business process automation system using XML documentsUS6539422May 3, 1999Mar 25, 2003Intermec Ip Corp.Automatic data collection device having a network communications capabilityUS6540142Jul 17, 2002Apr 1, 2003Zih Corp.Native XML printerUS6568596Oct 2, 2000May 27, 2003Symbol Technologies, Inc.XML-based barcode scannerUS6600418Dec 12, 2000Jul 29, 20033M Innovative Properties CompanyObject tracking and management system and method using radio-frequency identification tagsUS6655593Jan 21, 2003Dec 2, 2003Zih Corp.Native XML printerUS6764009May 30, 2002Jul 20, 2004Lightwaves Systems, Inc.Method for tagged bar code data interchangeUS6793127Apr 4, 2001Sep 21, 2004Koninklijke Philips Electronics N.V.Internet enabled resource constrained terminal for processing tagsUS6908034 *Jun 20, 2003Jun 21, 2005Zih Corp.XML systemUS6925631Dec 8, 2000Aug 2, 2005Hewlett-Packard Development Company, L.P.Method, computer system and computer program product for processing extensible markup language streamsUS7025268Nov 13, 2002Apr 11, 2006Zih CorporationXML printer systemUS7126716Aug 18, 2000Oct 24, 2006Zih Corp.Printer for printing labels, tags or the likeUS7172122Dec 13, 2004Feb 6, 2007Zih Corp.XML systemUS7267279May 18, 2004Sep 11, 2007Tripletail Ventures, Inc.Method for tagged bar code data interchangeUS7339690 *Jun 20, 2002Mar 4, 2008Fargo Electronics, Inc.Identification card printer with client/serverUS7407102Feb 10, 2006Aug 5, 2008Zih Corp.XML printer systemUS7600685May 17, 2004Oct 13, 2009Zih Corp.XML printer system with RFID capabilityUS7630908 *May 1, 2000Dec 8, 2009John AmrienWireless electronic prescription scanning and management systemUS20020112224Jan 31, 2001Aug 15, 2002International Business Machines CorporationXML data loadingUS20030058469Sep 26, 2001Mar 27, 2003International Business Machines CorporationMethod and apparatus for printing XML directly using a formatting templateUS20030061947Oct 1, 2001Apr 3, 2003Hohberger Clive P.Method and apparatus for associating on demand certain selected media and value-adding elementsUS20030090712Jun 20, 2002May 15, 2003Lenz Gary A.Identification card printer with client/serverUS20060138227 *Feb 10, 2006Jun 29, 2006Zih Corp.XML printer systemUS20060249566 *May 17, 2004Nov 9, 2006Zih CorporationXml printer system with rfid capabilityJP2002103746A Title not availableTW578064B Title not availableWO2001006345A1Jul 12, 2000Jan 25, 2001Fargo Electronics IncIdentification card printer with client/serverWO2001030581A1Oct 27, 2000May 3, 2001Zebra Technologies CorpPrinter programming tool and methodWO2003052658A1Nov 13, 2002Jun 26, 2003Zih CorpXml printer systemWO2005122057A1May 17, 2004Dec 22, 2005Zih CorpXml printer system with rfid capability* Cited by examinerNon-Patent CitationsReference1Anderegg, J. U.: "SVG and Image "Caching"-Page Fore-/Backgrounds-Transparency" FOP-DEV Mailing List Jan. 24, 2003, Downloaded at: http://mail-archives.apache.org/mod-mbox/xmlgraphics-fop-dev/200301.mbox/%3cLOEDKBFMBBGFAPEJNBCOEEAACHAA.hansuli.anderegg@bluewin.ch%3e; Jul. 14, 2010; 3 sheets.2Anderegg, J. U.: "SVG and Image "Caching"�Page Fore-/Backgrounds�Transparency" FOP-DEV Mailing List Jan. 24, 2003, Downloaded at: http://mail-archives.apache.org/mod�mbox/xmlgraphics-fop-dev/200301.mbox/%3cLOEDKBFMBBGFAPEJNBCOEEAACHAA.hansuli.anderegg@bluewin.ch%3e; Jul. 14, 2010; 3 sheets.3Application Development Trends, Apr. 1999, XML The Last Silver Bullet, J. Vaughan (4 page magazine article).4Auto-ID Center Uses Physical Markup Language in Radio Frequency Identification (RFID) Tag Technology, Cover Pages, http://xml.coverpages.org/ni2001-11-21-c.html, created Nov. 21, 2001.5B�hm, Klemens; "On Extending the XML Engine with Query-Processing Capabilities"; Proceedings of the IEEE Advances in Digital Libraries; 2000; IEEE Computer Society Washington, DC, USA; pp. 127-138.6Chicago Tribune, Dec. 4, 2000, New computer Language to Streamline Business-to-Business e-commerce (1 page).7Extended Search Report for European Patent Application No. 10 18 3493 completed Mar. 18, 2011; 7 pages.8Infoworld, Sep. 4, 2000, www.infoworld.com, EDI-to-XML Conversions Getting a Boost, Ephraim Schwartz (1 page magazine article).9International Business Machines Corporation, "A Process For Optimized Application Of XSL Stylesheets For Use With Partially Static XML Data Streams", Research Disclosure, Mason Publications, whole document, Apr. 2000, vol. 432, No. 179.10International Search Report-International Application No. PCT/US02/36322, dated Dec. 19, 2002.11International Search Report�International Application No. PCT/US02/36322, dated Dec. 19, 2002.12JetForms XFA-JetForm XML Forms Architecture XFA.ORG (17 pages) (as earlyl as Dec. 17, 2000).13JetForms XFA�JetForm XML Forms Architecture XFA.ORG (17 pages) (as earlyl as Dec. 17, 2000).14JetForms XML Forms Architecture XFA.COM (10 pages) (as early as Dec. 17, 2000).15Kay M., "XSLT Part 2-How Does XSLIT Transform XML?", Internet Citation, http://web.archive.org/web/20011124080629/http://tutorials.beginners.co.uk/read/id/143, Nov. 24, 2001 (retrieved on May 25, 2004).16Kay M., "XSLT Part 2�How Does XSLIT Transform XML?", Internet Citation, http://web.archive.org/web/20011124080629/http://tutorials.beginners.co.uk/read/id/143, Nov. 24, 2001 (retrieved on May 25, 2004).17Office Action issued in U.S. Appl. No. 11/774,152; Mail Date: Aug. 4, 2010; 10 pages.18Office Action mailed Sep. 29, 2010, for U.S. Appl. No. 12/551,953.19Sandstrom, A: "Announce: FOP 0.16 Release"XSL-List Mailing List Jan. 2, 2001; Downloaded at: URL:http://xml.coverpages.org/fop16-Ann.html; Jul. 14, 2010; 2 sheets.20Search Report for European Patent Application No. 10 18 4234 dated Jan. 21, 2011; 8 pages.21Toshiba TEC Corporation Bar Code Systems Engineering Dept., Web Printer XML Function, Sep. 20, 2000 (7 page power point presentation).22Toshiba TEC Corporation-"Toshiba TEC Thermal Printer B-482: Vertual Experience" 1999, Toshiba TEC Corporation-1 page.23Toshiba TEC Corporation, "Toshiba TEC Introduces B482 with the following invaluable network capability," (1999) Products Information Barcode Printer/Network/LAN/WEB/Toshiba TEC 2 pages.24Toshiba TEC Corporation�"Toshiba TEC Thermal Printer B-482: Vertual Experience" 1999, Toshiba TEC Corporation�1 page.25X Marks The Spot, Apr. 1999, D. Andrews, website article http://www.idsystems.com/reader/1999-04infolink/xml10499.htm (3 page website article).26X Marks The Spot, Apr. 1999, D. Andrews, website article http://www.idsystems.com/reader/1999�04infolink/xml10499.htm (3 page website article).Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8393540 *Jun 10, 2011Mar 12, 2013Zih Corp.XML printer system with RFID capabilityUS8459555 *May 6, 2011Jun 11, 2013Zih Corp.XML systemUS8544746Jun 14, 2011Oct 1, 2013Zih Corp.XML printer systemUS20110303749 *May 6, 2011Dec 15, 2011Zih Corp.Xml systemUS20110303752 *Jun 10, 2011Dec 15, 2011Zih Corp.Xml printer system with rfid capabilityUS20120081747 *Oct 3, 2011Apr 5, 2012Seiko Epson CorporationPrinter with rfid writer, control method, and system for producing print media with an rfid tag* Cited by examinerClassifications U.S. Classification235/462.01, 235/375International ClassificationG06K7/10, G06K1/12, G06F3/12, G06F17/22, G06F15/12, G06FCooperative ClassificationG06K17/00, G06K17/0025, G06F17/2247, G06F17/00, G06F3/1206, G06F3/1243, G06F3/1246, G06F17/227, G06F3/1285, G06K1/121, G06K7/10European ClassificationG06K17/00, G06K17/00G1, G06F3/12J, G06K1/12B, G06F17/22T2, G06F3/12A6R, G06F3/12A4M20H, G06F3/12A4M18V, G06F3/12A2A14, G06F17/22MLegal EventsDateCodeEventDescriptionMar 6, 2012CCCertificate of correctionRotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google