KR20050016595A - A method and apparatus for processing electronic forms for use with resource constrained devices - Google Patents

A method and apparatus for processing electronic forms for use with resource constrained devices

Info

Publication number
KR20050016595A
KR20050016595A KR10-2004-7020736A KR20047020736A KR20050016595A KR 20050016595 A KR20050016595 A KR 20050016595A KR 20047020736 A KR20047020736 A KR 20047020736A KR 20050016595 A KR20050016595 A KR 20050016595A
Authority
KR
South Korea
Prior art keywords
xforms
processing
xml
engine
limited
Prior art date
Application number
KR10-2004-7020736A
Other languages
Korean (ko)
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Priority to KR10-2004-7020736A priority Critical patent/KR20050016595A/en
Publication of KR20050016595A publication Critical patent/KR20050016595A/en

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

무선 전화, 개인 휴대 단말기(PDA), 스마트 리모트 컨트롤, 또는 다른 인터넷 인에이블 처리 디바이스는 W3C 권고된 XForms 표준의 지정된 서브셋을 지원하는 스케일러블 전자 폼(electronic forms) 처리 엔진을 포함한다. 이 지정된 서브셋은 이 디바이스의 연산 능력과 메모리 용량에 기초하여 주어진 디바이스에 대해 선택될 수 있다. 유리하게도, 본 발명은 "얇은" 디바이스로 하여금 완전한 W3C 권고된 XForms 표준의 구현을 요구하지 않고도 전자 Form을 처리할 수 있게 한다.Wireless telephones, personal digital assistants (PDAs), smart remote controls, or other Internet enabled processing devices include a scalable electronic forms processing engine that supports a designated subset of the W3C recommended XForms standard. This specified subset can be selected for a given device based on the computing power and memory capacity of this device. Advantageously, the present invention allows a "thin" device to process electronic forms without requiring the implementation of the full W3C recommended XForms standard.

Description

자원 제약된 디바이스에 사용하기 위해 전자 폼을 처리하는 방법 및 장치{A METHOD AND APPARATUS FOR PROCESSING ELECTRONIC FORMS FOR USE WITH RESOURCE CONSTRAINED DEVICES}A METHOD AND APPARATUS FOR PROCESSING ELECTRONIC FORMS FOR USE WITH RESOURCE CONSTRAINED DEVICES

본 발명은 일반적으로 데이터 처리에 관한 것이다. 구체적으로, 본 발명은 인터넷과 같은 컴퓨터 네트워크 상에서 전자 폼(electronic forms)을 처리하기 위한 XML 기반 스케일러블 폼 엔진에 관한 것이다.The present invention generally relates to data processing. In particular, the present invention relates to an XML-based scalable form engine for processing electronic forms on a computer network, such as the Internet.

종이 파일(paper sheet)나 웹 페이지에 상관없이, 폼은 구조화된 데이터의 교환을 나타낸다. 인터넷 상황에서, 폼은 유저로 하여금 웹 서버와 대화할 수 있게 하는 간단한 방법이다. 폼을 사용하도록 선택하는 이유는 많다. 가장 간단한 폼은 유저로부터 피드백을 간청하기 위해 종종 생성된다. 보다 복잡한 폼은 유저로 하여금 은행 계정의 잔고를 체크하고, 항공사의 티켓을 구매하며 그 이메일을 체크할 수 있도록 한다. 웹 상에서, 폼은, 검색 엔진, 투표, 여론 조사, 전자 상거래, 및 심지어 온라인 어플리케이션에 흔히 사용되고 있다.Regardless of paper sheet or web page, a form represents an exchange of structured data. In the Internet context, forms are a simple way for users to talk to a web server. There are many reasons to choose to use a form. The simplest form is often created to solicit feedback from the user. More complex forms allow users to check their bank account balances, purchase airline tickets, and check their emails. On the web, forms are commonly used in search engines, voting, polls, e-commerce, and even online applications.

현재, 확장성 하이퍼텍스트 생성 언어(XHTML : extensible hypertext markup language) 기반 폼은 유저의 입력을 포착하기 위해 사용된다. XHTML 폼을 사용하여, 유저는 웹 페이지를 방문하며, 이 페이지에 정보를 추가하며 이 페이지를 웹 서버에 제출할 수 있다. 전자 상거래로부터 취해진, 하나의 매우 일반적인 예는, 유저가 쇼핑 리스트로부터 물품(items)을 주문하는데 XHTML 폼에 기입할 때이다.Currently, extensible hypertext markup language (XHTML) based forms are used to capture user input. Using an XHTML form, a user can visit a web page, add information to it, and submit the page to a web server. One very common example, taken from electronic commerce, is when a user fills out an XHTML form to order items from a shopping list.

도 1 은 고객의 데이터를 서버로 송신될 수 있게 해주는 예시적인 XHTML 폼에 대한 XHTML 코드를 예시한다. 이 입력 구성요소(10 내지 12)는 유저로부터 텍스트 폼으로 데이터를 수집한다. 이 데이터는 폼 구성요소(미도시)에 의하여 처리될 URL (Uniform Resource Locator)로 송신되도록 명령받는다. URL은 데이터를 처리할 준비가 된 서버 어플리케이션을 지시한다. 도 1에 도시된 바와 같은 웹 상에서 물품을 주문하는데 XHTML 폼을 사용하는 것의 하나의 단점은, 복잡한 거래(transaction)의 증가로 XHTML 폼의 한계가 초과되기 시작하고 있다는 것이다. 웹 상에서 전자 상거래가 증가함에 따라 데이터를 교환하는 방법도 더 복잡해질 필요성이 또한 증가한다. 예를 들어, A 회사가 B 회사와 구매 주문을 하기를 원할 수 있다. 그러나, A 회사는 그 교환시에 일정 조건을 두기를 원할 수 있다. 공통 언어 없이는 이 처리는 어려우며 복잡한 프로그래밍을 필요로 한다. 데이터 교환의 한계 외에, 오늘날 XHTML 폼에 관한 다른 우려가 있는데, 예를 들어, 프리젠테이션으로부터 데이터를 분리시킬 수 있는 능력이 없다는 것이다. 현재 폼 제어는 수반되는 데이터 가까이에 프리젠테이션을 묶어둔다. 이것이 도 1에 도시된 바와 같은 간단한 폼으로는 심각한 문제를 야기하지 않을 수 있지만, 이것은, 대 기업에 대한 전자 상거래를 성립시키는데 복잡한 폼이 필요할 때에는 성가실 수 있다. 1 illustrates the XHTML code for an example XHTML form that allows a customer's data to be sent to a server. These input components 10-12 collect data from the user in text form. This data is instructed to be sent to a Uniform Resource Locator (URL) to be processed by a form component (not shown). The URL points to a server application ready to process the data. One disadvantage of using XHTML forms to order items on the web as shown in FIG. 1 is that the limits of XHTML forms are beginning to be exceeded due to the increased complexity of transactions. As e-commerce on the Web increases, the need for more complex methods of exchanging data also increases. For example, company A may want to place a purchase order with company B. However, Company A may wish to have certain conditions in its exchange. Without a common language, this process is difficult and requires complex programming. In addition to the limitations of data exchange, there are other concerns about XHTML forms today, such as the inability to separate data from presentation. Current form controls keep the presentation close to the data involved. While this may not cause serious problems with a simple form as shown in FIG. 1, this can be cumbersome when complex forms are needed to establish e-commerce for a large company.

폼이 많은 웹 사이트에 의해 사용되는 상호작용의 주요 수단을 나타내는 웹의 중요한 부분으로 계속 존재하기 때문에, 웹 어플리케이션과 전자 상거래 솔루션은 더 풍부한 상호작용을 갖는 더 우수한 웹 폼에 대한 요구를 유발시킨다. 이 우려를 처리하기 위해, 월드와이드 웹 협회(W3C : worldwide web consortium)는, 확장성 생성 언어(XML : extensible markup language)에 기초를 둔, XForms 1.0 이라고 불리우는 웹 폼의 새로운 3 파트 표준을 도입하였다. XForms 1.0은 XForms 프로세서와 원격 개체(remote entity) 사이에 온라인 상호작용을 하기 위한 새로운 플랫폼에 독립한 생성 언어의 생성을 가능하게 한다. XForms은 XHTML 폼에 이은 후임자이며, XHTML 폼을 구현하는 수 년의 경험으로 배운 교훈으로부터 이익을 얻는다. XForms에 대한 추가적인 상세 사항은, http://www.w3.org/MarkUp/Forms에서 반포된 "XForms-the Next Generation of WebForms" (W3C 5/10/2002)에서 그리고 www.w3.org/TR/xforms에서 반포된 "XForms 1.0"(W3C Working Draft, 2002년 1월 18일)에서 찾아 볼 수 있으며, 이들은 각각 본 명세서에 참조 문헌으로 병합되어 있다. XForms 은 웹에 대한 다음 세대의 폼을 나타낸다. XForms의 주요 목적은 XHTML 기반 폼의 전술된 단점을 극복하기 위해 유저에 대한 데이터 프리젠테이션으로부터 데이터를 분리시키는 것이다. XForms 은 데이터와 논리로부터 유저 인터페이스를 분리시킬 수 있으며, 이론적으로, 컴퓨터 데스크톱, 개인 휴대 단말기(PDA), 또는 모바일 폰이 충분한 메모리 용량과 처리 능력을 가지고 있는 한, 동일한 폼이 이 컴퓨터 데스크톱, 개인 휴대 단말기(PDA), 또는 모바일 폰 상에서 유저에 의해 완성될 수 있게 해준다.As forms continue to be an important part of the Web, representing the primary means of interaction used by many Web sites, Web applications and e-commerce solutions drive the need for better web forms with richer interactions. To address this concern, the worldwide web consortium (W3C) introduced a new three-part standard for web forms called XForms 1.0, based on extensible markup language (XML). . XForms 1.0 allows the creation of a new platform-independent creation language for on-line interactions between XForms processors and remote entities. XForms is the successor to XHTML forms and benefits from lessons learned from years of experience implementing XHTML forms. Further details on XForms can be found in the "XForms-the Next Generation of WebForms" (W3C 5/10/2002), available at http://www.w3.org/MarkUp/Forms and at www.w3.org/TR "XForms 1.0" (W3C Working Draft, Jan. 18, 2002), distributed at / xforms , each of which is incorporated herein by reference. XForms represents the next generation of forms for the Web. The main purpose of XForms is to separate the data from the data presentation to the user in order to overcome the aforementioned disadvantages of XHTML-based forms. XForms can separate the user interface from data and logic, and in theory, the same form can be used on this computer desktop, personal as long as the computer desktop, personal digital assistant (PDA), or mobile phone has sufficient memory capacity and processing power. It can be completed by the user on a portable terminal (PDA), or mobile phone.

XForms은 대화식 웹 트랜잭션을 처리하는 훨씬 더 풍부한 프리젠테이션에 독립적인 방법을 제공할 수 있다. 전통적인 XHTML 폼을 3개의 파트- 데이터 모델, 인스턴스 데이터, 및 유저 인터페이스(프리젠테이션) 파트로 분리시키는 것에 의해 XForms 은 폼의 데이터와 논리를 그 프리젠테이션에서 분리시켜 XHTML 기반 폼의 전술된 제한 사항을 극복한다. 이런 방식으로, 폼 데이터는 최종 유저가 어플리케이션과 대화하는 방법에 상관없이 규정될 수 있다. 이것은 유연한 프리젠테이션 옵션을 허용한다. XForms can provide a much richer presentation-independent way of handling interactive web transactions. By separating traditional XHTML forms into three part-data models, instance data, and user interface (presentation) parts, XForms separates the form's data and logic from its presentation, breaking the aforementioned limitations of XHTML-based forms. Overcome In this way, form data can be defined regardless of how the end user interacts with the application. This allows for flexible presentation options.

도 2 는 일반적으로 데이터와 논리로부터 XForms의 프리젠테이션 측면을 분리하는 것을 도시하며, 그리고 보다 상세하게는, XForms의 개개 모델 항목, 제약 사항, 다른 실행 시간 측면을 한정하는, XForms Data Model 22라고 불리우는, 하나의 디바이스 독립적인 XML 비가시적인 폼 정의가, XForms 유저 인터페이스(24), 확장성 하이퍼텍스트 생성 언어(XHTML) 인터페이스(26), 무선 생성 언어(WML : wireless markup language) 인터페이스(27)와 다른 전용 인터페이스(28)와 같은, 여러 표준 또는 전용 유저 인터페이스와 어떻게 동작할 수 있는지를 도시한다. FIG. 2 generally illustrates the separation of presentation aspects of XForms from data and logic, and more specifically, called XForms Data Model 22, which defines individual model items, constraints, and other runtime aspects of XForms. A device independent XML invisible form definition is different from the XForms user interface 24, the extensible hypertext generation language (XHTML) interface 26, and the wireless markup language (WML) interface 27. It illustrates how it can work with various standard or dedicated user interfaces, such as dedicated interface 28.

권고된 XForms 1.0에 기초를 둔 XForms 엔진은 XML 문서를 용이하게 처리하는 역할을 하며, 완전한 권고된 XForms 1.0과 호환되도록 구성되어, 비교적 대규모 소프트웨어 콤포넌트를 필요로 한다. 종래의 XForms 엔진의 하나의 단점은, 그 사이즈로 인해, 이들이 특징적으로 제한된 처리 능력과 메모리를 가지고 있는 "얇은" 디바이스(thin devide)에 사용하기에 적합하지 못하다는 것이다. 그러한 얇은 디바이스는, 예를 들어, 개인 휴대 단말기(PDA), 셀룰러 전화, 셋톱 박스, 또는 다른 인터넷 인에이블되는 "얇은" 처리 디바이스(thin processing device)를 포함할 수 있다. The XForms engine, based on the recommended XForms 1.0, facilitates the processing of XML documents and is configured to be fully compatible with the recommended XForms 1.0, requiring relatively large software components. One disadvantage of conventional XForms engines is that, due to their size, they are not suitable for use in "thin devide" devices that have characteristically limited processing power and memory. Such thin devices may include, for example, personal digital assistants (PDAs), cellular telephones, set top boxes, or other "thin" processing devices that are enabled for the Internet.

그리하여, "얇은" 디바이스에 사용하기에 적합한 W3C XForms 1.0의 서브셋에 기초하고, 그러한 디바이스의 처리 및 메모리 제한 특성을 극복하는 XForms 엔진에 대한 필요성이 존재한다.Thus, there is a need for an XForms engine that is based on a subset of W3C XForms 1.0 suitable for use in "thin" devices and that overcomes the processing and memory limitations of such devices.

도 1 은 종래 기술에 따라 고객 데이터가 서버로 송신될 수 있게 하는 XHTML 폼을 디스플레이 하는 XHTML 코드를 예시하는 도면.1 illustrates XHTML code displaying an XHTML form that allows customer data to be sent to a server in accordance with the prior art.

도 2 는 종래 기술의 일 실시예에 따라 XML 기반 전자 폼 처리 시스템에서 프리젠테이션으로부터 폼을 분리하는 것을 예시하는 도면.2 illustrates separating a form from a presentation in an XML based electronic form processing system according to one embodiment of the prior art.

도 3 은 본 발명의 마이크로 XForms 엔진이 구현될 수 있는 처리 디바이스의 일례를 도시하는 도면.3 illustrates an example of a processing device in which the micro XForms engine of the present invention may be implemented.

도 4 는 본 발명의 마이크로 XForms이 구현될 수 있는 인터넷 기반 통신 시스템의 일례를 도시하는 도면.4 illustrates an example of an internet based communication system in which micro XForms of the present invention may be implemented.

도 5a는 종래 기술에 따라 구성된 다수의 완전한 XML 기반 표준을 포함하는 XForms 스택을 도시하는 도면.5A illustrates an XForms stack that includes a number of complete XML based standards constructed in accordance with the prior art.

도 5b는 본 발명의 원리에 따라 구성된 다수의 감소된 XML 기반 표준을 포함하는 XForms 스택을 도시하는 도면.5B illustrates an XForms stack that includes a number of reduced XML-based standards constructed in accordance with the principles of the present invention.

도 6 은 인터넷 네트워크 상황에서 구현되는 본 발명의 마이크로 XForms 엔진을 도시하는 도면.6 illustrates the micro XForms engine of the present invention implemented in an internet network context.

도 7 은 얇은 디바이스에서 전자 폼을 수신할 때 XForms 모델을 생성하는 것과 연관된 데이터 흐름을 예시하는 데이터 흐름도.7 is a data flow diagram illustrating the data flow associated with generating an XForms model when receiving an electronic form in a thin device.

도 8 은 UI 입력 필드를 XPath 표현과 연결하기 위해 XPath 연결이 실현되는 방법의 예시적인 예를 도시하는 도면.8 shows an illustrative example of how an XPath connection is realized to link a UI input field with an XPath representation.

본 발명은, "얇은" 디바이스, 즉 제한된 처리 및 메모리 제약을 가지고 있는 디바이스에 사용하기에 적합한 스케일러블 XForms 엔진을 제공하는 것에 의해 종래 기술의 전술된 하나 이상의 문제를 해결한다. 여기서 마이크로 XForms 엔진이라고 부르는 이 스케일러블 XForms 엔진은, 월드와이드 웹 협회 (W3C) XForms 1.0의 지정된 서브셋을 포함한다는 점에서 스케일러블(scalable)하고 여기서 이 지정된 서브셋은 얇은 디바이스의 처리 및 메모리 제약에 적합하다. The present invention solves one or more of the above mentioned problems of the prior art by providing a scalable XForms engine suitable for use in "thin" devices, ie devices with limited processing and memory constraints. This scalable XForms engine, referred to herein as the micro XForms engine, is scalable in that it includes a specified subset of the World Wide Web Association (W3C) XForms 1.0, which is suitable for processing and memory constraints in thin devices. Do.

본 발명의 일 측면에 따라, XML 기반 전자 폼은, 본 발명의 마이크로 XForms 엔진을 얇은 디바이스의 제한된 메모리에 포함하는 것에 의해, 제한된 처리 및 저장 능력을 가지는 소위 "얇은" 디바이스에 의해 처리하기에 적합하게 된다.According to one aspect of the present invention, XML-based electronic forms are suitable for processing by so-called "thin" devices having limited processing and storage capabilities by including the micro XForms engine of the present invention in a limited memory of thin devices. Done.

본 발명에 따라 전자 폼을 처리하는 방법은, 완전한 XForms 1.0의 지정된 서브셋에 기초한 XForms 엔진을 사용하여 확장성 생성 언어(XML) 문서(즉, 전자 폼)을 처리하는 단계와, 유효한 XForms 인스턴스 문서(즉, 유효성 검정되고 완료된 전자 폼)를 출력하기 위해 상기 처리 단계의 결과를 이용하는 단계를 포함한다. According to the present invention, a method for processing an electronic form includes processing an extensibility generation language (XML) document (ie, an electronic form) using an XForms engine based on a specified subset of complete XForms 1.0, and a valid XForms instance document ( That is, using the results of the processing step to output a validated and completed electronic form.

본 발명을 구현하는 시스템은, 수신된 XML 기반 전자 폼을 처리하기 위해 "얇은" 디바이스 메모리에 마이크로 XForms 엔진을 포함하는 하나 이상의 "얇은" 디바이스와 통신하는 적어도 하나의 웹 서버(예를 들어, eMerchant)를 포함한다. A system embodying the present invention includes at least one web server (eg, eMerchant) that communicates with one or more "thin" devices that include a micro XForms engine in a "thin" device memory to process received XML-based electronic forms. ).

유리하게, 본 발명은 메모리 제한된 "얇은" 디바이스와 다른 타입의 메모리 제한된 인터넷 인에이블 디바이스로 하여금 특정 얇은 디바이스의 메모리 용량으로 조정된 권고된 XForms 1.0 동작 표준의 서브셋을 구현하는 것에 의해 XML 기반 전자 폼을 처리할 수 있게 한다. 이 스케일러빌리티는 얇은 디바이스의 메모리와 다른 제한에 따라 조정되며, 여기서 얇은 디바이스는 효율적으로 XML 기반 전자 폼을 처리하는데 사용될 수 있도록 구현된다. 또한 본 발명은 XForms 표준의 장래 버전과 사용하기에 적합한 것이 고려된다.Advantageously, the present invention provides an XML-based electronic form by implementing a subset of the recommended XForms 1.0 operating standard that allows memory limited "thin" devices and other types of memory limited internet enabled devices to be tuned to the memory capacity of a particular thin device. To handle. This scalability is tailored to the memory and other limitations of thin devices, where the thin devices are implemented so that they can be used to efficiently process XML-based electronic forms. It is also contemplated that the present invention is suitable for use with future versions of the XForms standard.

본 발명의 마이크로 XForms 엔진이 XML 기반인 권고된 XForms 1.0의 서브셋으로 유도되기 때문에, 이 마이크로 XForms 엔진은 XML에 의해 제공되는 능력으로부터 여러 잇점을 보유한다. 즉, 마이크로 XForms 엔진은 이 폼의 데이터와 논리로부터 전자 폼을 생성하는 프리젠테이션 측면을 분리할 수 있어, 데이터 독립성을 제공할 수 있다. 그리하여, 마이크로 XForms 엔진은, 데이터 모델이 이 프리젠테이션으로 제한되지 않으므로, "얇은" 디바이스를 포함하는 여러 가지 유저 플랫폼에 사용하기에 적합하다. 예를 들어, 전자 폼은 HTML 유저 인터페이스에 의해 PC 상에 디스플레이되고 기입(filled in)될 수 있는 반면, 동일한 폼은 WML 유저 인터페이스를 가지는 셀룰러 폰을 포함하는 매우 다양한 "얇은 디바이스" 또는 음성 인식이나 수기 인식(handwriting recognition)을 지원하는 인터페이스를 포함하는 얇은 디바이스에서 렌더링되고 기입될 수 있다. 어느 플랫폼이 전자 폼의 디스플레이에 사용되고 있는지 상관없이, 마이크로 XForms 엔진은 디바이스의 독립성을 제공하며 이에 의해 하부 XML 어플리케이션은 사용되는 유저 인터페이스에 상관없이 폼으로부터 유효한 입력에 따르는 것을 보장할 수 있다. 본질적으로, 본 발명의 마이크로 XForms 엔진은 하부 XML 기반 어플리케이션과 프리젠테이션(즉, 유저 인터페이스) 사이를 연결해제하는 잇점을 가지고 있으며 그리하여 얇은 디바이스가 XForm을 처리할 수 있도록 XML 기반 어플리케이션의 서브셋을 사용한다. Because the micro XForms engine of the present invention is derived from a subset of the recommended XForms 1.0, which is XML-based, this micro XForms engine has several benefits from the capabilities provided by XML. In other words, the micro XForms engine can separate the presentation side of creating an electronic form from the data and logic of the form, providing data independence. Thus, the micro XForms engine is suitable for use on a variety of user platforms, including "thin" devices, since the data model is not limited to this presentation. For example, an electronic form may be displayed and filled in on a PC by an HTML user interface, while the same form may contain a wide variety of "thin devices" or speech recognition, including cellular phones with a WML user interface. It can be rendered and written in a thin device that includes an interface that supports handwriting recognition. Regardless of which platform is being used to display the electronic form, the micro XForms engine provides device independence, thereby ensuring that underlying XML applications follow valid input from the form, regardless of the user interface used. In essence, the micro XForms engine of the present invention has the advantage of disconnecting between underlying XML-based applications and presentations (i.e., user interfaces) and thus uses a subset of XML-based applications to enable thin devices to process XForms. .

본 발명은 이하 첨부하는 도면을 참조하여 예를 들어 더 설명된다. The invention is further illustrated by way of example with reference to the accompanying drawings, in which: FIG.

도 3 은 본 발명의 마이크로 XForms 엔진이 구현될 수 있는 처리 디바이스(30)의 일례를 도시한다. 이 디바이스(30)는 하나 이상의 시스템 버스 세트(35)의 적어도 일부와 통신하는 프로세서(32)와 메모리(34)를 포함한다. 또한 시스템 버스의 세트(35)의 적어도 일부를 사용하는 것은 디스플레이(36)와 하나 이상의 입/출력(I/O) 디바이스(38)이다. 이 처리 디바이스(30)는 인터넷 프로토콜(IP)과 같은 잘 알려진 프로토콜을 사용하여 무선이나 유선 네트워크나 이들의 조합으로 전자상거래 동작을 용이하게 수행하도록 구성된 "얇은" 디바이스를 나타낼 수 있다. 그러한 얇은 디바이스는, 예를 들어, 무선 전화, 개인 휴대 단말기(PDA), 포터블 컴퓨터, 스마트 리모트 컨트롤, 또는 다른 타입의 처리 디바이스를 포함할 수 있다. 소위 얇은 디바이스는 이들이 일반적으로 제한된 연산 능력과 메모리를 소유하는 것을 특징으로 한다. 3 shows an example of a processing device 30 in which the micro XForms engine of the present invention may be implemented. The device 30 includes a processor 32 and a memory 34 in communication with at least a portion of one or more system bus sets 35. Also using at least a portion of the set of system buses 35 is the display 36 and one or more input / output (I / O) devices 38. This processing device 30 may represent a “thin” device configured to facilitate e-commerce operations over a wireless or wired network or a combination thereof using well known protocols such as the Internet Protocol (IP). Such thin devices may include, for example, wireless telephones, personal digital assistants (PDAs), portable computers, smart remote controls, or other types of processing devices. So-called thin devices are characterized in that they generally possess limited computing power and memory.

이 디바이스(30)의 구성요소는 그러한 디바이스의 종래의 구성요소일 수 있다. 예를 들어, 프로세서(32)는, 마이크로프로세서, 중앙 처리 유닛(CPU), 디지털 신호 프로세서(DSP), 또는 응용 특정 집적 회로(ASIC), 뿐만 아니라 이들 및 다른 처리 디바이스의 일부 또는 조합을 나타낼 수 있다. 이 메모리(34)는 일반적으로 전자 메모리(electronic memory)이지만, 디스크 기반 광 또는 자기 메모리와 같은 다른 타입의 저장 디바이스를 포함하거나 포함할 수 있다.The components of this device 30 may be conventional components of such a device. For example, processor 32 may represent a microprocessor, central processing unit (CPU), digital signal processor (DSP), or application specific integrated circuit (ASIC), as well as some or a combination of these and other processing devices. have. This memory 34 is generally electronic memory, but may include or include other types of storage devices, such as disk based optical or magnetic memory.

여기서 설명되는 본 발명의 마이크로 XForms 엔진은 이 디바이스(30)의 각 메모리(34)와 프로세서(32) 구성요소를 사용하여 저장되고 실행된 소프트웨어를 사용하여 전체적으로 또는 부분적으로 구현될 수 있다. 예를 들어, 마이크로 XForms 엔진은 메모리(34)에 저장되고 프로세서(32)에 의해 실행되는 하나 이상의 소프트웨어 프로그램을 사용하여 적어도 부분적으로 구현될 수 있다. 그러한 소프트웨어 프로그램이 메모리(34)와 프로세서(32)와 같은 디바이스 구성요소에서 저장되거나 실행될 수 있는 특정 방식은 이 기술 분야에서 잘 알려져 있으므로 여기서 상세하게 설명되지 않는다. The micro XForms engine of the present invention described herein may be implemented in whole or in part using software stored and executed using each memory 34 and processor 32 component of the device 30. For example, the micro XForms engine may be implemented at least partially using one or more software programs stored in the memory 34 and executed by the processor 32. The specific manner in which such software programs may be stored or executed in device components, such as memory 34 and processor 32, are well known in the art and are not described in detail herein.

이 디바이스(30)는 여기서 설명된 스케일러블한 XForms 처리 기능을 제공할 수 있는 다른 타입과 배열의 구성요소나 도시되지 않은 다른 구성요소를 포함할 수도 있다는 것을 주의하여야 한다. It should be noted that the device 30 may include other types and arrangements of components or other components not shown, which may provide the scalable XForms processing functionality described herein.

도 4 는 본 발명의 마이크로 XForms 엔진이 구현될 수 있는 인터넷 기반 통신 시스템(40)의 일례를 도시한다. 이 시스템(40)은 인터넷(42)을 통해 홈(44)에 있는 여러 디바이스와 통신하는 웹 서버(46)를 포함한다. 이 웹 서버(46)는 전자 상거래 상인(eMerchant)과 연결될 수 있다. 일반적으로, 전자 상거래 웹 서버(46)는, 인터넷(42)을 통해 XML 기반 문서(49a 내지 49e)를 인터넷 프로토콜(IP)과 같은 잘 알려진 기술을 사용하여 홈(44)에 있는 디바이스로 전달하는 것에 의해 서비스를 다른 처리 디바이스(예를 들어, 얇은 디바이스)로 제공할 때 비즈니스 논리 및/또는 이와 대등한 트랜잭션을 주관한다.4 shows an example of an internet based communication system 40 in which the micro XForms engine of the present invention may be implemented. The system 40 includes a web server 46 that communicates with various devices in the home 44 via the Internet 42. This web server 46 may be connected to an e-commerce merchant (eMerchant). In general, e-commerce web server 46 delivers XML-based documents 49a to 49e over the Internet 42 to devices in home 44 using well known techniques such as Internet Protocol (IP). Thereby governing business logic and / or equivalent transactions when providing services to other processing devices (eg thin devices).

본 실시예에서 홈(44)에 있는 디바이스는 본 발명의 마이크로 XForms 엔진 (45)이나 완전한 XForms 1.0에 기반하는 종래 기술의 완전한 XForms 엔진(47) 중 어느 하나를 구비한다. 본 발명의 주요 목적에 따라, 마이크로 XForms 엔진(45)은 제한된 처리 능력 및/또는 메모리 용량을 가지는 얇은 디바이스에 사용하도록 구성된다. 보다 구체적으로, 홈(44)은 일반적으로 다음의 얇은 디바이스, 즉 텔레비전 세트(46-1), 비디오 게임 콘솔(46-2), PDA 디바이스(46-3), 및 셋톱박스(46-4)를 포함할 수 있으며, 이들은 각 마이크로 XForms 소프트웨어 엔진(XML SW)(45-1 내지 45-4)을 구비한다. 홈(44)은 또한 홈 네트워크(46-8)에 인터페이스되는 음악 주크박스(46-5), 오디오 시스템(46-6), 및 PC(46-7)를 포함하는 얇지 않은 디바이스를 포함할 수 있다. 얇지 않은 디바이스 각각은 각 완전한 XForms 소프트웨어 엔진(XML SW)(47-5 내지 47-7)을 구비한다. 나아가, 하나 이상의 얇은 디바이스(46-1 내지 46-4)가 도 3에 도시된 방식으로 구성될 수 있다. The device in the groove 44 in this embodiment includes either the micro XForms engine 45 of the present invention or the prior art complete XForms engine 47 based on the complete XForms 1.0. In accordance with the primary object of the present invention, the micro XForms engine 45 is configured for use in thin devices with limited processing power and / or memory capacity. More specifically, groove 44 is generally the next thin device, namely television set 46-1, video game console 46-2, PDA device 46-3, and set-top box 46-4. Which may include each micro XForms software engine (XML SW) 45-1 to 45-4. The groove 44 may also include a thin device that includes a music jukebox 46-5, an audio system 46-6, and a PC 46-7 that interface to the home network 46-8. have. Each non-thin device has each complete XForms Software Engine (XML SW) 47-5 through 47-7. Furthermore, one or more thin devices 46-1 through 46-4 can be configured in the manner shown in FIG. 3.

웹 서버(46)로부터 인터넷(42)을 통해 홈(44) 내의 디바이스로 송신된 XML 문서(49a 내지 49e)는 대응하는 XForms 엔진(45 또는 47)을 사용하여 처리된다. 본 발명의 마이크로 XForms 엔진들(45) 중 하나의 경우에, XML 문서(49)는 대응하는 얇은 디바이스의 연산 및 메모리 용량과 호환될 수 있는 방식으로 완전한 권고된 XForms 1.0의 지정된 서브셋을 사용하여 처리되어, 본 발명의 스케일러빌리티 측면을 제공한다.The XML documents 49a-49e sent from the web server 46 to the devices in the home 44 via the Internet 42 are processed using the corresponding XForms engine 45 or 47. In the case of one of the micro XForms engines 45 of the present invention, the XML document 49 is processed using a specified subset of the complete recommended XForms 1.0 in a manner that is compatible with the computation and memory capacity of the corresponding thin device. This provides a scalability aspect of the present invention.

도 4의 시스템(40)에 도시된 구성요소의 특정 배열과 구성은 단지 예를 든 것이라는 것을 주의하여야 한다. 다른 실시예에서, 다른 타입의 웹 서버, 네트워크, 및 디바이스가 사용될 수 있다. 이 기술 분야에 통상의 지식을 가진 자라면, 특정 얇은 디바이스에 스케일러블한 본 발명의 마이크로 XForms 엔진은 그러한 시스템 구성요소의 임의의 특정 배열이나 구성을 요구하지 않는다는 것을 인식할 수 있을 것이다. It should be noted that the specific arrangement and configuration of the components shown in system 40 of FIG. 4 are merely examples. In other embodiments, other types of web servers, networks, and devices may be used. Those skilled in the art will appreciate that the micro XForms engine of the present invention, which is scalable to certain thin devices, does not require any particular arrangement or configuration of such system components.

도 5a 는, 완전한 XML 1.0 표준(51a)과, Namespaces 표준 (51b), XPath 1.0 표준(51c), Schema 1.0 표준(51d), 및 완전한 XForms 1.0(51e)에 주어진 표준을 포함하는 여러 가지 XML 기반 표준을 포함하는 종래의 XForms 스택(51)을 보여준다. 잘 알려진 바와 같이, 이 스택 구성은, 다른 스택 구성요소 위에 나타나는 스택 구성요소는 예시적으로 하부 스택 구성요소로부터 부분적으로 유도되는 개념을 예시적으로 전달한다. FIG. 5A illustrates various XML bases, including the standards given in the complete XML 1.0 standard 51a, the Namespaces standard 51b, the XPath 1.0 standard 51c, the Schema 1.0 standard 51d, and the complete XForms 1.0 51e. A conventional XForms stack 51 is shown that includes a standard. As is well known, this stack configuration illustratively conveys the concept that a stack component appearing on top of another stack component is exemplarily partially derived from a lower stack component.

도 5b 는 도 5a의 XML 기반 표준(51a 내지 51e)에 대응하는 여러 개의 감소된 규칙세트 XML 기반 표준을 포함하는 감소된 XForms 스택(53)을 보여준다. 스택(53)에 예시된 각 표준은 Namespaces 표준(53b)을 제외하고는, 도 5a의 종래의 XForms 스택 (51) 내의 그 대응하는 부분의 표준으로부터 유도된 규칙의 지정된 서브셋을 나타낸다. 감소되거나 스케일 다운(scaled down)된 표준은 소위 얇은 디바이스에 사용하기 위해 본 발명의 마이크로 XForms 엔진의 실행가능한 코드를 개발하기 위한 가이드라인으로서 사용된다. FIG. 5B shows a reduced XForms stack 53 that includes several reduced ruleset XML-based standards corresponding to the XML-based standards 51a-51e of FIG. 5A. Each standard illustrated in the stack 53 represents a specified subset of the rules derived from the standards of its corresponding portion within the conventional XForms stack 51 of FIG. 5A, except for the Namespaces standard 53b. Reduced or scaled down standards are used as a guideline for developing executable code of the micro XForms engine of the present invention for use in so-called thin devices.

도 5a의 종래 표준과 도 5b의 감소된 표준이 아래 설명된다. 전술된 바와 같이, 도 5b의 감소된 표준은 소위 "얇은" 디바이스의 특정 처리 및/또는 메모리 제약에 따라 다른 실시예에서는 달라진다. 그리하여, 마이크로 XForms 엔진은 이 디바이스의 처리 및 메모리 제약에 따라 스케일러블하다. The conventional standard of FIG. 5A and the reduced standard of FIG. 5B are described below. As mentioned above, the reduced standard of FIG. 5B varies in other embodiments depending on the particular processing and / or memory constraints of the so-called "thin" device. Thus, the micro XForms engine is scalable according to the processing and memory constraints of this device.

도 5a의 스택(51)을 먼저 참조하면, 완전한 XML 기반 표준 세트가 도시된다. 최저 스택 층에서 시작하여, 구성요소(51a)로 라벨이 붙은 완전한 XML 1.0 표준이 도시된다. XML 1.0 표준(51a)은 문서에 표시(markup)를 부가하는 표준 방식을 한정한다. 완전한 XML 1.0 동작 표준(51a)은 의미도 한정하지 않고 태그 세트(tag set)도 한정하지 않지만 오히려 메타 언어(다른 생성 언어를 생성하는데 사용되는 언어)를 한정한다. 완전한 XML 1.0 표준(51a)은 태그와 이들 태그 사이의 구조적 관계를 한정하는 편의성을 제공한다. 미리 한정된 태그 세트는 없으므로, 임의의 예상되는 의미는 존재할 수 없다. XML 문서의 모든 의미는 의미를 처리하는 어플리케이션이나 스타일시트에 의해 한정될 수 있다. 완전한 XML 1.0 표준(51a)에 관한 추가적인 상세 사항은, 그 전체가 본 명세서에 참조 문헌으로 병합된, http://www.w3.org/TR/REC-xml에 반포된, "확장성 생성 언어(XML) 1.0 (second edition)" (W3C recommendation, 2000년 10월 6일)에서 찾아 볼 수 있다.Referring first to stack 51 of FIG. 5A, a complete set of XML-based standards is shown. Starting at the lowest stack layer, a complete XML 1.0 standard labeled with component 51a is shown. The XML 1.0 standard 51a defines a standard way of adding markup to documents. The complete XML 1.0 operating standard 51a does not limit the semantics nor the tag set, but rather the meta language (the language used to generate other generation languages). The complete XML 1.0 standard 51a provides convenience for defining tags and the structural relationships between those tags. There is no predefined tag set, so no expected meaning can exist. All semantics of an XML document can be defined by the application or stylesheet that processes the semantics. Further details regarding the complete XML 1.0 standard 51a can be found in the "Extensibility Generation Language," which is distributed in http://www.w3.org/TR/REC-xml , which is hereby incorporated by reference in its entirety. (XML) 1.0 (second edition) "(W3C recommendation, October 6, 2000).

이제 도 5b를 참조하면, 감소된 XML 1.0 표준(53a)이라는 라벨이 붙은, 도 5a의 완전한 XML 1.0 표준(51a)에 대해 그 대응하는 부분이 도시되어 있다. 일 실시예에 따라, 감소된 XML 1.0 표준(53a)은 완전한 XML 1.0 표준(51a)을 한정하는 39개의 규칙 중에서 11개의 규칙을 포함한다. 일 실시예에서 이 규칙은, Referring now to FIG. 5B, the corresponding portion is shown for the complete XML 1.0 standard 51a of FIG. 5A, labeled Reduced XML 1.0 Standard 53a. According to one embodiment, the reduced XML 1.0 standard 53a includes eleven of the 39 rules that define the complete XML 1.0 standard 51a. In one embodiment, this rule is

[1] 문서 ::= 구성요소*[1] Documentation :: = Components *

[2] 구성요소 ::= STag 컨텐츠 ETag [2] component :: = STag content ETag

[3] STag ::= '<'QNAME(Attribute)+'>'[3] STag :: = '<' QNAME (Attribute) + '>'

[4] ETag ::= '</'QName'>'[4] ETag :: = '</' QName '>'

[5] 콘텐츠 ::= 구성요소*|Char* [5] Content :: = Components * | Char *

[6] 속성 ::= 이름 '=' '"'Char*'"'[6] Properties :: = Name '=''"' Char * '"'

[7] 이름 ::= NameChar* [7] Name :: = NameChar *

[8] NameChar ::= 문자|숫자|'.'|'-'|'_'|':' [8] NameChar :: = character | number | '.' | '-' | '_' | ':'

[9] 문자 ::= [A-Z][a-z] [9] character :: = [A-Z] [a-z]

[10] 숫자 ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9' [10] Number :: = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'

[11] Char ::= 문자|숫자|'!'|'#'|'$'|'%'|'('|')'|'*'|'+'|','|'-'| '.'|'/'|':'|';'|'='|'?'|'@'|'['|'\'|']'|'^'|'_'|'`'|'{'|'}'|'∼'[11] Char :: = character | number | '!' | '#' | '$' | '%' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '=' | '?' | '@' | '[' | '\' | ']' | '^' | '_' | '` '|' {'|'} '|' ~ '

[12] Qname ::= (Name':')?Name [12] Qname :: = (Name ':')? Name

을 포함한다. It includes.

도 5b의 감소된 XML 1.0 표준(53a)을 사용하면, 완전한 XML 1.0 표준(51a)을 사용하는 것에 비해, 불필요한 분석의 회피, 더 작은 족문(footprint)의 제공, 실행 시간 동안에 필요한 더 적은 메모리, 및 개체와 개체 참조의 사용의 회피를 포함하는 여러 잇점을 제공한다.Using the reduced XML 1.0 standard 53a of FIG. 5B, compared to using the full XML 1.0 standard 51a, avoiding unnecessary analysis, providing a smaller footprint, less memory required during runtime, And the avoidance of using objects and object references.

다시 도 5a를 참조하면, 완전한 XML Namespaces 표준(51b)이 도시되어 있다. Namespces 표준(51b)은, 동일한 이름으로 불리우는 구성요소와 속성을 가지는 다른 생성 언어가 있을 때 XML에서 유발되는 문제를 해소하도록 생성되었다. 잠재적인 이름 충돌의 하나의 예는, 어느 문서가 책의 일부를 기술하는 "파트" 요소를 사용하는 반면, 다른 XML 문서는 차의 일부를 기술하는 "파트" 요소를 사용하는 경우에 발생할 수 있다. XML Namespace 표준(51b)은 구성요소 타입의 이름과 속성 이름이 URI(uniform resource identifier)을 부여받을 수 있게 하기 위해 데이터 모델을 확장하는 것에 의해 이 상황을 개선하여 이 혼란을 제거하도록 시도한다. URI는 웹과 같은 분산 환경에서 일어나는 혼란을 제거하기 위해 로컬 이름(local name)에 글로벌 아이디(global identity)를 제공한다. Namespace 상의 추가적인 상세 사항은, 본 명세서에 참조 문헌으로 병합된, http://www.w3.org/TR/REC-xml-names에서 반포된, "Namespaces in XML" (W3C, 1999년, 1월 14일)에서 찾아볼 수 있다. 완전한 Namespaces 표준(51b)의 매우 작은 족적으로 인해, 본 발명은 수정 없이 완전히 Namespaces 표준(51b)을 포함한다(완전한 Namespaces 표준(53b) 참조).Referring again to FIG. 5A, the complete XML Namespaces standard 51b is shown. The Namespces standard 51b was created to solve the problems caused by XML when there are other generation languages with components and attributes called by the same name. One example of a potential name conflict may occur when a document uses a "part" element that describes a part of a book, while another XML document uses a "part" element that describes a part of a car. . The XML Namespace standard 51b attempts to eliminate this confusion by improving this situation by extending the data model to allow component type names and attribute names to be given uniform resource identifiers (URIs). URIs provide a global identity for the local name to eliminate confusion in distributed environments such as the Web. Further details on Namespace are described in "Namespaces in XML" (W3C, January 1999, published by http://www.w3.org/TR/REC-xml-names , incorporated herein by reference). 14 days). Due to the very small footprint of the complete Namespaces standard 51b, the present invention includes the Namespaces standard 51b completely without modification (see Complete Namespaces Standard 53b).

다시 도 5a를 참조하면, 완전한 XPath 1.0 표준(51c)이 도시되어 있다. 완전한 XPath 1.0 표준(51c)은, 하나의 단어에서부터 다른 단어로 XML에서 표시된 정보를 변환할 수 있는 능력을 부여하고 제공하는 XSLT 및 XPointer 모두에 의해 사용하기 위해 고안된, XML 문서의 일부를 어드레스 지정하는 XML 패스(path) 언어를 한정한다. 확장성 XPath 1.0 표준(51c)에 관한 추가적인 상세한 사항은, 본 명세서에 완전히 참조 문헌으로 병합된, http://www.w3.org/TR/xpath에 반포된, "XML 패스 언어(XPath) 버전 1.0" (W3C Recommendation, 1999년, 11월 16일)에서 찾아볼 수 있다.Referring again to FIG. 5A, the complete XPath 1.0 standard 51c is shown. The complete XPath 1.0 standard (51c) addresses parts of an XML document, designed for use by both XSLT and XPointer, which gives and gives the ability to transform the information represented in XML from one word to another. Qualifies the XML path language. Further details regarding the extensibility XPath 1.0 standard 51c can be found in the "XML Path Language (XPath) Version, published at http://www.w3.org/TR/xpath , hereby incorporated by reference in its entirety. 1.0 "(W3C Recommendation, November 16, 1999).

이제 도 5b를 참조하면, 감소된 XPath 1.0 표준(53c)이라고 부르는 완전한 XPath 1.0 표준(51c)에 대해 그 대응하는 부분이 도시되어 있다. 완전한 XPath 1.0 표준은 약 39개의 규칙을 포함하는 반면, 일 실시예에 따라 감소된 XPath 1.0 표준(53c)는 완전한 XPath 1.0 표준(51c)에 의해 한정된 완전한 규칙 세트로부터 유도된 규칙 중 다음의 서브셋, 즉Referring now to FIG. 5B, the corresponding portion is shown for the complete XPath 1.0 standard 51c, referred to as the reduced XPath 1.0 standard 53c. While the complete XPath 1.0 standard includes about 39 rules, the reduced XPath 1.0 standard 53c according to one embodiment is a subset of the rules derived from the complete rule set defined by the complete XPath 1.0 standard 51c, In other words

[1] 셀렉터 ::= Path('|'Path)* [1] selector :: = Path ('|' Path) *

[2] Path ::= '/'(Step('/'|'//'))*(Step(Number)?|'@'NameTest) [2] Path :: = '/' (Step ('/' | '//')) * (Step (Number)? | '@' NameTest)

[3] Step ::= '.'|(NameTest|'child::'NameTest)('[Digits']')?[3] Step :: = '.' | (NameTest | 'child ::' NameTest) ('[Digits']')?

[4] NameTest ::= QName|'*'|NCName':''*'[4] NameTest :: = QName | ' * '| NCName': '' * '

[5] QName ::= (NCName':')? NCName[5] QName :: = (NCName ':')? NCName

[6] NCName ::= (문자|'_')Char[6] NCName :: = (character | '_') Char

[7] 숫자 ::= [0-9]+ [7] Number :: = [0-9] +

[8] 문자 ::= [A-Z][a-z] [8] character :: = [A-Z] [a-z]

[9] Char ::= 문자|숫자|'!'|'#'|'$'|'%'|'('|')'|'*'|'+'|','|'-'|'.'| '/'|':'|';'|'='|'?'|'@'|'['|'\'|']'|'^'|'_'|'`'|'{'|'}'|'∼'[9] Char :: = character | number | '!' | '#' | '$' | '%' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '=' | '?' | '@' | '[' | '\' | ']' | '^' | '_' | '`' | '{ '|'} '|' ~ '

을 포함한다. It includes.

위에서 한정된 규칙 서브셋은 일련의 노드를 단순히 찾는 것을 목적으로 한다. 노드를 찾기 위해, 다음의 제한이 부과된다: (1) 이용가능한 축만이 자식 축(child axis)이며, (2) 술어(predicate)의 수는 하나(1)이거나 제로(0)이며, (3) 술어가 존재하는 경우, 이 술어의 표현(즉, PredicateExpr)은, 노드가 노드 세트 내에서 발견될 수 있어야 하는 위치를 나타내는 정수이어야 하며, (4) XPath의 부재가 작용한다(즉, 수리 연산이나 문자열 연산이 수행될 수 있다).The subset of rules defined above aims to simply find a set of nodes. To find a node, the following restrictions are imposed: (1) only available axes are child axes, (2) the number of predicates is one (1) or zero (0), and (3 ) If the predicate is present, the expression of this predicate (ie, PredicateExpr) must be an integer indicating where the node should be found within the node set, and (4) the absence of XPath is in effect (ie, a mathematical operation). Or string operations can be performed).

위 감소된 규칙세트를 포함하는 것은 완전한 규칙세트를 사용하는 것에 비해 여러 가지 잇점을 제공한다. 완전한 XPath 1.0 표준(51c)에서 13개의 축 대신에 자식, 즉 자손 축과 및 속성 축만을 사용하며, 그리고 술어에 대한 표현이나 기능 대신에 단지 숫자만을 사용하면, XPath에 의해 요구되는 대부분의 성능을 보유하면서도 XPath 소프트웨어 족적을 크게 감소시킬 수 있다.Including the reduced rule set above provides several advantages over using a complete rule set. In the complete XPath 1.0 standard (51c), using only child, descendant and attribute axes instead of 13 axes, and using only numbers instead of expressions or functions for predicates, most of the performance required by XPath is achieved. While retaining, it can significantly reduce XPath software footprint.

다시 도 5a를 참조하면, 완전한 XML Schema 1.0 (51d)이 도시되어 있다. 완전한 XML Schema 1.0 은 2개의 파트, 즉 XML Schema 파트 Ⅰ 스펙과, XML Schema 파트 Ⅱ 스펙을 포함한다. XML Schema 파트 Ⅱ 스펙은 XML Schema : Datatypes이라고 부르며, 이것은 다른 XML 스펙에 뿐만 아니라 XML Schema에 사용될 데이터 타입을 용이하게 한정할 수 있게 한다.Referring again to FIG. 5A, the complete XML Schema 1.0 51d is shown. The complete XML Schema 1.0 contains two parts: the XML Schema Part I specification and the XML Schema Part II specification. The XML Schema Part II specification is called XML Schema: Datatypes, which makes it easy to define the data types that will be used in XML Schema as well as in other XML specifications.

일반적으로, schema는 XML 문서를 정밀하게 기계 유효성 검정(validated)할 수 있게 한다. 다시 말해, 일단 구성되면, 이 schema는 XML 어플리케이션이 문서를 처리하게 하며 이 문서가 이 schema에서 레이아웃된 제약 세트에 연결되는지를 결정하게 한다. 그리하여, Schema를 위한 다른 이름은 데이터 모델(data model)이다. XML Schema는 타입 정의와 구성요소 선언과 같은 콤포넌트로 구성된다. 이들은 잘 형성된 구성요소와 속성 정보 항목의 유효성을 평가하며 나아가 이들 항목과 그 자손으로 확대를 지정할 수 있다. 완전한 Schema 1.0 표준(51d)에 관한 추가적인 상세한 사항은, 본 명세서에 완전히 참조 문헌으로 포함된, http:://www.w3.org/TR/xmlschema-2/에 반포된, "XML Schema Part 2: Datatypes" ( W3C Recommendation, 2001년, 05월 02일)에서 찾아볼 수 있다. In general, schemas allow precise machine validation of XML documents. In other words, once configured, this schema allows the XML application to process the document and determine if the document is bound to a set of constraints laid out in this schema. Thus, another name for Schema is the data model. XML Schema consists of components such as type definitions and component declarations. They evaluate the validity of well-formed component and attribute information items, and can further specify expansion to these items and their descendants. Further details regarding the complete Schema 1.0 standard (51d) are described in "XML Schema Part 2," published at http :: //www.w3.org/TR/xmlschema-2/, which is incorporated herein by reference in its entirety. "Datatypes" (W3C Recommendation, May 02, 2001).

이제 도 5b를 참조하면, 감소된 Schema 1.0 표준(53d)라고 불리우는, 도 5a의 완전한 XML Schema 1.0 표준(51d)에 대응하는 부분이 도시되어 있다. 일 실시예에 따라, 감소된 Schema 1.0 표준(53d)은 데이터 타입에 관련된 XML Schema 파트 Ⅱ 스펙의 서브셋만을 포함한다. 그리하여, 이 실시예에서, 감소된 Schema 1.0 표준(53d)은 XML 문서의 유효성 검정을 수행하기 위해 "정수"와 "문자열" 데이터 타입만을 포함한다. 감소된 Schema 1.0 표준(53d)을 사용하는 경우의 주요한 잇점은 훨씬 더 작은 족적을 제공한다는 점이다. 이 실시예에서, 감소된 Schema 표준(53d)에 포함되지 않은 데이터 타입의 샘플은, double, float, duration, date, dateTime, time, gYearMonth, gYear, gMonthDay, gDay, gMonth, Boolean, base65binary, hexBinary, QName, NOTATION, 및 anyURI 이다. 전체 범위의 데이터 타입을 포함하지 않는 것에 의해 일부 기능이 희생된다는 것을 주목해야 한다. 예를 들어, 'date' 데이터 타입을 포함하지 않는 것은 이 필드 상에 가산 및/또는 감산 연산을 수행하는 능력을 배제시킨다. 그러나, 주지된 바와 같이, 현명한 족적의 감소로 인해 얇은 디바이스는 충분한 기능을 보유하면서도 XForms을 지원할 수 있다. 다시 도 5a를 참조하면, 이 스택의 상부에 완전한 XForms 1.0 (51e)이 도시되어 있다. 도시된 바와 같이, 이 스택의 상부에 있는 것에 의해 완전한 XForms 1.0 (51e)은 스택(51)에서 하부 표준 각각으로부터 부분적으로 유도된다. 완전한 XForms 1.0 (51e)은 폼이 어떻게 유저에게 제공될 수 있는지로부터 폼이 무엇을 기술하는지를 별도로 기술하는 능력을 제공한다. 이것은 WML과 같은 다른 폼 제어 세트 뿐만 아니라, 전통적인 XHTML 폼 제어에 대해 가능하게 하는, 유연한 프리젠테이션 옵션이 균형잡힐 수 있게 한다. XForms 은, XForms 프로세서와 원격 개체 사이에 온라인 상호작용을 위한 새로운 플랫폼에 독립적인 생성 언어의 생성을 가능하게 한다. 완전한 XForms 1.0(51e)에 관한 추가적인 상세 사항은, 전술된 http://www.w3.org/TR/xforms/에 반포된, XForms 1.0 동작 드래프트(2002년 1월 18일)에서 찾아볼 수 있다. 이제 도 5b를 참조하면, 감소된 XForms 1.0(53e)이라 부르는 완전한 XForms 1.0(51e)에 대응하는 부분이 도시되어 있다. 이 스택의 계층적 구조에 따라, 감소된 XForms 1.0 (53e)은 도시된 하부 표준 각각으로부터 부분적으로 유도된다. 따라서, 감소된 XForms 1.0(53e)은, 예를 들어, 위 실시예에 대해 기술된 바와 같이, 스택(53)에서 하부 감소된 표준의 제한 사항을 포함한다. 하부 표준으로부터 포함된 제한 사항에 더하여, 감소된 XForms 1.0 (53e)은 완전한 XForms 1.0(51e)으로부터 감소된 규칙 세트로서 유도된다. 감소된 규칙 세트는, 정적인 제약, 스키마 제약, 폼 제어 제약, 동작 제약을 포함하는 제한된 수의 제약을 포함한다. 각 제약 유형은 이하에서 보다 더 상세하게 기술된다.Referring now to FIG. 5B, a portion corresponding to the complete XML Schema 1.0 standard 51d of FIG. 5A, referred to as the reduced Schema 1.0 standard 53d, is shown. According to one embodiment, the reduced Schema 1.0 standard 53d includes only a subset of the XML Schema Part II specifications related to data types. Thus, in this embodiment, the reduced Schema 1.0 standard 53d includes only "integer" and "string" data types to perform validation of XML documents. The main advantage of using the reduced Schema 1.0 standard (53d) is that it provides a much smaller footprint. In this embodiment, samples of data types not included in the reduced Schema standard 53d are double, float, duration, date, dateTime, time, gYearMonth, gYear, gMonthDay, gDay, gMonth, Boolean, base65binary, hexBinary, QName, NOTATION, and anyURI. It should be noted that some functionality is sacrificed by not including the full range of data types. For example, not including the 'date' data type precludes the ability to perform addition and / or subtraction operations on this field. As is well known, however, smart footprint reductions allow thin devices to support XForms while retaining sufficient functionality. Referring again to FIG. 5A, a complete XForms 1.0 51e is shown at the top of this stack. As shown, by being at the top of this stack, the complete XForms 1.0 51e is partially derived from each of the lower standards in the stack 51. The complete XForms 1.0 (51e) provides the ability to describe what the form describes separately from how the form can be presented to the user. This balances the flexible presentation options that enable traditional XHTML form controls as well as other sets of form controls such as WML. XForms allows the creation of a new platform-independent creation language for online interaction between XForms processors and remote objects. Further details regarding the complete XForms 1.0 (51e) can be found in the XForms 1.0 Operating Draft (January 18, 2002), distributed at http://www.w3.org/TR/xforms/ , described above. . Referring now to FIG. 5B, a portion corresponding to a complete XForms 1.0 51e called a reduced XForms 1.0 53e is shown. In accordance with the hierarchical structure of this stack, reduced XForms 1.0 53e is derived in part from each of the underlying standards shown. Thus, reduced XForms 1.0 53e includes the limitations of the lower reduced standard in stack 53, for example, as described for the above embodiment. In addition to the restrictions contained in the substandard, reduced XForms 1.0 (53e) is derived as a reduced rule set from the complete XForms 1.0 (51e). The reduced rule set includes a limited number of constraints, including static constraints, schema constraints, form control constraints, and operation constraints. Each constraint type is described in more detail below.

정적인 제약은, XForms 모델의 규정을 한정하며 최종 XForms 인스턴스 문서에 부과되는 제한 사항을 한정하는데 사용된다. 감소된 XForms 1.0 (53e)에 포함된 일부 정적인 제약의 예는, type, required, minOccurs, maxOccurs, isValid, calculate, 및 enumeration을 포함한다. 스키마 제약은 XForms 모델(65)에서 각 구성요소의 상세 사항을 한정하기 위해 감소된 표준에 포함된다(도 6). 포함된 스키마 제약의 일례는, 이름 열(name string)에 있는 문자(character)의 수가 하나(1)보다 많아야 한다는 요구조건이다. 감소된 XForms 1.0 (53e)에 포함된 제 3 타입의 제약은 폼 제어(Form Controls)에 관한 것이다. 일 실시예에서, "입력"과 "출력" 폼 제어만이 감소된 XForms 1.0 (53e)에 포함된다. 감소된 표준에서, "입력" 폼 제어는 제 1 이름(first name)과 같이 하나의 라인 필드의 기입을 허용하도록 포함되며, "출력" 폼 제어는, 폼 필드, 예를 들어, 어드레스 폼에 있는 디폴트 나라 필드(default country field)에 이미 기입되어 있는 정보를 제공하도록 포함된다. 감소된 XForms 1.0 (53e)에 포함된 최종 제약 타입은 동작에 관한 것이다. 일 실시예에서, "submitInstance"는 XForms의 데이터 인스턴스(즉, XForms 모델의 버전에서 기입된 것)를 제출하도록 사용된다.Static constraints are used to define the specifications of the XForms model and to place restrictions on the final XForms instance document. Examples of some static constraints included in reduced XForms 1.0 (53e) include type, required, minOccurs, maxOccurs, isValid, calculate, and enumeration . Schema constraints are included in the reduced standard to define the details of each component in the XForms model 65 (FIG. 6). An example of a schema constraint included is a requirement that the number of characters in the name string be greater than one (1). A third type of constraint included in reduced XForms 1.0 (53e) relates to Form Controls. In one embodiment, only "input" and "output" form controls are included in the reduced XForms 1.0 53e. In the reduced standard, an "input" form control is included to allow the writing of one line field, such as a first name, and an "output" form control is placed in a form field, eg, an address form. It is included to provide information already filled in the default country field. The final constraint type included in reduced XForms 1.0 (53e) relates to behavior. In one embodiment, "submitInstance" is used to submit a data instance of XForms (ie, what is written in the version of the XForms model).

감소된 XForms 1.0 (53e)을 사용하는 것은 완전한 XForms 1.0 (51e)의 더 작은 구현으로 광범위한 폼을 커버할 수 있는 능력을 가지는 잇점을 제공한다. Using reduced XForms 1.0 (53e) offers the advantage of having the ability to cover a wide range of forms with a smaller implementation of full XForms 1.0 (51e).

전자 폼의 처리Processing of electronic forms

도 6 은 인터넷 네트워크 상황에서 구현되는 본 발명을 도시한다. 이 예에서, 본 발명의 마이크로 XForms 엔진(61)은, 예를 들어, PDA나 셀룰러 전화일 수 있는 얇은 디바이스(68)의 메모리에 저장된다. 마이크로 XForms 엔진(61)은 3개의 구성의 소프트웨어 콤포넌트, 즉 감소된 XPath 소프트웨어 콤포넌트(61a), 경량의 스키마 소프트웨어 콤포넌트(61b), 및 XML 파서 소프트웨어 콤포넌트(61c)로 구성되도록 도시되어 있다. 마이크로 XForms 엔진(61)을 구성하는 소프트웨어 콤포넌트(61a 내지 61c) 각각은 도 5b의 스택(53)에 도시된 하나 이상의 감소된 표준에 의하여 한정된 제한된 규칙세트에 의해 지켜지는 실행가능한 코드를 나타낸다는 것을 주목해야 한다. 6 illustrates the invention implemented in an internet network situation. In this example, the micro XForms engine 61 of the present invention is stored in the memory of a thin device 68, which may be, for example, a PDA or a cellular telephone. The micro XForms engine 61 is shown to be composed of three components of a software component, namely a reduced XPath software component 61a, a lightweight schema software component 61b, and an XML parser software component 61c. It is noted that each of the software components 61a-61c constituting the micro XForms engine 61 represents executable code followed by a limited set of rules defined by one or more reduced standards shown in the stack 53 of FIG. 5B. It should be noted.

본 발명의 마이크로 XForms 엔진(61)은 인터넷과 같은 네트워크 상에서 전자 폼을 처리하는 얇은 디바이스에 사용하기 위해 구성된다. 이하 상세한 설명은 얇은 디바이스에서 본 발명의 마이크로 XForms 엔진(61)을 사용하여 인터넷 상에서 전자 폼을 처리하는데 수반되는 단계의 예시적인 예로서 제공된다. The micro XForms engine 61 of the present invention is configured for use in thin devices that process electronic forms on a network such as the Internet. The following detailed description is provided as an illustrative example of the steps involved in processing electronic forms on the Internet using the micro XForms engine 61 of the present invention in a thin device.

도 6을 계속 참조하면, eMerchant와 연결될 수 있는 웹 서버(62)는 인터넷(63) 상에서 XML 기반 전자 폼(DOC1)(64)을 마이크로 XForms 엔진(61)을 포함하는 얇은 디바이스(68)에 전송한다. 이 얇은 디바이스(68)는 이 수신된 전자 폼(DOC1) (64)을 4 단계로 처리한다. 전자 폼을 처리하는 단계는, 이 폼을 유저에 디스플레이 하는 단계와, 이 디스플레이된 폼을 유저에 의해 기입하는 단계와, 폼에 기입된 사항에 대해 유효성 검정하는 단계와, 그 폼을 다시 시발자(originator)(즉, 웹 서버(62))에게로 제출하는 단계를 포함한다. 각 단계는 이하와 같이 기술된다. With continued reference to FIG. 6, a web server 62 that may be connected with eMerchant sends an XML-based electronic form (DOC1) 64 over the Internet 63 to a thin device 68 that includes a micro XForms engine 61. do. This thin device 68 processes this received electronic form (DOC1) 64 in four steps. Processing the electronic form includes displaying the form to the user, filling in the displayed form by the user, validating the entry on the form, and starting the form again. submitting to an originator (ie, web server 62). Each step is described as follows.

전자 폼의 디스플레이Display of electronic form

얇은 디바이스(68)에서 웹 서버(62)로부터 XML 문서 (DOC1)(64)를 수신한 때, 마이크로 XForms 엔진(61)은 디스플레이 단계의 제 1 부분에서 XForms 모델(65)을 생성하는 작업을 하여 이 단계의 제 2 부분에서 XForms 유저 인터페이스(66)를 디스플레이한다. 이 마이크로 XForms 엔진(61)은 XForms 모델(65)과 임의의 유저 인터페이스(UI)(66)를 동적으로 연결하기 위한 일반 인터페이스를 제공한다. 마이크로 XForms 엔진(61)이 XML 기술에 기초를 두고 있기 때문에, 이 엔진은 그 그 프리젠테이션으로부터 폼의 데이터 및 논리(예를 들어, DOC1(64))를 분리시킨다. 이 디스플레이 측면은 유저 인터페이스(66)에 의해 제어되며, 데이터와 논리는 XForms 모델(65)에 의해 제어된다. 이런 방식으로, 이 폼은 이 폼과 최종 유저가 어떻게 상호작용하는지 상관없이 한정될 수 있다. 유저 인터페이스(66)는 얇은 디바이스(68)에서 경량거나 분해된 버전이 아니라는 것을 주의해야 한다. 오히려, 이 유저 인터페이스는, 예를 들어, WML 인터페이스, 음성 작동 인터페이스, 수기 작동 인터페이스, 수기 인식 인터페이스, 또는 HTML 인터페이스를 포함하는 이 기술 분야에 잘 알려져 있는 얇은 디바이스에 대한 다수의 유저 인터페이스 중 어느 하나를 나타낸다. XForms 이 폼의 하부 데이터와 논리로부터 프리젠테이션을 분리시키기 때문에, 이 프리젠테이션은 이 디바이스의 유저 인터페이스(UI)에 상관없이 이해될 수 있다. 그리하여, 유저 인터페이스(66)에 의해 제어되는 디스플레이 측면은 본 발명에서는 중요하지 않으며 그리하여 더 상세히 기술되지 않는다. When receiving the XML document (DOC1) 64 from the web server 62 on the thin device 68, the micro XForms engine 61 works to generate the XForms model 65 in the first part of the display phase. In the second part of this step, the XForms user interface 66 is displayed. This micro XForms engine 61 provides a generic interface for dynamically connecting the XForms model 65 and any user interface (UI) 66. Because the micro XForms engine 61 is based on XML technology, this engine separates the form's data and logic (eg, DOC1 64) from its presentation. This display aspect is controlled by the user interface 66 and the data and logic are controlled by the XForms model 65. In this way, the form can be defined regardless of how the form interacts with the end user. It should be noted that the user interface 66 is not a lightweight or exploded version in the thin device 68. Rather, this user interface is any one of a number of user interfaces for thin devices that are well known in the art, including, for example, a WML interface, a voice operation interface, a handwriting operation interface, a handwriting recognition interface, or an HTML interface. Indicates. Since XForms separates the presentation from the underlying data and logic of the form, this presentation can be understood regardless of the device's user interface (UI). Thus, the display aspect controlled by the user interface 66 is not important in the present invention and thus is not described in more detail.

XForms 모델(65)은, 2개의 콤포넌트, 데이터 구조 콤포넌트(65a)와 XForms 확장 콤포넌트(65b)를 포함한다. 이 데이터 구조 콤포넌트(65a)는 본질적으로 송신된 문서(DOC1)(64)의 일부로 포함된 데이터로부터 유도되는 데이터 모델이다. XForms 확장 콤포넌트(65b)는, 유도된 데이터 모델과 연관되어 사용되는 하나 이상의 제약이나 데이터 종속성을 포함하는 송신된 문서(DOC1)(64)의 일부로서 포함된 다른 데이터로부터 유도된다. XForms 모델(65)은, 후술되는 바와 같이, 얇은 디바이스(즉, 클라이언트)에서 제공된 데이터로부터 마이크로 XForms 엔진(61)에 의해 구성된다. 이후, 구성된 데이터 구조 콤포넌트(65a)는 eMerchant와 얇은 디바이스 사이에 송신될 문서의 클래스에 대한 규칙이나 제약 세트인 스키마에 대해 유효성 검정된다. 현재 기술된 실시예에서, 스키마는, 전술된 바와 같이, XML Schema 파트 Ⅱ 스펙의 서브셋만을 포함하는, 감소된 Schema 1.0 표준(53d)이다. XML Schema 파트 Ⅱ의 서브셋은 유저가 제공한 데이터 값이 유효성 검정될 수 있는 여러 가지 데이터 타입을 제공한다. 예를 들어, 나이(age) 필드를 포함하는 폼에서, 이 스키마는 나이가 3자리 숫자의 음이 아닌 정수라는 것을 지정할 수 있다. 일단 구성된 데이터 구조 콤포넌트(65a)가 스키마에 대해 유효성 검정되면, 이 콤포넌트(65b)는 유저가 입력한 입력 데이터로부터 인스턴스 문서(67)를 형성하기 위해, 여러 데이터 필드에 의해 연결되어야 하는 다수의 제약을 포함하는 XForms 확장 콤포넌트(65b)와 연계하여 마이크로 XForms 엔진(61)에 의해 사용된다. XForms 확장(65b)에 의해 부과될 수 있는 정적인 제약의 일례는, "우편 번호" 필드가 5자리 숫자이어야 한다는 것이다. 부과될 수 있는 동적인 제약의 일례는, 환자가 자기의 성을 남성으로 지정하는 경우, 그는 임신 중이라는 것을 나타낼 수 없다는 것이다. 인스턴스 문서(67)는, 후술되는 바와 같이, 이 문서를 시발 서버(예를 들어, eMerchant)에게 다시 제출하기 전에, 유효성 검정된다.XForms model 65 includes two components, a data structure component 65a and an XForms extension component 65b. This data structure component 65a is essentially a data model derived from the data contained as part of the transmitted document DOC1 64. XForms extension component 65b is derived from other data included as part of the transmitted document (DOC1) 64 containing one or more constraints or data dependencies used in conjunction with the derived data model. The XForms model 65 is constructed by the micro XForms engine 61 from data provided in a thin device (ie, client), as described below. The configured data structure component 65a is then validated against a schema that is a set of rules or constraints on the class of document to be sent between the eMerchant and the thin device. In the presently described embodiment, the schema is the reduced Schema 1.0 standard 53d, which includes only a subset of the XML Schema Part II specification, as described above. The subset of XML Schema Part II provides several data types for which user-provided data values can be validated. For example, in a form that includes an age field, this schema can specify that age is a nonnegative integer of three digits. Once the configured data structure component 65a is validated against the schema, this component 65b has a number of constraints that must be concatenated by several data fields to form an instance document 67 from input data entered by the user. It is used by the micro XForms engine 61 in conjunction with the XForms extension component 65b. One example of a static constraint that may be imposed by the XForms extension 65b is that the "Postal Code" field must be five digits. One example of a dynamic constraint that may be imposed is that if a patient designates his last name as male, he cannot indicate that he is pregnant. The instance document 67 is validated before submitting this document back to the starter server (eg, eMerchant), as described below.

도 7 은, 마이크로 XForms 엔진(61)의 콤포넌트에 의해, XForms 모델(65)을 생성하는 것과 XForms 인스턴스 문서(67)를 생성하는 것과 연관된 단계를 예시하는 일반적인 흐름도이다. 전자 폼을 디스플레이 하는 방법은, 마이크로 XForms 엔진(61)의 소프트웨어 콤포넌트인 XML 파서(parser)(61c)의 소프트웨어 콤포넌트 중 하나인 경량의 SAX 파서(61d)에 의해 수신된 XML 문서(DOC1)(64)가 분석되는 것으로 시작한다. "간단한 어플리케이션 프로그래밍 인터페이스(simple application programming interface)"를 나타내거나 "간단한 API"를 나타내는 SAX는 이벤트 기반 구조를 통해 XML 문서를 분석하도록 고안된 표준 프로그래밍 인터페이스이다. 즉, SAX 는 어플리케이션 개발자가 "콜백(callback)" 방법이나 루틴 세트를 구현하는 이벤트 콜백 인터페이스의 타입이며, 각 콜백 방법이나 루틴은 XML 문서 인스턴스를 분석하는 동안 발생할 수 있는 이벤트에 대응한다. 본질적으로, 이 SAX 파서는 XML 문서에 있는 표준 콘텐츠 전부에 대한 이벤트의 트리거(triggering)를 지원한다. SAX 파서의 기능은, 이 XML 문서의 콘텐츠에 작용하는 것이 아니라 XML 문서를 판독하며 이 XML 문서 내에 있는 것들에 기초하여 이벤트를 트리거하는 것이다. SAX 이벤트는 이하 XML 문서 콘텐츠, 즉, 개방 또는 폐쇄 구성요소 태그, PCDATA 및 CDATA 섹션, 처리 명령, 코멘트, 및 개체 선언에 응답하여 트리거된다. 7 is a general flow diagram illustrating the steps involved in generating an XForms model 65 and generating an XForms instance document 67 by a component of the micro XForms engine 61. The electronic form display method is an XML document (DOC1) 64 received by a lightweight SAX parser 61d, which is one of the software components of the XML parser 61c, which is a software component of the micro XForms engine 61. ) Begins with the analysis. SAX, which stands for "simple application programming interface" or "simple API," is a standard programming interface designed to parse XML documents through event-based structures. In other words, SAX is a type of event callback interface that an application developer implements a "callback" method or set of routines. Each callback method or routine corresponds to an event that can occur while parsing an XML document instance. In essence, this SAX parser supports triggering events on all of the standard content in an XML document. The function of the SAX parser is not to act on the content of this XML document, but to read the XML document and trigger an event based on what is in this XML document. SAX events are triggered in response to the following XML document content: open or closed component tags, PCDATA and CDATA sections, processing instructions, comments, and object declarations.

계속 도 7을 참조하면, 경량의 SAX 파서(61d)는 수신된 문서(DOC1)(64)(즉, 전자 폼)를 분석하는 것으로부터 SAX 이벤트(72)를 트리거 한다. 일반적으로 상술된 바와 같이, 경량의 SAX 파서(61d)는 XML 문서(예를 들어, DOC1)(64)의 이벤트 기반 분석을 위한 인터페이스이다. 경량의 SAX 파서(61d)는, 도 5b에 이미 기술된 바와 같이, Namespaces 표준(53b)의 완전한 규칙 세트와, 감소된 XML 1.0 표준(53a)의 감소된 규칙 세트에 따라 구성된 소프트웨어 모듈이다. SAX에 관한 보다 상세한 정보는, 본 명세서에 참조 문헌으로 병합된, http://www.megginson.com/SAX/index.html와 그 내에 삽입된 링크에서 찾아볼 수 있다.With continued reference to FIG. 7, the lightweight SAX parser 61d triggers a SAX event 72 from analyzing the received document DOC1 64 (ie, an electronic form). As described generally above, the lightweight SAX parser 61d is an interface for event-based analysis of XML documents (eg, DOC1) 64. The lightweight SAX parser 61d is a software module constructed according to the complete rule set of the Namespaces standard 53b and the reduced rule set of the reduced XML 1.0 standard 53a, as already described in FIG. 5B. More detailed information about SAX can be found at http://www.megginson.com/SAX/index.html and links embedded therein, which are incorporated herein by reference.

XML 파서(61c)에 포함된 이벤트라우터(EventRouter)(73)(그러나 도 6에 별도로 도시되지는 않음)는 경량의 SAX 파서(61d)에 의해 트리거되는 SAX 이벤트(72)를 먼저 포착한다. 이벤트 라우터(73)의 기능은 SAX 이벤트(72)를 경량의 스키마 콤포넌트(61b)나 경량의 DOM(문서 객체 모듈) 핸들러(61e) 또는 특정 SAX 이벤트의 상황에 기초한 유저 인터페이스(66)에 송신하는 것이다. 경량의 스키마 콤포넌트(61b)는, 전술된 바와 같이, 감소된 Schema 1.0 표준(53d)의 감소된 규칙 세트에 따라 구성된 소프트웨어 모듈이라는 것을 주의해야 한다. 경량의 DOM 핸들러(61e)는 XForms 인스턴스 문서(67)를 형성하는 일을 담당한다는 것을 또한 주의해야 한다. 경량의 DOM 핸들러(61e)는 완전한 Namespaces 표준(53b)을 사용하지만, 인스턴스 문서(67)가 감소된 XML 1.0 표준(53a)과 감소된 XForms 1.0 (53e)에 기초를 두기 때문에, 경량의 DOM(61e)은 인스턴스 문서(67)에 있는 각 구성요소에 대해 저장된 정보의 양을 최소화한다.An EventRouter 73 (but not separately shown in FIG. 6) included in the XML parser 61c first catches the SAX event 72 triggered by the lightweight SAX parser 61d. The function of the event router 73 sends the SAX event 72 to the lightweight schema component 61b or the lightweight document object module (DOM) handler 61e or to the user interface 66 based on the situation of the particular SAX event. will be. It should be noted that the lightweight schema component 61b is a software module configured according to the reduced rule set of the reduced Schema 1.0 standard 53d, as described above. It should also be noted that the lightweight DOM handler 61e is responsible for forming the XForms instance document 67. The lightweight DOM handler 61e uses the full Namespaces standard 53b, but because the instance document 67 is based on the reduced XML 1.0 standard 53a and the reduced XForms 1.0 53e, the lightweight DOM ( 61e) minimizes the amount of information stored for each component in the instance document 67.

이벤트라우터(73)가 주어진 SAX 이벤트를 처리하는 일을 담당하는 개체를 결정한 후에, 이 이벤트는 적절한 개체로 송신된다. XForms 모델(65)은 경량의 스키마 콤포넌트(61b)에 송신된 이벤트에 기초하여 형성된다. XForms 인스턴스 문서(67)는 경량의 DOM 파서(61e)에 송신된 이벤트에 기초하여 형성된다. 그리하여, 유효한 XForms 문서(DOC1)(64)가 입력으로 제공되었다면, 디스플레이 단계의 끝에는, XForms 모델(65)이 구성될 수 있을 것이다. 그렇지 않으면 그 예외가 트리거된다. After the event router 73 determines the entity responsible for handling the given SAX event, this event is sent to the appropriate entity. The XForms model 65 is formed based on the events sent to the lightweight schema component 61b. The XForms instance document 67 is formed based on the events sent to the lightweight DOM parser 61e. Thus, if a valid XForms document (DOC1) 64 was provided as input, at the end of the display phase, an XForms model 65 could be constructed. Otherwise, the exception is triggered.

또, 이벤트 라우터(73)는 프리젠테이션을 하기 위해 수신된 SAX 이벤트를 UI(66)로 라우팅한다. 주지된 바와 같이, XML 기반 폼의 프리젠테이션 데이터가 폼의 데이터 및 논리로부터 분리되기 때문에, 전체 프리젠테이션은 이 디바이스에 적용가능한 방식으로 처리 및 디스플레이를 위해 얇은 디바이스(UI)(66)로 라우팅된다. The event router 73 also routes the received SAX event to the UI 66 for presentation. As noted, since the presentation data of an XML-based form is separated from the data and logic of the form, the entire presentation is routed to a thin device (UI) 66 for processing and display in a manner applicable to this device. .

전자 폼을 채우기Fill the electronic form

그 다음 단계에서, 유저에 의해 폼을 채우는 단계가 수행된다. 유저가 디스플레이된 XML 문서(DOC1)(64)의 UI 입력 필드에 채워 넣을 때, 대응하는 구성요소의 값은 XForms 인스턴스 문서(67)를 또한 변경한다. 이것은 각 UI 입력 필드가 XPath 연결을 통해 XPath 표현으로 링크된 결과로서 발생한다. XPath는 XML 문서(예를 들어 DOC1)(64) 내의 노드가 어떻게 액세스되는지를 처리한다. 일반적으로, "연결"은, 로케이터로 연결 표현을 사용하여 모델 항목 제약에 또는 폼 제어에 인스턴스 데이터 노드를 연결시킨다.In the next step, the filling of the form by the user is performed. When the user fills in the UI input field of the displayed XML document (DOC1) 64, the value of the corresponding component also changes the XForms instance document 67. This occurs as a result of each UI input field linked to an XPath representation through an XPath connection. XPath handles how nodes within an XML document (eg DOC1) 64 are accessed. In general, a "connection" connects an instance data node to model item constraints or form controls using a connection representation with a locator.

도 8 은 UI 입력 필드를 XPath 표현으로 연결하기 위해 XPath 연결이 어떻게 실현되는지에 대한 예시적인 일례이다. 예시된 예에서, "Octav"라는 표현을 포함하는 텍스트박스(81)는 XPath 표현 "/name/first name"을 사용하여 XForms 데이터 인스턴스(85)에서 구성요소 "first name"(83)와 연결된다. XPath 는 UI 콤포넌트(81)와 XForms 데이터 인스턴스(85) 사이를 연결하는 언어이다.8 is an illustrative example of how XPath concatenation is realized to concatenate UI input fields with an XPath representation. In the illustrated example, the textbox 81 containing the expression "Octav" is associated with the component "first name" 83 in the XForms data instance 85 using the XPath expression "/ name / first name". . XPath is a language that connects between the UI component 81 and the XForms data instance 85.

도 5b와 관련하여 전술된 바와 같이 본 발명의 마이크로 XForms 엔진(61)의 감소된 XPath 콤포넌트(61a)는 XML 문서 내에 대응하는 데이터 인스턴스 노드를 연결하도록 폼 제어와 XPath 연결 작업을 수행한다. As described above with respect to FIG. 5B, the reduced XPath component 61a of the micro XForms engine 61 of the present invention performs form control and XPath linking operations to link corresponding data instance nodes within an XML document.

전자 폼의 유효성 검정Validation of Electronic Forms

폼을 채우는 동안 임의의 지점에서, 유효성 검정 단계가 시작될 수 있다. 유효성 검정 단계는 마이크로 XForms 엔진(61)에 의해 구성된 XForms 모델(65)에 대해 XForms 인스턴스 문서(67)에서 발견된 정보를 체크하는 것으로 이루어진다. At any point during the filling of the form, the validation step can begin. The validation step consists of checking the information found in the XForms instance document 67 against the XForms model 65 constructed by the micro XForms engine 61.

전술된 바와 같이, 메모리의 제약으로 인해, XForms 모델 데이터 구조 콤포넌트(65a)를 유효성 검정하는데 이미 사용된 경량의 스키마 콤포넌트(61b)에서 XML Schema 파트 Ⅱ 스펙의 서브셋만이 지원된다. 그리하여, 마이크로 XForms 엔진(61)은, XForms 인스턴스 문서(67)의 특정 구성요소 값이 지정된 데이터 타입에 대해 유효한지만을 체크한다. XForms 인스턴스 문서(67)가 이미 구성된 XForms 모델(65)에 대해 유효한지를 체크하기 위해, 다음의 단계들이 이어진다:As mentioned above, due to memory constraints, only a subset of the XML Schema Part II specification is supported in the lightweight schema components 61b that have already been used to validate the XForms model data structure components 65a. Thus, the micro XForms engine 61 checks only if a particular component value in the XForms instance document 67 is valid for the specified data type. To check whether the XForms instance document 67 is valid for an already configured XForms model 65, the following steps are followed:

후순위로 DOM 트리를 횡단하는 동안:While traversing the DOM tree with subordinate order:

만일 구성요소가 텍스트 정보를 포함한다면, 이 정보는 정상화되며, 만일 If the component contains textual information, this information is normalized.

1) 데이터 타입이 지정되어 있지 않은 그 요소에 대해서는 데이터 인스턴스는 유효하지 않으며,1) The data instance is invalid for that element for which no data type is specified.

2) 데이터 타입이 지정되어 있는 그 요소에 대해서는 XForms 인스턴스 문서는 XForms 모델에 한정된 타입의 제약에 대해 체크된다. 이 제약이 만족되면 계속 진행된다. 그렇지 않으면, XForms 인스턴스 문서는 유효하지 않다. 2) For those elements whose data type is specified, the XForms instance document is checked for constraints on types that are specific to the XForms model. If this constraint is satisfied, continue. Otherwise, the XForms instance document is invalid.

그 구성요소가 임의의 자식(트리에서 가지 노드)을 가지고 있지 않으면, 이 구성요소는 타입이 지정되어야 한다.If the component does not have any children (branch nodes in the tree), this component must be typed.

이 구성요소가 타입이 지정되어 있지 않으면, XForms 인스턴스 문서는 유효하지 않다. If this component is untyped, the XForms instance document is invalid.

모든 노드가 횡단되었는데 에러가 발생하지 않았다면, XForms 인스턴스 문서는 유효하다. If all nodes are traversed and no error occurs, the XForms instance document is valid.

XForms 인스턴스 문서가 체크되는, XForms 모델(65)을 생성하기 위한 완전한 XML Schema 파트 Ⅱ 스펙의 서브셋만을 제공하는 것에 의해, 유효하지 않은 문서를 생성할 가능성도 존재한다. 그러나, 이러한 원치 않은 상황이 발생할 가능성은 그 내에 XML Schema 스펙의 제한된 서브셋만을 저장하여야 하는 것에 의해 얇은 디바이스의 처리 능력과 메모리 제약에 따를 수 있는 능력에 의해 조절된다.There is also the possibility of creating an invalid document by providing only a subset of the complete XML Schema Part II specification for generating the XForms model 65, in which the XForms instance document is checked. However, the likelihood of this undesired situation being controlled is controlled by the ability to accommodate thin device processing power and memory constraints by only storing a limited subset of the XML Schema specification in it.

제출submission

전술된 바와 같이, XForms 데이터 인스턴스(67)는 제출 단계 동안 웹 서버(62)에 다시 전송된다. 임의의 잘 알려진 데이터 전송 프로토콜이 데이터 인스턴스(67)를 제출하는데 사용될 수 있다. 예를 들어, HTTP 및 SOAP 전송 프로토콜이 함께 사용된다. 제출 단계는 마이크로 XForms 엔진(61)의 파트에 대한 임의의 동작을 수반하지 않으므로 더 상세하게 논의되지 않는다. As mentioned above, the XForms data instance 67 is sent back to the web server 62 during the submission phase. Any well known data transfer protocol can be used to submit the data instance 67. For example, HTTP and SOAP transport protocols are used together. The submission step is not discussed in more detail as it does not involve any action on the parts of the micro XForms engine 61.

이렇게 본 발명의 마이크로 XForms 엔진(61)이 처리 제약과 메모리 요구조건에 제약이 있는 것을 특징으로 하는 얇은 디바이스에 사용하기에 스케일러블하다는 것이 도시되었다. 그리하여, 마이크로 XForms 엔진(61)은, 예를 들어, 개인 휴대 단말기(PDA), 셀룰러 전화, 셋톱 박스, 또는 다른 인터넷 인에이블 "얇은" 처리 디바이스를 포함하는 광범위한 플랫폼에 사용하기에 적절하다. As such, it has been shown that the micro XForms engine 61 of the present invention is scalable for use in thin devices characterized by processing constraints and memory requirements. Thus, the micro XForms engine 61 is suitable for use on a wide range of platforms, including, for example, personal digital assistants (PDAs), cellular phones, set top boxes, or other Internet enabled "thin" processing devices.

본 발명의 예시적인 실시예가 첨부하는 도면을 참조하여 본 명세서에 기술되었지만, 본 발명은 이들 정확한 실시예로 제한되지 않으며, 오히려, 본 발명의 범위는 첨부된 청구항의 범위에 의해 한정된다는 것을 이해하여야 할 것이다.Although exemplary embodiments of the invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiments, but rather that the scope of the invention is defined by the scope of the appended claims. something to do.

전술된 바와 같이, 본 발명은, 인터넷과 같은 컴퓨터 네트워크 상에서 전자 폼을 처리하는 XML 기반 스케일러블 폼 엔진에 이용가능하다.As noted above, the present invention is applicable to an XML-based scalable form engine that processes electronic forms on a computer network, such as the Internet.

Claims (15)

제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법으로서, A method of processing information in a device with limited processing power and limited memory capacity, 완전한 XForms 스펙의 지정된 서브셋에 기초하여 XForms 엔진을 사용하여 확장성 생성 언어(extensible mark-up language)(XML) 문서를 처리하는 단계와,Processing an extensible mark-up language (XML) document using the XForms engine based on a specified subset of the complete XForms specification, 유효한 XForms 인스턴스 문서(instance document)를 생성하기 위해 상기 처리 단계의 결과를 이용하는 단계Using the results of the processing steps to create a valid XForms instance document 를 포함하는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.A method of processing information in a device having a limited processing capacity and a limited memory capacity, comprising. 제 1 항에 있어서, 상기 처리 단계는, 상기 XForms 인스턴스 문서를, 디스플레이하는 단계, 기입(filling)하는 단계, 유효성 검정(validating)하는 단계, 및 제출하는 단계를 포함하는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.2. The limited processing power and limited memory of claim 1, wherein the processing step includes displaying, filling, validating, and submitting the XForms instance document. A method of processing information in a device having a capacity. 제 2 항에 있어서, 상기 디스플레이 하는 단계는, 이 디바이스에 대응하는 유저 인터페이스(UI) 콤포넌트를 디스플레이 하는 단계를 포함하며, 상기 디스플레이된 콤포넌트는 상기 인스턴스 문서에 포함된 하부 데이터(underlying data)로부터 분리되는(decoupled), 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.3. The method of claim 2, wherein displaying comprises displaying a user interface (UI) component corresponding to the device, wherein the displayed component is separated from underlying data contained in the instance document. A method of processing information in a device that is decoupled and has limited processing power and limited memory capacity. 제 3 항에 있어서, 상기 유저 인터페이스 콤포넌트는, WML 유저 인터페이스, HTML 인터페이스, 음성 인식(voice recognition)을 지원하는 유저 인터페이스, 및 수기 인식(handwriting recognition)을 지원하는 유저 인터페이스 중 하나인, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.4. The limited processing capability of claim 3, wherein the user interface component is one of a WML user interface, an HTML interface, a user interface that supports voice recognition, and a user interface that supports handwriting recognition. And processing information in a device with limited memory capacity. 제 1 항에 있어서, 상기 XForms 엔진은 상기 디바이스의 메모리 용량과 처리 능력의 함수로서 상기 완전한 XForms 스펙의 복수의 다른 서브셋을 구현하기에 적합한 스케일러블 엔진(scalable engine)인, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.2. The limited processing power and limited memory of claim 1, wherein the XForms engine is a scalable engine suitable for implementing a plurality of different subsets of the complete XForms specification as a function of the memory capacity and processing power of the device. A method of processing information in a device having a capacity. 제 1 항에 있어서, 상기 디바이스는, 무선 전화, 개인 휴대 단말기(PDA), 리모트 컨트롤 디바이스, 셋톱박스, 및 게임 콘솔로 구성된 그룹으로부터 선택되는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.The device of claim 1, wherein the device receives information from a device having limited processing capacity and limited memory capacity, selected from the group consisting of a wireless telephone, a personal digital assistant (PDA), a remote control device, a set top box, and a game console. How to deal. 제 1 항에 있어서, 상기 XForms 엔진은, 권고된 XPath 표준에 한정된 규칙의 제 1 서브셋과, 권고된 스키마(Schema) 표준에 한정된 규칙의 제 2 서브셋과, 권고된 XML 표준에 한정된 규칙의 제 3 서브셋의 그룹으로부터 선택된 적어도 하나로부터 구성되는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.2. The system of claim 1, wherein the XForms engine comprises: a first subset of rules defined in the recommended XPath standard, a second subset of rules defined in the recommended Schema standard, and a third set of rules defined in the recommended XML standard. A method for processing information in a device having limited processing power and limited memory capacity, configured from at least one selected from a group of subsets. 제 7 항에 있어서, 상기 규칙의 제 3 서브셋은, 다음의 요소, 즉 8. The method of claim 7, wherein the third subset of the rule comprises the following elements, i.e. [1] 문서 ::= 구성요소*[1] Documentation :: = Components * [2] 구성요소 ::= STag 컨텐츠 ETag [2] component :: = STag content ETag [3] STag ::= '<'QNAME(Attribute)+'>'[3] STag :: = '<' QNAME (Attribute) + '>' [4] ETag ::= '</'QName'>'[4] ETag :: = '</' QName '>' [5] 콘텐츠 ::= 구성요소*|Char* [5] Content :: = Components * | Char * [6] 속성 ::= 이름 '=' '"'Char*'"'[6] Properties :: = Name '=''"' Char * '"' [7] 이름 ::= NameChar* [7] Name :: = NameChar * [8] NameChar ::= 문자|숫자|'.'|'-'|'_'|':' [8] NameChar :: = character | number | '.' | '-' | '_' | ':' [9] 문자 ::= [A-Z][a-z] [9] character :: = [A-Z] [a-z] [10] 숫자 ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9' [10] Number :: = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' [11] Char ::= 문자|숫자|'!'|'#'|'$'|'%'|'('|')'|'*'|'+'|','|'-'|'.'| '/'| ':'|';'|'='|'?'|'@'|'['|'\'|']'|'^'|'_'|'`'|'{'|'}'|'∼'[11] Char :: = character | number | '!' | '#' | '$' | '%' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '=' | '?' | '@' | '[' | '\' | ']' | '^' | '_' | '`' | '{' | '} '|' ~ ' [12] Qname ::= (Name':')?Name [12] Qname :: = (Name ':')? Name 중 하나 이상을 포함하는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법. A method of processing information in a device having limited processing power and limited memory capacity, the method comprising one or more of: 제 7 항에 있어서, 상기 규칙의 제 1 서브셋은, 다음 구성요소, 즉8. The method of claim 7, wherein the first subset of the rules comprises the following components: [1] 셀렉터 ::= Path('|'Path)* [1] selector :: = Path ('|' Path) * [2] Path ::= '/'(Step('/'|'//'))*(Step|'@'NameTest) [2] Path :: = '/' (Step ('/' | '//')) * (Step | '@' NameTest) [3] Step ::= '.'|(NameTest|'child::'NameTest)('[Digits']')?[3] Step :: = '.' | (NameTest | 'child ::' NameTest) ('[Digits']')? [4] NameTest ::= QName|'*'|NCName':''*'[4] NameTest :: = QName | ' * '| NCName': '' * ' [5] QName ::= (NCName':')? NCName[5] QName :: = (NCName ':')? NCName [6] NCName ::= (문자|'_')Char[6] NCName :: = (character | '_') Char [7] 숫자 ::= [0-9]+ [7] Number :: = [0-9] + [8] 문자 ::= [A-Z][a-z] [8] character :: = [A-Z] [a-z] [9] Char ::= 문자|숫자'!'|'#'|'$'|'%'|'('|')'|'*'|'+'|','|'-'|'.'|'/'| ':'|';'|'='|'?'|'@'|'['|'\'|']'|'^'|'_'|'`'|'{'|'}'|'∼'[9] Char :: = character | number '!' | '#' | '$' | '%' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '=' | '?' | '@' | '[' | '\' | ']' | '^' | '_' | '`' | '{' | '} '|' ~ ' 중 하나 이상을 포함하는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하는 방법.A method of processing information in a device having limited processing power and limited memory capacity, the method comprising one or more of: 확장성 생성 언어의 문서를 처리하기 위한 장치에 있어서,An apparatus for processing a document of an extensibility generation language, 완전한 XForms 스펙의 서브셋의 지정된 서브셋에 기초하여 상기 문서를 처리하도록 동작가능한 XForms 엔진을 포함하며, 여기서 유효한 XForms 인스턴스 문서를 출력하도록 상기 XForms 엔진에 의한 처리 결과가 이용되는, 확장성 생성 언어의 문서를 처리하기 위한 장치.An XForms engine operable to process the document based on a specified subset of a subset of the complete XForms specification, wherein the document of the extensibility generation language is used, where the results of processing by the XForms engine are used to output a valid XForms instance document. Device for processing. 제 10 항에 있어서, 상기 XForms 엔진은, 감소된 XPath 콤포넌트, 경량의 스키마 콤포넌트와 XML 파서 콤포넌트를 포함하는, 확장성 생성 언어의 문서를 처리하기 위한 장치.11. The apparatus of claim 10, wherein the XForms engine includes reduced XPath components, lightweight schema components, and XML parser components. 확장성 생성 언어(XML)의 정보를 처리하기 위한 하나 이상의 소프트웨어 프로그램을 포함하는 기계 판독가능한 저장 매체를 포함하는 제조 물품으로서, An article of manufacture comprising a machine readable storage medium containing one or more software programs for processing information in Extensible Generation Language (XML), 상기 제조 물품은 XML 표준의 완전한 세트의 지정된 서브셋을 지원하도록 구성된 얇은 처리 디바이스(thin processing device)에 사용하기에 적합하며, The article of manufacture is suitable for use in a thin processing device configured to support a specified subset of the complete set of XML standards, 상기 하나 이상의 소프트웨어 프로그램은,The one or more software programs, 실행될 때When run 완전한 XForms 스펙의 지정된 서브셋에 기초하여 XForms 엔진을 사용하여 확장성 생성 언어(XML) 문서를 처리하며,Process Extensible Generation Language (XML) documents using the XForms engine based on a specified subset of the complete XForms specification, 유효한 XForms 인스턴스 문서를 생성하도록 상기 처리 결과를 이용하는, Using the processing result to generate a valid XForms instance document, 기계 판독 가능한 저장 매체를 포함하는 제조 물품.An article of manufacture comprising a machine readable storage medium. 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하기 위한 시스템으로서,A system for processing information in devices with limited processing power and limited memory capacity, a) 확장성 기반 생성 언어(XML)에 기초한 문서를 상기 디바이스로 제공하는 적어도 하나의 시발 디바이스(originating device)와,a) at least one originating device for providing a document based on Extensibility Based Generation Language (XML) to the device, b) 상기 수신된 XML 기반 문서를 처리하도록 구성된 처리 디바이스로서 상기 처리 디바이스는 완전한 XForms 스펙의 지정된 서브셋에 기초하여 XForms 엔진을 포함하는, 처리 디바이스b) a processing device configured to process the received XML-based document, the processing device comprising an XForms engine based on a specified subset of a complete XForms specification; 를 포함하는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하기 위한 시스템.And a system for processing information at a device having limited processing capability and limited memory capacity. 제 13 항에 있어서, 상기 XForms 엔진은, XPath 소프트웨어 콤포넌트, 경량의 스키마 소프트웨어 콤포넌트, 및 감소된 XML 파서 콤포넌트로 구성되는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하기 위한 시스템.14. The system of claim 13, wherein the XForms engine consists of an XPath software component, a lightweight schema software component, and a reduced XML parser component. 제 13 항에 있어서, 상기 XForms 엔진은 유저 인터페이스 소프트웨어 콤포넌트로 더 구성되는, 제한된 처리 능력과 제한된 메모리 용량을 가지는 디바이스에서 정보를 처리하기 위한 시스템.The system of claim 13, wherein the XForms engine is further configured with user interface software components.
KR10-2004-7020736A 2002-06-20 2003-06-16 A method and apparatus for processing electronic forms for use with resource constrained devices KR20050016595A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-7020736A KR20050016595A (en) 2002-06-20 2003-06-16 A method and apparatus for processing electronic forms for use with resource constrained devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/176,236 2002-06-20
KR10-2004-7020736A KR20050016595A (en) 2002-06-20 2003-06-16 A method and apparatus for processing electronic forms for use with resource constrained devices

Publications (1)

Publication Number Publication Date
KR20050016595A true KR20050016595A (en) 2005-02-21

Family

ID=41783512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7020736A KR20050016595A (en) 2002-06-20 2003-06-16 A method and apparatus for processing electronic forms for use with resource constrained devices

Country Status (1)

Country Link
KR (1) KR20050016595A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720164B1 (en) * 2005-12-02 2007-05-18 주식회사 셀런 System and method for the construction of application program manager for set top box

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720164B1 (en) * 2005-12-02 2007-05-18 주식회사 셀런 System and method for the construction of application program manager for set top box
WO2007064056A1 (en) * 2005-12-02 2007-06-07 Celrun Co., Ltd. System and method for the construction of application manager for set top box

Similar Documents

Publication Publication Date Title
US20040003341A1 (en) Method and apparatus for processing electronic forms for use with resource constrained devices
US7500017B2 (en) Method and system for providing an XML binary format
US8635218B2 (en) Generation of XSLT style sheets for different portable devices
US20040225749A1 (en) Transformation of web site summary via taglibs
Casteleyn et al. Engineering web applications
US7558841B2 (en) Method, system, and computer-readable medium for communicating results to a data query in a computer network
US20030135825A1 (en) Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
JP2005507523A (en) Improvements related to document generation
US20040133635A1 (en) Transformation of web description documents
US20060136422A1 (en) Multiple bindings in web service data connection
US20040225724A1 (en) RPC type SOAP service access via taglibs for dynamic web content
EP1283993A2 (en) Method and system for building internet-based applications
WO2007097848A1 (en) Xml payload specification for modeling edi schemas
US20040225959A1 (en) Appearance properties for web applications using TagLibs
US20050273768A1 (en) Method of and system for providing path based object to XML mapping
US7774702B2 (en) Method and computer system for providing and processing a human interface description
AU2002310851A1 (en) Method and computer system for providing and processing a human interface description
US20070234200A1 (en) Model view controller modeling language
KR20050016595A (en) A method and apparatus for processing electronic forms for use with resource constrained devices
Honkala et al. Xforms in x-smiles
Leung Professional XML Development with Apache Tools: Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Armstrong Working with XML
Aho et al. Compilers Principles, Techniques, and
Hartsough et al. Learn XML in a Weekend
KR20210088848A (en) Method for generating the document based on xml and computing device implementing the same

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination