An XPATH Processing Engine for Virtual Token Descriptor

碩士 === 國立臺灣大學 === 電機工程學研究所 === 97 === XML (Extensible Markup Language) has been globally used as the most common. XML is a standard exchange format between diverse software because of its extensible characteristic. However, it is important and frequent that the content of XML document must be added,...

Full description

Bibliographic Details
Main Authors: Wei-Shian Chang, 張維獻
Other Authors: 王勝德
Format: Others
Language:zh-TW
Published: 2009
Online Access:http://ndltd.ncl.edu.tw/handle/64156662318077998122
Description
Summary:碩士 === 國立臺灣大學 === 電機工程學研究所 === 97 === XML (Extensible Markup Language) has been globally used as the most common. XML is a standard exchange format between diverse software because of its extensible characteristic. However, it is important and frequent that the content of XML document must be added, deleted, or navigated. XPATH is a language for finding information in an XML document. It describes location of specific XML element or attribute. Virtual Token Descriptor (VTD) is a new technique of processing XML. We proposed an XPATH processing architecture that is based on a kind of data structure of VTD. In my architecture, the front stage is XPATH Parser module and back stage is Execution Engine module. There are many small parsing finite state machines (FSMs) for XPATH syntax in XPATH Parser module, these FSMs are parallel circuits and two stages pipeline design. XPATH Parser module performance can process 114Mbyes per second. The back stage is Execution Engine module, it executes operation codes that are from the front stage, searches VTD table, and finds correct VTD offsets method. This thesis presents a hardware implementation of the VTD XPATH processor for XML language; it can parse the XPATH expression into operation codes, then it decode and execute these operation codes to get the resultant value. It is capable of retrieving information in an XML document in a speed of searching. The proposed XPATH Processing Engine (XPE) is 20 times faster than the software counterpart.