JP2006510955A - System and method for context independent framework for managing and executing the Xml processing tasks - Google Patents

System and method for context independent framework for managing and executing the Xml processing tasks Download PDF


Publication number
JP2006510955A JP2004528803A JP2004528803A JP2006510955A JP 2006510955 A JP2006510955 A JP 2006510955A JP 2004528803 A JP2004528803 A JP 2004528803A JP 2004528803 A JP2004528803 A JP 2004528803A JP 2006510955 A JP2006510955 A JP 2006510955A
Prior art keywords
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Application number
Other languages
Japanese (ja)
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
Priority to US40364102P priority Critical
Priority to IS6509 priority
Application filed by チームウェア・グループ・オサケユキテュア filed Critical チームウェア・グループ・オサケユキテュア
Priority to PCT/IS2003/000024 priority patent/WO2004017230A1/en
Publication of JP2006510955A publication Critical patent/JP2006510955A/en
Application status is Pending legal-status Critical




    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database


XML処理タスクの管理および事項のためのコンテキスト独立フレームワーク・システムを提供する。 Provide context independent framework system for managing and matters XML processing tasks. XML処理タスクを、ここではXSAエンジンと呼ぶモジュールによって、特殊目的XML系プログラミング言語で書かれた電子文書として用意された既定の1組の命令にしたがって実行する。 The XML processing tasks, here by a module called the XSA engine, performed according to the default set of instructions that are provided as an electronic document written in a special purpose XML-based programming language. 命令集合は、3つのクラスの処理モジュールへの参照を収容し、その実行を制御する。 Instruction set accommodates a reference to the three classes of process modules to control its execution. 3つのクラスの処理モジュールは、独立してXML処理サブタスクを遂行し、合同して1つのXML処理タスクを達成する。 Three classes of process modules independently performs XML processing subtasks to achieve one XML processing tasks jointly. フレームワークは、いずれの特定の実行コンテキストからも切断されており、殆どあらゆる所望の用途において、標準化XML処理を適用できることを意味する。 Framework is also disconnected from any particular execution context, in almost any desired application, means that it is possible to apply a standardized XML processing. 特殊目的プログラミング言語は、汎用プログラミング言語を用いた場合と比較して、XML処理タスクの開発の生産性を高め、カスタム・コードを書いて異なる形式のXML処理サブタスクにリンクしてXML処理タスクを遂行する必要性を低下させている。 Special purpose programming languages, as compared with the case of using a general purpose programming language, increase the productivity of the development of XML processing tasks, perform XML processing tasks linked to XML processing subtasks different formats to write custom code and it reduces the need for.


特殊目的プログラミング言語を用いた構造型データのコンテキスト独立処理を含むタスクの実行管理システム。 Execution management system tasks including context independent processing structure type data using special purpose programming language.

殆どのコンピュータ・アプリケーションは、あるタスク(複数のタスク)を遂行し、プロセスにおいてその人間のユーザのために楽な生活をもたらすように設計されている。 Most computer applications are designed is to perform a task (plural tasks), to provide a comfortable living for that human user in the process. コンピュータ・ネットワークおよびインターネットは、コンピュータ・アプリケーションによって生活を楽にする新しい機会を導入した。 Computer networks and the Internet, introduced a new opportunity to make life easier by computer applications. 今日、会社または組織内におけるコンピュータは殆ど全て何らかのコンピュータ・ネットワークに接続されており、更にインターネットにも接続されているのが一般的である。 Today, computers in the company or organization is connected almost all to some computer networks, it is more common that is connected to the Internet.

近年、拡張可能マークアップ言語(XML:Extensible mark-up language)が、あらゆる形式の構造化データを記述する共通の方法として出現した。 Recently, Extensible Markup Language (XML: Extensible mark-up language) have emerged structured data in any format as a common way of describing. XMLに対する広範な業界支援およびXML開発の遍在により、何らかの形式のXML対応をアプリケーションに設けるコンピュータ・アプリケーションの供給業者数が増加しつつある。 The ubiquitous extensive industry support and XML development for XML, supplier number of computer applications to provide XML-enabled some form to the application are increasing. ある新しいアプリケーションが提供するXML対応の一種に、ウェブ・サービスと呼ばれるものがある。 A kind of XML corresponding to a new application is provided, there is what is referred to as a web service. ウェブ・サービスは、ソフトウェア・コンポーネントであり、予め規定したXMLインターフェースを、一般にインターネットを通じてアクセス可能な、そのデータおよびサービスに公開する(expose)。 Web service is a software component, the XML interface defined previously, generally accessible through the Internet, to publish their data and services (expose).

XMLは、電子出版の分野、特に出版が依頼に応じて行われ、コンピュータ・ネットワークを通じたデータの移動を伴う場合に、頻繁に用いられている。 XML is the field of electronic publishing, performed particularly according to publication request, when involving the movement of data through the computer network, are frequently used. 例えば、全てのブラウザ・アプリケーションは、ある形式のXMLまたはXML関連データ・フォーマット(例えば、HTML、XHTML、WML)を理解し、これらをその人間のユーザに提供する。 For example, all of the browser application, some type of XML or XML-related data format (e.g., HTML, XHTML, WML) to understand and provides them to the human user. 他の種類の電子的表現に対する他の表現フォーマットは、XMLまたはXML系であっても、なくてもよいが、一般にXMLは出版アプリケーションには非常に適している。 Other presentation formats for other types of electronic representation may be a XML or XML-based, may be absent, but generally XML is highly suitable for publishing applications.

電子業務は、XMLおよびインターネットが主要な役割を果たす別の分野である。 E-business is a different field play a major role is XML and the Internet. 電子業務は、多くの場合自動的な、電子業務トランザクションを既定の規則に応じた組織と呼び出し基準(invocation criteria)との間で行うことを伴う。 Electronic business involves performed with the often automatic, organization and call reference corresponding electronic business transactions on predefined rules (invocation criteria). EDIは、共通の非XML系電子業務フレームワークであるが、現在出現しつつある連続フレームワーク(例えば、BizTalk、ebXMLなど)は全て、XMLおよびインターネットに大きく頼っている。 EDI is a common non-XML-based electronic business framework, continuous framework currently emerging (e.g., BizTalk, ebXML, etc.) are all rely heavily on XML and the Internet.

コンピュータ・ネットワーキングの全体的な採用にも拘わらず、多くのアプリケーションは、たとえネットワーク上で他のアプリケーションと自由に通信することが効果的であっても、これを行うことができない。 Despite the overall adoption of computer networking, many applications, even if effective to communicate freely with other applications on the network, it is impossible to do this. 殆どのアプリケーションは、ネットワーク上で外部アプリケーションからデータをインポートし、外部アプリケーションにデータをエクスポートする何らかの機能を有している。 Most applications, import data from external applications on a network, and has some ability to export data to external applications. しかしながら、生憎、現行のアプリケーションの殆どは、一般に、企業固有のデータ・フォーマットおよびプロトコルを必要とし、アプリケーション間の、恐らくは有益な、通信を難しくしている。 However, unfortunately, most of the current applications, generally require proprietary data formats and protocols, between applications, and possibly beneficial, the communication difficult. これが意味するのは、アプリケーション間の自動情報交換(統合)は多くの場合非常に望ましいが、特注であることが多いミドルウェア(またはインタープリタ・ソフトウェア)によってデータを導出しプロトコル間で変換することが必要であり、そうして初めてアプリケーションが自由に通信しデータ/情報を交換できるようになるということである。 This means that automatic exchange of information between applications (integration) is highly desirable in many cases, necessary to convert between derives data protocol by the middleware is often a custom (or interpreter software) , and the thus for the first time that the application will be able to exchange communications with data / information freely.

これに関連して、組織が統合統一インターフェースを1つよりも多いバック・エンド・アプリケーション(back-end application)にアクセスさせたいときに、統合化の問題が起こることが多い。 In this connection, when it is desired to organization access the integrated unified interface to more than one back-end application (back-end application), it often occurs the problem of integration. このようなアプリケーションは自由に通信しない場合が多いので、単一のアプリケーションが、多くのシステムからのデータに対するビュー(view)を備えたインターフェースを提供することができない。 Since such applications are in many cases not communicate freely, a single application is unable to provide an interface with the view (view) for data from many systems. この問題に対する唯一の解法は、ポータル・ソフトウェア・ミドルウェアを導入することであるが、このためには、必要とされるシステム全てに通信することができ、全てのデータを適宜融合かつ統一し、次いで全てのアプリケーションからのデータ/サービスに対して統合化したビューを備えた、一貫性のあるインターフェースを設ける必要がある。 The only solution to this problem is to introduce a portal software middleware, for this purpose, can be communicated to all systems required, all data appropriately fused and unified, then with an integrated the view for the data / services from all applications, it is necessary to provide a consistent interface. しかしながら、ポータル・ソフトウェアは、多くのシステムからのデータ複製に頼るという欠点を有することがときどきある。 However, portal software, it has the disadvantage of relying on data replication from many systems sometimes.

電子出版においては、別の統合化問題も発生する。 In electronic publishing, also generated another integration problem. 多くのアプリケーションの表現能力には限界があるので、そのインターフェースに対する人間の双方向処理を1種類のメディアのみでしか提供できない場合が多い。 Since the expression ability of many applications is limited, often only provide human interactive processing for the interface only with one type of media. これが意味するのは、新たな表現の必要性が生じた場合、アプリケーションのインターフェースを拡張するためには、特注であることが多いミドルウェア・ソフトウェアの導入が必要となるということである。 This means, when the need for new expression occurs, in order to extend the application of the interface is that it is necessary to introduce a large middleware software is custom.

また、これに関連して、多くの電子表現フォーマット(例えば、AdobeのPDF文書、MSWordの文書)には、コンテンツ・データと表現データとの間に殆どまたは全く分離がないという事実の中に、別の表現の問題がある。 In this connection, many electronic presentation format (e.g., PDF documents Adobe, document MSWord), the in the fact that little or no separation between the content data and presentation data, there is another representation of the problem. これが意味するのは、新たな表現の必要性が生じた場合、既存の文書を新たなフォーマットに適合化することが困難または不可能であるということである。 This means is that when the need for new expression has occurred, it is difficult or impossible to adapt an existing document to a new format.

以上の問題の一部は、組織が彼らの古いアプリケーションを新しいものと交換すれば、救済することができ、あるいは解消できることさえある。 Some of these problems, if the exchange organization with a new one their older applications, can be repaired, or even some that can be eliminated. しかしながら、多くの組織は、企業アプリケーション統合(Enterprise Application Integration)を導入することによって問題を軽減しようとしてきた。 However, many organizations have been trying to alleviate the problem by introducing an enterprise application integration (Enterprise Application Integration). これは、大抵の場合、ミドルウェアをインストールして、アプリケーションの既存のインターフェースを改良または拡張するか、あるいはアプリケーションが他のアプリケーションと通信できるようにすることによって、既存のアプリケーションの有効範囲をいくらか拡張できるようにすることを伴う。 This, in most cases, by installing the middleware, by either improving or extending the existing interface of the application, or application to communicate with other applications, can be somewhat extended the scope of existing applications It involves the way.

XMLは、構造化データに頼るあらゆるアプリケーションに非常に適している。 XML is well suited for any application relying on structured data. XMLの独特な特性および例外的に広い業界の対応によって、これは統合化、電子業務および出版の用途に非常に有用であることがわかっている。 By corresponding unique properties and exceptionally broad industry XML, which is found to be integrated, it is very useful for electronic business and publishing applications. 多くの分析者は、XMLには、アプリケーションが実際に互いに通信しあうことを可能にし、したがってそのユーザの生活を一層楽にする見込みがあることを確信している。 Many analysts, the XML, believes that the application is actually allows communicate with each other, thus it is expected to further make life easier for the user. 実際には、これは、XMLが解決策に関与する場合の統合化コストの低下を意味する。 In practice, this means a reduction in integration cost of participating in XML a solution. 少なくともXMLおよびXML関連技術が統合化、電子業務および出版ソフトウェアに今日広くそしてしかるべく理由で用いられていることは、明白である。 At least XML and XML-related technologies integration, it has been used for reasons to today widely and accordingly the electronic business and publishing software, it is evident.

この分野の専門家の殆どは、XLMおよびXML関連技術を利用することは、異種システムの統合化、電子業務および出版に用いる必要があるアプリケーションのような、ある種のアプリケーションを開発するときに意味があると確信している。 Most of the experts in the field, utilizing XLM and XML-related technologies, integration of heterogeneous systems, such as applications that need to be used for electronic business and publishing, meaning when developing certain applications I'm sure there is. しかしながら、これらのアプリケーションにおけるその使用は、殆ど標準化されていないか、またはその場限りであることが多い。 However, their use in these applications, or are poorly standardized, or are often in ad hoc. 現状については、ある組織は情報処理能力があってXMLを利用しより良いアプリケーションを構築しているが、ある組織はそうしていないと言うことによって、記述することができると思われる。 For the present circumstances, although the organization has built a better application than using XML There is an information processing capability, it appears to be tissue by saying not so, can be described. これらの殆どは、既存のXML関連の仕様書が何をするのか彼らに指示しないと、その場限りでそれを用いるに過ぎない。 Most of these, when the existing XML-related specifications does not indicate to them what to do, not only to use it as far as the fly. XML処理の世界は、狭く定義されたタスクのための小さなモジュールで満たされているが、これらを一緒に統一して管理する、明確なフレームワークが欠けている。 World XML processing, is filled with a small module for narrowly defined tasks and manages the unified them together, lacks clear framework. これが意味するのは、現行のXMLに基づく解決策の殆どは、ある程度、その場限りのプログラミングの「切り貼り」(glue)に頼って、異なるXML系モジュールを共にリンクしているということである。 This means that, most of the solutions based on the current XML, to some extent, rely on "cut and paste" (glue) of the programming of ad hoc, is that that link together the different XML-based module.

このため、XML処理タスクの管理および実行のためのフレームワークの方法およびシステムを影響することが望ましい。 Therefore, it is desirable to effect the method and system framework for managing and executing the XML processing tasks. 更に、このようなフレームワークは、あらゆる特定的な実行コンテキストからも切断されており、XML処理の管理フレームワークに価値があると思われる全ての場合を扱うことができるように十分な柔軟性があることは重要である。 Moreover, such a framework, all are cleaved from specific execution context, flexible enough to be able to handle all cases that may be of value in the management framework XML processing it is important there.

更に、このような管理フレームワークは、各々が既存のXML処理規格または仕様によって支配されている多くの異なる形式のXML処理タスクを共に継ぎ合わせるために汎用プログラム言語を用いる必要性を減少または解消するために、XML処理タスクを定義する特殊目的プログラミング言語に頼ることが好ましい。 Moreover, such a management framework, each of which reduce or eliminate the need to use a general-purpose programming language for splicing together a number of different types of XML processing tasks that are governed by existing XML processing standards or specifications for, it is preferable to rely on special purpose programming language that defines the XML processing tasks. このようなXML処理タスク用特殊目的プログラム言語によって、開発者はXML処理タスクを定義しつつ、汎用プログラミング言語で可能なよりも遥かに生産性を向上することができる。 Such XML processing special purpose programming language for the task, the developer while defines the XML processing tasks, it is possible to improve much more productive than is possible with a general-purpose programming language.

統合、出版、電子業務、または他の分野においてXML処理が有効な場合に伴う問題の一部は、本発明の好適な実施形態が克服または軽減する。 Integration, publication, some of the problems associated with the case XML processing is enabled in an electronic business or other areas, the preferred embodiment is to overcome or alleviate the present invention. XML処理タスクの管理および実行のためのフレームワークの方法およびシステムを提供する。 To provide a method and system framework for managing and executing the XML processing tasks. このフレームワークは、いずれの特定の実行コンテキストからも切断することができ、管理フレームワークを、XML処理を必要とするアプリケーション内であればどこにでも適用できることを意味する。 This framework, any of these can be cut from a particular execution context, the management framework, which means that it can be applied anywhere as long as the applications requiring XML processing.

本発明は、サーバ側XMLアプリケーション、即ち、XML処理が重要な役割を担う、または重要な役割を担い得るあらゆるサーバ側コンピュータ・アプリケーションに関する。 The present invention includes a server-side XML application, i.e., about every server-side computer application XML processing can play a plays an important role or important role. XMLアプリケーションは、企業アプリケーション統合、電子出版、電子業務処理のような分野においては一般的である。 XML applications, enterprise application integration, electronic publishing, are common in areas such as electronic business processing. 更に特定すれば、本発明は、処理タスクを定義する特殊目的プログラミング言語を基にしたXML処理タスクの管理、定義、および実行のための、標準化し構造化したフレームワークのための方法およびシステムに関する。 More particularly, the present invention is the management of XML processing tasks based on a special purpose programming language that defines a processing task, definitions, and for executing a method and system for framework structured standardized .

更に、本発明の好適な一実施形態によれば、XML管理フレームワークは、異なるXML処理サブタスクを互いにリンクする目的のために設計された特殊目的プログラミング言語を拠り所とし、XML処理の技術分野では周知の規格、方法または使用によって各サブタスクを統括する。 Further in accordance with a preferred embodiment of the present invention, XML management framework, different link special purpose programming language designed for the purpose XML processing subtasks to rely, well known in the art of XML processing governing each subtask standards, methods, or by the use. 特殊目的プログラミング言語は、XML処理タスクの管理のために特定的に設計されており、XML処理タスクの開発者が、汎用プログラミング言語で可能なよりも、生産性を高めることを可能とし、XML処理タスクを遂行するために異なるタイプのXML処理サブタスクをリンクするカスタム・コードを書く必要性を軽減する。 Special purpose programming language is specifically designed for the management of XML processing tasks developers XML processing tasks, than is possible in a general purpose programming language, it possible to increase productivity, XML processing to reduce the need to write custom code to link different types of XML processing subtasks to accomplish a task. 有用なアプリケーションの例は、業務メッセージの変換および配信、異種システムの統合、およびウェブ出版である。 Examples of useful applications, conversion and delivery business message, integration of heterogeneous systems, and a web publishing.

本発明の一態様は、XML処理サブタスクの管理および連結のために特定して設計した特殊目的プログラミング言語で書かれた電子文書として用意された既定の1組の命令にしたがって、XML処理タスクを定義し実行する方法およびシステムを含む。 One aspect of the present invention, according to a predetermined set of instructions that are provided as an electronic document written in a special purpose programming language designed to identify and to manage and consolidated XML processing subtasks, define XML processing tasks to include methods and systems for performing. ここで、各サブタスクは、周知のXML関連規格、仕様または方法によって調整する。 Here, each sub-task is to adjust the known XML-related standards, the specifications or methods. 特殊目的プログラミング言語で書かれた電子文書における特定の命令集合によって定義された各XML処理タスクは、ここでは、XMLサービス・アクションまたは単にXSAと呼ばれることが多い。 Each XML processing tasks defined by a specific set of instructions in electronic documents written in a special purpose programming language, here, it is often referred to as XML service action or simply XSA. XSA−sを実行可能なソフトウェア・モジュールを、XSAエンジンと呼ぶ。 Executable software modules the XSA-s, referred to as the XSA engine. XMLサービス・アクション電子文書をどのように作成するかを定義し、XML処理タスクを管理するように設計されている特殊目的プログラミング言語のフォーマットおよびシンタックスは、高精度に定義することができ、特殊目的プログラミング言語のシンタックスを、XMLに基づくマークアップに指定することが好ましい。 Defines how to create an XML service action electronic document format and syntax of the special purpose programming language that is designed to manage the XML processing tasks can be defined with high precision, the special the syntax of purpose programming language, it is preferable to specify the mark-up that is based on XML.

この方法は、外部要求によってシステムを呼び出し、特定の1組の処理命令、即ち、特殊目的プログラミング言語で書かれた特定のXSA電子文書を実行することを含む。 The method includes calls the system by an external request, a particular set of processing instructions, i.e., to perform a specific XSA electronic document written in a special purpose programming language. 呼び出しは、実行するXSAがどれかという指示を含み、更に呼び出しの発信元および目的に関するその他の情報も含むことができる。 Call includes an indication of any XSA to be executed, it can further also include other information about the source and the purpose of the call. 呼び出しを受けると、XSAエンジンは、該当するXSA電子文書を突き止め、その中に定義されている命令を実行しようとし、適宜、実行した特定のXSA内にある命令に従って応答を返す。 When receiving a call, XSA engine locates a corresponding XSA electronic document, it attempts to execute instructions defined therein, as appropriate, returns a response in accordance with instructions in a particular XSA executing.

本発明の好適な実施形態によれば、XML管理フレームワークおよび特殊目的プログラミング言語は、3つの異なるクラスのXML処理モジュールを基本とし、これらが合同して、更に本発明の別の部分と共に、特定のXSAで定義したXML処理タスクを遂行する。 According to a preferred embodiment of the present invention, XML management framework and special purpose programming language, the XML processing module of three different classes as a basic, it is jointly further with another part of the present invention, specific perform XML processing tasks defined in XSA the. 特殊目的プログラミング言語にしたがって書かれた各XSAは、一般に、これら3つのクラスのXML処理モジュールの各々の少なくとも1つを参照し、その機能を制御する。 Each XSA written in accordance with a special purpose programming language, in general, with reference to at least one of each of the XML processing module of these three classes, to control its function. XMLサービス・アクションは、これら3タイプのモジュールがどのように相互作用し、一体となってXML処理タスクを遂行するかを定義し、修正し、制御する。 XML service action, how to interact these 3 types of modules, defines whether to perform XML processing tasks together, modified, controlled. 3タイプのモジュールを、ここでは、生成器、変換器、およびシンクと呼ぶ。 3 types of modules, wherein the generator, converter and is referred to as a sink. 殆どのXML処理サブタスクは、正しく定義されているか、またはXML処理の技術分野では周知であり、サブタスクの生成、サブタスクの変換/操作、またはサブタスクの配出(sink)に分類することができる。 Most XML processing subtasks are either correctly defined, or are well known in the art of XML processing, it can be classified generating subtask, conversion / operation subtasks, or subtask Heide (sink).

いずれの所与のXML処理タスクにおいても、いずれのXSAによって定義されても、生成器モジュールは、XMLソース・データを生成することを担当し、変換器モジュールは、XMLソース・コンテンツを変換または操作して異なるのXMLデータを形成する(処理したXMLデータ)ことを担当し、最後にシンク・モジュールは処理したXMLデータを解釈し、これに反応し、またはこれを配信することを担当する。 In any given XML processing task, be defined by any of XSA, generator module is responsible for generating the XML source data, transducer module, transform or manipulate XML source content to charge it to form a (processing XML data) different XML data, finally sink module interprets the XML data processed, in response thereto, or responsible for to deliver this. 生成器は、XMLソース・コンテンツを生成し、一般に、外部システムにおいて発生したデータを公開する。 Generator generates an XML source content generally publish data generated in the external system. 生成器の一例は、外部システム、例えば、JDBC準拠のデータベースと通信を行い、更なるXML処理のために用意されている、XMLフォーマットで外部システムによって提供されるコンテンツまたはサービスに公開する。 An example of a generator, an external system, for example, communicates with JDBC compliant database, are provided for further XML processing, publishing the content or services provided by the external system in XML format. 各生成器は、それ自体のXMLシンタックスを定義し、それが通信するバック・エンド・システム(複数のバック・エンド・システム)が提供するコンテンツまたはサービスに、固有の様式で(natural way)公開する。 Each generator, defines the XML syntax itself, the content or service to provide back-end system (multiple back-end system) to which it communicates, in a unique manner (natural way) published to.

XMLソース・データを更に処理、解釈、または操作して、特定のXSAに定義されている、要求を受けたXML処理タスクを実行するために、1つ以上の変換器がXMLコンテンツを総合的に変換、解釈、有効性判断、反応、または何らかの方法で操作して、一般に異なるの(または少なくとも検査し有効性が認められた)XMLデータが得られる。 Further processing of the XML source data, interpretation, or manipulate, defined in a specific XSA, to perform XML processing task which has received the request, one or more transducers comprehensive XML content conversion, interpretation, validity determination, reaction, or by operating in some way, generally different (or at least inspected efficacy was observed) XML data is obtained. これを、ここでは、処理済XMLデータと呼ぶ。 This is referred to herein as the processed XML data. 変換器は、XMLデータを入力および出力双方として有するモジュールであり、多くの変換器を直列に用いることができる。 Converter is a module having both as input and output the XML data can be used many transducers in series. 変換器の一例は、拡張可能スタイルシート言語変換(XSLT)で書かれた所与のスタイルシートにしたがってXMLを変換する、ソフトウェア・モジュールである。 An example of a converter converts the XML according to a given style sheet written in Extensible Stylesheet Language Transformation (XSLT), which is a software module. その目的に応じて、各タイプの変換器が、生成器または別の変換器から受け取ったそのXML入力データに制約を課することも、課さないこともある。 Depending on the purpose, each type of transducer, generator or imposing other constraints on the XML input data received from the transducer may or may not impose. また、各変換器は、処理済XML出力データの形式を定義する。 Each transducer defines the format of the processed XML output data.

いずれの所与のXSAで定義したXML処理タスクの実行でも、最終部分は、シンク・モジュールを用いて行われる。 In the execution of the XML processing task defined by any given XSA, final part is performed using the sync module. シンク・モジュールは、変換器から受け取った、処理済XMLデータで何を行うかを定義する。 Sync module, received from the transducer, to define what to do with the processed XML data. 異なるタイプのシンクが、XSAの目的に応じて、異なるタスクを実行する。 Different types of sinks, depending on the purpose of XSA, perform different tasks. 共通のタスクの1つは、XMLフォーマットでないことが多い、処理済XMLデータを何らかの方法で公表(publish)し、XSAの実行を要求したクライアントに返送することである。 One common task is often not XML format, published in some way the processed XML data (publish), is to return to the client that requested the execution of XSA. シンクの中には、受け取ったXMLデータを解釈し、例えば、何らかのアクションを実行することによって、これに反応するか否か、そしてどのように反応するか判断するものもある。 Some sink received interprets the XML data, for example, by performing some action, there whether to react to this, and others to determine how to react. シンク出力の一例は、HTMLまたはWMLのようなそのXML入力データを出力し、別の例は、それをPDF電子文書として公表する。 An example of a sync output, and outputs the XML input data, such as HTML or WML, Another example, publish it as PDF electronic document. 他のタイプのシンクには、得られたXMLをインターネットを通じてXML業務文書として配信するものもあり、更に別のシンクには、受け取ったXML内の情報を用いて、タスクを実行するか否か判断するものもある。 Other types of sink can also deliver the resulting XML as an XML business document via the Internet, to a further sink, using the information in the received XML, it determines whether to perform the tasks also intended to. タスクとは、通知の目的のための電子メール送信、データベースへのデータ書き込み、または統合化の目的のための別のシステムへのXMLの送信等である。 A task is e-mail transmission for the purpose of notification, an XML of transmission to another system for purposes of data writing or integration, to the database.

前述のように、本発明は、好ましくはXMLサービス・アクション仕様にしたがって特殊目的プログラミング言語で書かれた、XMLサービス・アクション電子文書の実行システムを含む。 As described above, the present invention is preferably written in a special purpose programming language in accordance with XML service action specification, including execution system XML service action electronic document. XMLサービス・アクション仕様は、本発明の主旨におけるXSAの有効なシンタックスを正確に定義する。 XML service action specification precisely defines the valid syntax XSA in the gist of the present invention. 本システムは、いずれのアプリケーション特定コンテキストからも切断され、汎用インターフェースのみを設けた、XSAエンジンを含む。 The system is also disconnected from any application-specific context, provided only generic interface, including XSA engine. 本発明の好適な実施形態によれば、本システムは、ここではアダプタと呼ぶ、ソフトウェア・モジュールを拠り所として、特定のアプリケーション・コンテキストに適応する。 According to a preferred embodiment of the present invention, the system is referred to herein as the adapter, the cornerstone of the software module, adapted to a specific application context. アダプタは、ネットワーク・デバイス、ワイヤレス・デバイス、またはその他のコンピュータ・システムというような、種々のタイプの外部クライアントからの、特定のXSA−sの実行要求または呼び出しを受け付けることを担当する。 Adapter, a network device, such as that the wireless device or other computer system, from various types of external clients, in charge of receiving the execution request or call to a particular XSA-s. アダプタは、外部クライアントとの通信全てを扱うことによって全てのアプリケーションまたはコンテキスト特定の通信をカプセル化し、全体的に特定のタイプの通信プロトコルに適応し、特定のXSAの実行を要求することによって、その汎用インターフェースを通じてXSAエンジンと双方向処理を行うソフトウェア・モジュールである。 Adapter, by encapsulating all applications or context specific communication by treating all communication with the external client, adapted to entirely certain types of communication protocols to request the execution of a specific XSA, the is a software module that performs XSA engine and two-way process through the general purpose interface. したがって、アダプタ・コンポーネントは、汎用XSAエンジンを、特定のアプリケーション・コンテキストに適応させる。 Thus, the adapter component, a universal XSA engine, adapted to the specific application context. XSA実行要求毎にアダプタ・コンポーネントを通じて要求が到達すると、アダプタ・コンポーネントは、XSAが実行するコンテキストを定義する。 When the request through the adapter component reaches XSA each execution request, the adapter component defines the context in which XSA is executed. これは、特定のXML処理タスクに相応しいと思われる、計算アプリケーションの実世界から、XSAエンジンへのリンクを設ける。 This is believed appropriate to a particular XML processing task, the real-world computing applications, providing a link to the XSA engine. XSAエンジンが提供する汎用インターフェースを通じて、アダプタはXSAエンジンに、着信した要求に関する情報を提供することができる。 Through generic interface XSA engine provides the adapter can provide information about the request to the XSA engine, that arrive. この着信要求は、恐らくは、XML系フォーマットまたはパラメータ名称−値対の形式となっている。 The incoming request, possibly, XML-based format or parameter name - has a value pair of the form. XSAの実行が終了すると、当該特定のXSAに定義されている処理の結果に基づいて、XSAエンジンを呼び出したアダプタ・コンポーネントを通じて、しかるべき応答を要求基外部クライアントに返送するのが一般的である。 When the execution of XSA is completed, based on the result of the process defined in the specific XSA, through adapter component that invoked the XSA engine, it is common to send back an appropriate response to the request based on external client . 特定の生成器、変換器、またはシンクは、どの特定のタイプのアダプタがこれらと適合性があるかについて、制約を課する場合もある。 Particular generator, transducer or sink, for which particular types of adapters have these compatible, it may impose constraints.

いずれのXSAも、種々の方法で特定のタイプの生成器、変換器およびシンクを用いて、所望のXML処理タスクを遂行することができる。 Either XSA also identified in a variety of ways types of generators, using a transducer and the sink, it is possible to perform a desired XML processing task. XSAにおいて定義されているXML処理は、例えば、XML電子文書の合併または分割によって、1つよりも多い実行のスレッドにおいて行われる場合がある。 XML processing defined in XSA, for example, the merger or division of XML electronic document might be carried out in the thread of more than one run. XSAエンジンは、多くの異なるタイプのソフトウェア・モジュールを拠り所として、前述の3つのクラスのXML処理モジュールを用いて、XMLデータの柔軟で精巧な処理および流れの可能性を実現する。 XSA engine as rely many different types of software modules, using the XML processing module of three classes mentioned above, to realize the potential for flexible and sophisticated processing and flow of XML data. これらのソフトウェア・モジュールは、エラーの扱い、有効性判断、特定のXSA実行に関連するメタ・データへのアクセス、セッション制御、ユーザ管理、認証、許可、およびその他の同様の補助機能というような、補助または支援機能を設けることができる。 These software modules, error handling, validity determination, access to meta-data associated with a particular XSA execution, session control, user management, authentication, such as where an authorized, and other similar auxiliary functions, It may be provided with an auxiliary or support functions.

XMLソフトウェア・アクションは、大きく異なるアプリケーションにおいて大きく異なる計算タスクを遂行する際に用いることができる。 XML software actions may be used in performing significantly different computational tasks in very different applications. 用いるシステム・コンポーネントは、更に多くてもまたは少なくても可能であり、本発明は、前述のシステム・コンポーネントには限定されない。 System components to be used is capable of even further at most also reduced, the present invention is not limited to the above-described system components. 本発明は、必ずしも、いずれのソフトウェア・コンポーネントの存在も必要としない。 The present invention does not necessarily require any presence of any software components. これは、明確なXML処理サブタスクの管理またはリンクのためのみに定義され、特殊目的プログラミング言語で書かれたXMLサービス・アクション電子文書によって定義された、XML処理タスクの実行方法およびシステムについて記載する。 It is defined only for the management or link distinct XML processing subtasks, defined by the XML service actions electronic documents written in a special purpose programming language describes the execution method and system for XML processing tasks. これは、ここに記載される抽象的処理モジュールの具体的な実現例を用いて、その所望の機能を遂行する。 This uses a specific implementation of the abstract process modules described herein performs its desired function. 本発明はここでは常にXML処理タスクに関して記載されているが、本方法およびシステムは、必ずしもXMLフォーマットではない、構造化データのあらゆる処理にも等しく適用することができる。 While the invention has been described with respect to always XML processing task, where the method and system, not necessarily in XML format, can be equally applicable to any processing of structured data. 実世界において有用であるために、制御するXMLサービス・アクション電子文書のフォーマットおよび処理モジュールを正確に定義する、特殊目的プログラミング言語に対する指定に応じた特定のソフトウェア・モジュールおよびコンポーネントの実現例を設けなければならない。 For real world in useful to define exactly the format and processing module XML service action electronic document control, be provided with implementation of specific software modules and components in accordance with the specification for special purpose programming languages shall.

本発明の好適な実施形態によれば、各XMLサービス・アクション電子文書は、特定のシンタックスで定義されるべき、特殊目的プログラミング言語で書かれており、XML系であってもなくてもよい。 According to a preferred embodiment of the present invention, the XML service action electronic document, to be defined in a specific syntax, it is written in a special purpose programming language, which may or may not be an XML-based . XSAエンジンは、XSA電子文書を解釈し実行する役割を担う。 XSA engine is responsible for interpreting and executing XSA electronic document. XSA電子文書は、動的な生成によってXSAエンジンが利用でき、あるいは要求元クライアントまたはコンピュータ・システムにおけるいずれかのストレージから入手できる。 XSA electronic document available is XSA engine by dynamic generation, or available from any storage in the requesting client or computer system. 本発明の主旨で書かれた仕様に従って、有効な特殊目的プログラミング言語で書かれたXMLサービス・アクション電子文書を実行可能なシステムは、通常のコンピュータ・システムにおいて実施することができる。 According to the specifications written in the spirit of the present invention, viable system XML service action electronic documents written in valid special purpose programming language can be implemented in a conventional computer system.

XSAフレームワークは、いずれの特定の実行コンテキストとも切断され、標準化され、構造化された柔軟で精巧な手段を提供し、出版、業務メッセージ配信、企業アプリケーション統合、および構造化データを処理し操作することに価値があるその他の分野において、多くの問題を一層正しく簡単に解決することができる。 XSA framework is cut with any particular execution context, standardized, provides a flexible and elaborate means are structured, publishing, business message delivery, operating handles enterprise application integration, and structured data in other areas especially worth, it is possible to solve many problems easily more correctly.

XSAフレームワークは、既存の技術に対して相補的である。 XSA framework is complementary to existing technology. これは、XML処理タスクの管理用フレームワークであって、いずれの特定のタイプの既存のXML処理技術に対する代用ではない。 This is a management framework for XML processing tasks, not a substitute for existing XML processing technology of any particular type. 例えば、これは、XML文書をどのように変換するのか定義せず、特定的な実施形態は、その目的のためにいずれの既存の方法でも用いることができる。 For example, this is not defined whether How to convert XML document, specific embodiments may be used in any existing methods for that purpose. XML処理タスクの管理に特定して設計された上位特殊目的プログラミング言語を要求し利用することによって、汎用プログラミング言語でカスタム・コードを作成し、XML処理サブタスクを互いに張り合わせる必要性を低下または解消さえする。 By utilizing requesting upper special purpose programming language designed to identify and to manage the XML processing tasks, create custom code in general purpose programming language, a reduction or even eliminate the need for laminating the XML processing subtasks each other to. ここで、各サブタスクは、周知のXML処理規格、仕様または方法によって調整される。 Here, each sub-task is adjusted known XML processing standards, the specifications or methods. 該当する類似物をあげるとすれば、次のようなものであろう。 If raising the appropriate analogs, it will be as follows. XSLTエンジン、XML実証器(validator)、HTML−XML変換器、XML直列化器、または特定のタイプのXML処理タスクを実行するその他のあらゆるモジュールを、プログラムであると見なす。 XSLT engine, XML demonstrated unit (validator), HTML-XML converter, XML serializer, or a particular type any other modules that run XML processing tasks, regarded as a program. すると、XSAエンジンは、これらのプログラム間の相互動作を調整するオペレーティング・システムに似ている。 Then, XSA engine is similar to the operating system to adjust the interaction between these programs. XSAエンジンは、特殊目的プログラミング言語で書かれたXSA電子文書を解釈し実行することができ、ここに記載されているXSAフレームワークの一般的な主旨の実現例と見なすことができ、したがって、XSAフレームワークは、オペレーティング・システム・ファミリまたは規格に類似するものと考えることができる。 XSA engine can interpret and execute XSA electronic documents written in a special purpose programming language can be viewed as a implementation of the general idea of ​​XSA framework, as described herein, therefore, XSA framework may be thought of as analogous to an operating system family or standards.

本発明の特定的な一好適実施形態では、本方法およびシステムは、ワイヤレス・デバイスに、当該デバイスが理解することができるフォーマットの電子文書内の情報を要求することを可能にするために用いられる。 In one particular preferred embodiment of the present invention, the method and system, the wireless device is used to allow the said device requires information in the electronic document in a format that can be understood . デバイスとの通信が可能な適したアダプタ(例えば、HTTPアダプタ)を通じて、特定のXSAを呼び出してXSAエンジン内で実行することができる。 Devices and are able to communicate appropriate adapters (eg, HTTP adapter) through, can be performed within XSA engine calls the specific XSA. このXSA内に定義されているXML処理タスクは、バック・エンド・システムからデータを検索し、特定のタイプの生成器を用いてそれをXMLフォーマットに変換し、変換器を用いて、それを要求元デバイスに適したフォーマットに変換し、最後にシンクがそれをアダプタを通じてデバイスに配信することができる。 XML processing tasks defined in the XSA retrieves the data from the back-end system and converts it using a specific type of generator in XML format, using a transducer, requesting it into a format suitable for source device, finally sink can be delivered to the device through which the adapter.

例えば、本発明の好適な実施形態によれば、ワイヤレス・デバイスから、ハイパーテキスト転送プロトコル(HTTP)準拠のブラウザ・ソフトウェアを用いて特定のURLに誘導することによって、現在の天候に関する情報を要求することができる。 For example, according to a preferred embodiment of the present invention, a wireless device, by inducing a specific URL by using the Hypertext Transfer Protocol (HTTP) compliant browser software to request information about the current weather be able to. XSAエンジンは、天候データ源から得た情報からどのように所望の応答を派生するか定義する、特定のXSA電子文書にアクセスし、それを要求元のデバイスにHTTPアダプタを通じて配信することができる。 XSA engine, how to define or to derive a desired response from the information obtained from the weather data source to access the specific XSA electronic document may be distributed via HTTP adapter it to the requesting device. この要求は、HTTPを通じて要求元クライアントと通信することができるHTTPアダプタが受信する。 This request is received by the HTTP adapter that can communicate with the requesting client via HTTP. 次いで、アダプタはXSAエンジンを呼び出し、要求された特定のXSAの実行を開始する。 Then, the adapter calls XSA engine starts executing the requested specific XSA. このXSAは、天候データベースに接続することができる、特定のタイプの生成器への参照を収容している。 This XSA may be connected to the weather database accommodates a reference to a particular type of generator. XSA内にある命令は、生成器に天候データを検索するように命令し、次いでこれをXMLソース・データに変換する。 Instructions within XSA is ordered to retrieve weather data generator, then converts it into XML source data. XSAは、更に、1つ以上の特定のタイプの変換器(例えば、XSLTを用いてXMLを変換する変換器)への参照、およびこれに対する命令も収容することができ、XMLソース・データを変換して、要求元デバイスにおけるブラウザによる表示に適したワイヤレス・マークアップ言語(WML)フォーマットのXML電子文書を形成することができる。 XSA further one or more specific types of transducers (e.g., transducer for converting XML using XSLT) references to, and instructions can also be accommodated for this, converts the XML source data , it is possible to form a wireless markup language (WML) format XML electronic document suitable for display by the browser of the requesting device. 最後に、XSAは、WML電子文書を要求元デバイスにHTTPアダプタ・モジュールを通じて配信することができる、特定のタイプのシンクへの参照、およびこれに対する命令も収容している。 Finally, XSA may be delivered through an HTTP adapter module a WML electronic document to the requesting device, refer to a particular type of sync, and also instructions for this accommodation. 問題の特定のXSA電子文書は、特殊目的プログラミング言語で書かれており、XSAプログラミング言語仕様において正確に定義することができる。 Specific XSA electronic document of the problem is written in a special purpose programming language, it can be accurately defined in the XSA programming language specification. しかしながら、本発明は、HTTP通信、ワイヤレス・デバイス、あるいはデータベースに限定されるのではない。 However, the present invention is, HTTP communication, wireless devices or not to be limited to the database. その他のデータ、プロトコル、ネットワーク・デバイス、または外部システムも用いることができる。 Other data protocols, network devices, or external systems, can also be used.

本発明の好適な実施形態の前述のおよびその他の特徴および利点は、添付図面と関連付けて本発明の実施形態の詳細な説明を検討することにより、当業者には一層容易に理解されよう。 The foregoing and other features and advantages of the preferred embodiments of the present invention, by consideration of the detailed description of embodiments of the present invention in conjunction with the accompanying drawings, to those skilled in the art will be more readily understood.

本発明の先に引用した利点およびその他の利点が得られる態様を一層深く理解するために、添付の図面を参照しながら本発明の更に詳細な説明を行う。 To understand the manner in which advantages and other advantages and cited above of the present invention is obtained deeper, it performs a more detailed description of the invention with reference to the accompanying drawings. 更に、本発明の具合的な実施形態の説明も、添付図面を参照しながら例示する。 Further, description of the degree embodiments of the present invention is also illustrated with reference to the accompanying drawings. これらの図面は本発明の典型的な実施形態のみを図示し、したがってその範囲を限定するとは見なさないことを理解した上で、本発明を説明するために添付図面を用い、本発明を行い用いる現時点において最良と理解される態様について、例示の目的のためにのみ、更に詳しく説明する。 These drawings illustrate only typical embodiments of the present invention, therefore with the understanding that not considered limiting of its scope, reference to the accompanying drawings to explain the present invention, used make this invention aspects to be understood that the best at present, for illustrative purposes only, will be described in more detail.

ここに記載する実施形態は、それで全てであることも、本発明を開示した形態そのものに限定することも意図してはいない。 Embodiments described herein, so also are all and is not intended to limit the invention to the precise forms disclosed. 逆に、説明に選択した実施形態は、当業者がその教示を利用できるように記載されている。 Conversely, the embodiment chosen in the description are described to enable those skilled in the art to utilize its teachings. 最も留意すべきは、ここではXML処理に頻繁に言及するが、本発明はXML処理にもXMLサービス側アプリケーションにも限定される訳ではなく、あらゆる構造化データに等しく適用可能であることである。 It should be most noted here frequently referred to XML processing but, the invention is not to be limited to the XML service-side application to XML processing is that it is equally applicable to any structured data .

以下の論述は、本発明を実施可能な、相応しい計算環境の端的かつ総合的な説明を行うことを意図している。 The following discussion is intended to be capable of carrying out the present invention, a straightforward and comprehensive description of suitable computing environments performed. 本発明は、パーソナル・コンピュータによって実行する、プログラム・モジュールのような、コンピュータ実行命令に関して一般的に説明するが、そうしなければならないという訳ではない。 The present invention is executed by a personal computer, such as program modules, although generally described with respect to computer executable instructions, not that it is necessary to do so. 一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、特定のタスクを実行したり、あるいは特定の抽象的データ形式を実装する。 Generally, program modules include routines, programs, objects, components, data structures, that perform particular tasks or implement particular abstract data types. 更に、当業者には認められようが、本発明は、ハンドヘルド・デバイス、多重プロセッサ・システム、マイクロプロセッサを用いたまたはプログラム可能な消費者用電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータなどを含む、その他のコンピュータ・システム構成でも実施可能である。 Furthermore, as will be appreciated by those skilled in the art, handheld devices, multiprocessor systems, or programmable consumer electronic device using a microprocessor, a network PC, a minicomputer, a mainframe computer, etc. including, also be implemented in other computer system configurations. また、本発明は、通信ネットワークを通じて連結したリモート処理デバイスによってタスクを実行する、分散型計算環境においても実施可能である。 Further, the present invention tasks are performed by remote processing devices that are linked through a communications network, it can also be practiced in distributed computing environments. 分散計算環境では、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶デバイス双方に配置することもできる。 In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

ここで用いる場合、「ソフトウェア・モジュール」または「モジュール」という用語は、コンピュータ・プログラム内において特定的な論理機能を実行すると別個に認められるあらゆる実行可能命令の集合を意味することとする。 As used herein, the term "software module" or "module" is intended to mean a collection of all the executable instructions are separately observed when performing specific logical functions in a computer program.

図1は、XML処理システム10の基本コンポーネントを示すブロック図である。 Figure 1 is a block diagram showing the basic components of an XML processing system 10. XML処理システム10は、概略的に、汎用インターフェースを備えたXSAエンジン16と、外部クライアントにXSAエンジン16と双方向処理を行わせる1つ以上のアダプタ・モジュール12とを含む。 XML processing system 10, schematically, includes a XSA engine 16 having a general-purpose interface, and one or more adapter modules 12 to perform the XSA engine 16 bidirectionally processing to external clients. XSAエンジン16は、XML処理タスクの管理のために設計された特殊目的プログラミング言語を用いて、XSA電子文書18にエンコードされている命令を実行することができる。 XSA engine 16 may use a special purpose programming language designed for the management of XML processing tasks, executing instructions encoded in the XSA electronic document 18. XSAエンジン16は、汎用インターフェースを提供するだけであるので、XSAエンジン16の呼び出しは、アダプタ・コンポーネント12を通じて行われ、これによって、一方では1つまたは複数のタイプの外部クライアント40と、そして他方ではXSAエンジン16と通信することができる。 XSA engine 16, since it only provides a generic interface, call the XSA engine 16 is conducted through the adapter component 12, whereby, on the one hand an external client 40 of one or more types, and on the other hand It may communicate with XSA engine 16. 外部クライアント30からの各呼び出しまたは要求は、アダプタ・モジュール12がどのXSA電子文書18を実行するのか判定するために用いることができる情報またはデータを収容していなければならない。 Each call or request from an external client 30, must accommodate the information or data can be used to the adapter module 12 to determine which XSA whether to execute an electronic document 18. 要求または呼び出しを受信すると、アダプタ・モジュール12は、XSAエンジンに、要求の発信元および目的に関する情報を提供することができる。 Upon receiving the request, or call, the adapter module 12 may provide information to the XSA engine, to the source and the purpose of the request. この情報は、XSAエンジンにはアクセス可能であり、ここではコンテキスト・モジュール14で代表する。 This information is the XSA engine accessible, here represented simply context module 14. XSAエンジン16は、コンテキスト・モジュール14を利用して、XML処理タスクの管理のために特定的に設計された、特殊目的の明確な上位プログラミング言語で書かれた、要求XSA電子文書18に定義されているXML処理タスクを初期化し、実行する。 XSA engine 16 utilizes the context module 14, which is specifically designed for the management of XML processing tasks, written in clear upper programming language for special purposes, it is defined in the request XSA electronic document 18 initialize the XML processing task is to execute. このような特殊目的の上位プログラム言語を有することは、具体的なXML処理タスクの作成が、汎用プログラミング言語で可能なよりも簡単にそして迅速に行えることを意味する。 It has a higher-level program languages ​​such special purposes, the creation of specific XML processing tasks, means simply and rapidly performed than is possible with a general-purpose programming language. XML処理タスクにしか適用できないが、このようなタスクの作成は、特殊目的プログラミング言語を用いれば、遥かに速くそして簡単に行うことができる。 Although not only applicable to XML processing tasks, the creation of such a task, using a special purpose programming language can be done much faster and easier. また、恐らくはグラフィカル・ユーザ・インターフェースを用い、しかも直接カスタム・コードを書く必要性を完全に排除して、開発者に上位インターフェースを通じて具体的なXSA文書を作成させる、ソフトウェア・プログラムを作成することもできる。 Also, perhaps using a graphical user interface, yet completely eliminate the need to write directly custom code, to create a specific XSA document through host interface developers, also create a software program it can. 開発者のこのような上位インターフェースとの双方向処理は、恐らくグラフィック・コンポーネントを利用して、テキストを用いたコードを書くことを全く必要とせずに、具体的なXSAを生成することを可能にする場合もある。 Bidirectional processing of such host interface developers, perhaps using the graphic components, without any need to write code using text, possible to generate a specific XSA there is also a case to be.

本発明は、XML処理タスクを3つのクラスのXML処理ステップまたはサブタスク、XML生成、XML変換、およびXML配信/反応に分割する。 The present invention, XML processing steps or subtasks three classes XML processing task, divides XML generation, XML transformation, and XML delivery / reaction. これは、各XSA電子文書18が一般に3つのクラスのXML処理モジュールの具体的な実現例に対する引用(reference)を含んでおり、各クラスがこれらのサブタスクの1つに対応するという事実に反映されている。 This is reflected in the fact that each XSA electronic document 18 is generally includes cite (reference) for the specific implementation of the XML processing module of three classes, each class corresponds to one of these subtasks ing. XML生成器モジュール20は、外部バック・エンド・システム40に接続し、そのコンテンツ、サービスおよび/または業務ロジックを、XML変換器モジュール22による更なる処理のために利用可能なXMLデータとして公開する役割を担っている。 XML generator module 20 is responsible for connecting to an external back-end system 40, to publish the content, services and / or business logic, as XML data available for further processing by the XML converter module 22 It is responsible for. このステップは、多くの場合、外部システムへの接続と、外部システムのネーティブ・データ構造のXMLフォーマットへのマッピングの定義という双方を伴う。 This step is often accompanied with connection to an external system, both of mapping definitions to XML format native data structure of the external system. XML変換器モジュール22は、XML生成器20から受け取ったXMLデータを、異なるXMLフォーマットに変換する。 XML converter module 22, the XML data received from the XML generator 20 is converted into a different XML format. XSA電子文書18は、XMLデータの順次処理のために、1つよりも多いXML変換器を順次定義することができる(以下で更に詳しく説明する)。 XSA electronic document 18, for the sequential processing of XML data, (described in more detail below) which can be successively define more than one XML converter. XMLシンク・モジュール24は、XML変換器モジュール22から受けたXMLデータに反応するか、またはこれらを配信する。 XML Sink module 24, or responds to XML data received from the XML converter module 22, or to deliver them. これら3つの抽象的XML処理モジュール・タイプの各々は、アダプタ・モジュール12が提供し、ここではダイナミックXSAコンテキスト・モジュール14によって表されるメタ情報にアクセスすることができる。 Each of these three abstract XML processing module type, provides the adapter module 12, where it is possible to access the meta information represented by the dynamic XSA context module 14. XSAコンテキスト・モジュール14内のメタ情報は、特定のXSAの実行が開始する前にアダプタ・モジュール12によって提供され、XSAの実行の間中存続する。 Meta information XSA context module 14 is provided by the adapter module 12 before the execution of a specific XSA begins, it persists throughout the execution of the XSA. これは、実行に関与する全てのモジュールにアクセス可能である。 This is accessible to all the modules that are involved in execution. コンテキスト・モジュール14が表すメタ情報は、XSAが実行するコンテキストを定義する。 Meta information context module 14 represents defines the context in which XSA is executed. 3つの抽象的XML処理モジュールの各々は、受動リソース・レポジトリ26にもアクセスすることができる。 Each of the three abstract XML processing module can also access a passive resource repository 26. 受動リソース・レポジトリ26には、電子フォーマットの種々のリソースが、記憶媒体内に格納されている。 The passive resource repository 26, and various resources of the electronic format, is stored in a storage medium. XSA電子文書は、1つ以上のXML生成器モジュール、0個以上のXML変換器モジュール、および1つ以上のXMLシンク・モジュールを定義し制御することができる。 XSA electronic document can define one or more XML generator module, zero or more XML converter module and one or more XML sink module, control.

図2は、具体的な生成器、変換器およびシンクを参照し、特定目的の上位プログラミング言語で指定され、XML処理タスクの管理のために設計された、これらの相互動作を管理することによって、XSA電子文書がどのようにして1つの個別XML処理タスクを定義するかを示す。 Figure 2 is a specific generator, with reference to the converter and sync is specified in the upper programming language specific purposes, by managing designed for the management of XML processing tasks, these interworking XSA electronic document how to indicate to define one individual XML processing tasks.

図3は、XSA電子文書を実行しているときのXML処理タスクの実行を示すブロック図である。 Figure 3 is a block diagram showing the execution of the XML processing tasks when running XSA electronic document. また、この図は、生成器からシンクまでにおいて、その間に0回以上の変換を受ける、XMLデータの流れを示す。 Moreover, this figure, in the generator to the sink receives a zero or more conversion therebetween, showing the flow of XML data.

図4は、本発明によるXML処理システムにおけるXSAの実行を開始し完了する一連のイベントを示すフロー・チャートである。 Figure 4 is a flow chart showing the start and finish a series of events to execute XSA in XML processing system according to the present invention. 外部クライアントからの呼び出し即ち要求が行われる(1)。 Call that is a request from an external client is performed (1). 要求は情報を収容しており、これを用いれば、どのXSA電子文書を実行すべきか判定することができる。 Request houses the information, using this, it is possible to determine whether to perform which XSA electronic document. 更に、情報は他のコンテキストに左右される情報も収容することができる。 Furthermore, information can also be accommodated dependent information in other contexts. 全要求情報は、暗示的であれ直接であれ、要求プロパティ(2)と呼ぶこともある。 All request information, whether direct it implicit, sometimes referred to as a request property (2). 特定のアダプタ・モジュールは、要求元クライアントとの通信が可能であり、要求を受け取り、しかるべきコンテキストに左右される情報にアクセスすることができる場合、XSAエンジンにXSAコンテキスト・モジュール(4)を供給することによって、XSA実行(3)のコンテキストを定義する。 Specific adapter module, request communication with the source client is possible, receives the request, if it is possible to access the dependent information in due context, supplies XSA context module (4) to the XSA engine by defines context XSA execution (3). アダプタ・モジュールは、XSAエンジン・モジュール内において特定のXSAの実行を開始する。 Adapter module begins execution of specific XSA in the XSA engine module. XSAエンジンは、XSAコンテキスト・モジュール内の情報を用いて、特殊目的プログラミング言語で書かれた、要求されたXSA電子文書(5)の実行の準備を行う。 XSA engine using information XSA context module to prepare for execution of written in a special purpose programming language requested XSA electronic document (5). 要求されたXSAに定義されている具体的なタイプの生成器が、所与のXSA(6)における命令にしたがってXMLソース・コンテンツを生成する。 Specific types of generators defined in the requested XSA generates an XML source content in accordance with instructions in a given XSA (6). その際、一般に、ある外部バック・エンド・システムと通信し、取得したデータをXMLに変換する。 At that time, in general, to communicate with some external back-end system, and converts the acquired data into XML. その結果は、処理が行われる前のXMLソース・データ(7)である。 The result is the XML source data before the processing takes place (7). 次に、0個以上のXML変換器(8)が、要求されたXSA内の命令にしたがって、XMLソース・データを変換し、その結果異なる形式のXMLデータ(9)が得られる。 Then, zero or more XML converter (8) is, in accordance with instructions in the requested XSA, to convert the XML source data, so that different types of XML data (9) is obtained. 最後に、XMLシンク・モジュールが何らかの方法でXMLコンテンツを配信するか、またはこれに反応する(11)ことによって、XML処理タスクを終了する。 Finally, by whether the XML sink module delivers the XML content in some way, or react to (11), and it ends the XML processing tasks. このステップは、処理したXMLデータの解釈を伴っても、伴わなくてもよい。 This step also with the interpretation of XML data processed may not accompanied. 一般に、ある種の応答が、XMLシンク(12)が完了したタスクの結果として、アダプタ・モジュールを通じて、要求元のクライアントに戻される。 In general, some response, as a result of the task XML sink (12) has been completed, through the adapter module, is returned to the requesting client.

図5は、XMLサービス・アクション・モデルによって定義した、生成器の役割および典型的な構造を示すブロック図である。 Figure 5 is defined by the XML Service Action model is a block diagram showing the roles and typical construction of generators. この図は、一般に、生成器がまず外部システムに接続し、次いでXMLフォーマットで外部システムからのデータを公開するという二重のタスクに直面していることを示す。 This figure generally generator is first connected to the external system, then it shows that faced with the dual task of publishing data from external systems in XML format.

図6は、XMLサービス・アクション・モデルによって定義した変換器の役割を示すブロック図である。 Figure 6 is a block diagram showing the role of the transducer as defined by the XML Service Action model. この図は、いずれの数の変換器でも順次適用してもよく、そして各1つが入力および出力双方としてXMLデータを有することを示す。 This figure shows that with XML data may be sequentially applied in any number of transducers and a respective one of the input and output of both.

図7は、XMLサービス・アクション・モデルによって定義したシンクの役割を示すブロック図である。 Figure 7 is a block diagram showing the role of the sink defined by the XML Service Action model. 一般に、シンクは、XML入力データを何らかの外部データ・フォーマットに変換して要求元のクライアントに配信または公表するか、あるいは処理したXML入力にしたがって何らかの方法で解釈または反応するかのいずれかである。 In general, the sink is either interpreted or react in some way according to the XML input data some external data into a format for delivering or published to the requesting client or the, or processed XML input. 反応は、シンクの目的次第でいずれでもよく、必ずしも要求元クライアントへの応答を伴う必要は全くない。 The reaction, may be either, depending on the purpose of the sink, there is no necessarily with the response to the requesting client.

本発明の好適な一実施形態は、プレゼンテーション・システムであり、相容れない表現の要求がある多くの異なるタイプのネットワーク・クライアント、例えば、多くの異なるタイプの移動デバイスへの、バック・エンド・システム内に常駐するデータの公表を容易にする。 One preferred embodiment of the present invention is a presentation system, a number of different types of network clients that request conflicting representations, for example, to many different types of mobile devices, the back-end system to facilitate the publication of the resident data. このプレゼンテーション・システムは、例えば、HTTPプロトコルを通じて、クライアントと通信可能なアダプタ・モジュールを含む。 The presentation system includes, for example, through the HTTP protocol, can communicate adapter module and the client. また、プレゼンテーション・システムは、バック・エンド・システム(複数のバック・エンド・システム)と通信し、バック・エンド・システムのデータをXMLフォーマットで公開することができる、特定のタイプの生成器モジュールも備えている。 Further, the presentation system communicates with back-end systems (multiple back-end system), the data of the back-end system can be published in XML format, also particular type generator module It is provided. また、このプレゼンテーション・システムは、汎用ソースXMLデータをバック・エンド・システムから、ネットワーク・クライアント・デバイスの各々における表示に適した多くの異なるフォーマットに変換することができる、特定のタイプの変換器モジュールも内蔵している。 Further, the presentation system, a universal source XML data from the back-end system, can be converted to many different formats suitable for display in each of the network client devices, a particular type of transducer module It has a built also. また、このシステムは、個別製作したコンテンツを要求元クライアント・デバイスに、要求を送ったアダプタを通じて返送することができるシンクも内蔵している。 In addition, this system is, individually fabricated and the content to the requesting client device, sink that can be sent back through sent a request adapter is also built-in. また、このシステムは、特殊目的プログラミング言語で書かれた特定のXSA電子文書も収容しており、XMLデータの処理を管理し、どのクライアントがコンテンツの要求を行ったかに応じて、該当する生成器、変換器、およびシンクが必ず用いられるようにする。 The system also specific XSA electronic documents written in a special purpose programming languages ​​houses, manages the processing of XML data, depending on what the client has made a request for the content, the corresponding generator , transducers, and the sink is to be always used. プレゼンテーション・システムは、本質的に、XSAフレームワークのため拡張可能であり、生のコンテンツ・データのプレゼンテーション情報からの完全な分離を促進する。 Presentation system is essentially an extensible for XSA framework to facilitate complete separation from the presentation information of the raw content data. 新たなバック・エンド・システム、新たなクライアント、または新たな通信プロトコルに対応するにも、単に新たな生成器、変換器またはアダプタを追加するだけで済む。 New back-end system, also corresponding to the new client or new communication protocols, simply a new generator, only need to add a converter or adapter.

本発明の別の実施形態は、メッセージング・システムであり、一般には安全な方法で一方の外部システムから他方へインターネットを通じて、ebXMLまたはBizTalkのような標準化された業務メッセージング・プロトコルを用いて、業務メッセージを配信する。 Another embodiment of the present invention is a messaging system, generally through one of the Internet from the external system to another in a secure way, using ebXML or standardized business messaging protocol, such as BizTalk, business message to deliver. このシステムは、当該プロトコルを用いて通信することができるアダプタ・モジュールを必要とする。 This system requires the adapter module capable of communicating with the protocol. また、このシステムは、通信システムからXMLフォーマットのデータを抽出することができる特定のタイプの生成器モジュールも内蔵している。 The system also incorporates a particular type generator module from the communication system can extract data of the XML format. 更に、これは、システム・データを配信に向けた業務メッセージに変えることができる種々の変換器も内蔵することができる。 Furthermore, this can also be built various transducers can be varied to the business message for system data delivery. また、このシステムは、該当するアダプタ・モジュールを通じてメッセージをその宛先に配信することができる特定のシンク・モジュールも内蔵している。 The system also specific sync modules that can deliver the message to its destination through the appropriate adapter module are also incorporated. また、このシステムは、異なる規格の業務メッセージ間で翻訳が可能な特定のタイプの変換器も内蔵することができる。 The system can be incorporated also a particular type of transducer that can translate between different standards of business message. 最後に、このシステムは、特殊目的プログラミング言語で書かれ、XML処理を管理および制御する、特定のXSA電子文書と、これらの文書を実行する要求があったときに、それを行うことができるXSAエンジンとを内蔵している。 Finally, this system is written in a special purpose programming language, manages and controls the XML processing, when there is a request to perform a specific XSA electronic document, these documents, it is possible to do it XSA It has a built-in and the engine.

本発明の更に別の実施形態は、異質な発信源と宛先のアプリケーションとの間でデータを統合化することができる統合システムである。 Yet another embodiment of the present invention is an integrated system capable of integrating data between heterogeneous source and destination applications. この種の統合システムは、XSAエンジン、特殊目的プログラミング言語で書かれた特定のXSA電子文書、発信元および宛先アプリケーション間で通信することができる特定のアダプタ・モジュール、発信元および宛先アプリケーションのネーティブ・データ構造をXMLフォーマットに変換することができる特定の発生器、ソース・アプリケーションから入力されるXMLを宛先アプリケーションへの配信に適したXMLフォーマットに変換することができる特定の変換器、および最後に、処理(変換)したXMLデータを宛先アプリケーションに配信することができるシンク・コンポーネントを備えている。 This type of integrated system, XSA engine, specific XSA electronic documents written in a special purpose programming language, source and specific adapter module capable of communicating between the destination application, native source and destination applications a data structure specific generator can be converted to XML format, particular transducer capable of converting the XML input from a source application to an XML format suitable for delivery to the destination application, and finally, and a sync component capable of delivering processing (conversion) XML data to the destination application.

以下に、本発明の更に別の好適な実施形態を詳細に説明する。 Hereinafter, further description of another preferred embodiment of the invention in detail. 以後、これを実施形態Aと呼ぶことにする。 Hereinafter, it will be referred to as embodiment A. 実施形態Aは、XMLサービス・アクション電子文書に可能な1つのフォーマットを高精度に定義する特殊目的プログラミング言語の仕様であり、そのセマンティックス(semantics)を説明し、更に実施形態Aによって定義された仕様にしたがって書かれたXSAエンジンの実現例によって、それがどのように解釈されるかについて説明する。 Specifications embodiment A is specification of special purpose programming language that defines one possible format to XML service actions electronic documents with high precision, which describes the semantics (a semantics), defined by the further embodiment A in some implementations of XSA engine written in accordance with, it will be described how it is interpreted. 実施形態Aは、XML処理タスクの管理のために設計された、特殊目的プログラミング言語のXMLサービス・アクション仕様の一例として記述することができ、当業者であれば、これを利用して、通常のコンピュータ・システムにおいて本発明の具体的な実現例を作成することができる。 Embodiment A was designed for the management of XML processing tasks can be described as an example of the XML service actions specifications special purpose programming language, those skilled in the art, by using this, normal it is possible to create a specific implementation of the present invention in a computer system. 実施形態Aは、前述の他の実施形態全てについても、正確に述べたフレームワークとして用いることもできる。 Embodiment A for all other embodiments described above can also be used as precisely mentioned framework.

実施形態Aによれば、XSA電子文書は、文書形式定義(DTD)に従うXMLフォーマットに基づいて、特殊目的プログラミング言語で書かれている。 According to the embodiment A, XSA electronic document based on XML format according to a document format definition (DTD), has been written in a special purpose programming language. XML電子文書は、有効はXSA文書を構成し、ここではXSA定義と呼ぶこともある。 XML electronic document, valid constitute XSA document, sometimes called XSA defined herein.

以下に、実施形態Aの記述に用いられる用語の定義を示す。 The following is a definition of terms used in the description of the embodiments A.
XSA実行エンジン:実施形態Aのために定義されたXSA定義を実行することができるソフトウェア実現例。 XSA Execution Engine: software implementation that can perform the XSA definitions defined for embodiment A.

XSA定義:実行する各XSAはXML文書として指定される。 XSA Definition: Each XSA to be executed is specified as an XML document. 文書の場所や形態は、実施形態Aの仕様には全く制約されず、記憶媒体から読み取ったり、実行時に機械で生成したり、あるいはその他のいずれの方法でも取得することができる。 Location and form of the document, embodiments A specification is not at all constrained to the, or read from the storage medium can also be obtained by generating or, or other any way the machine at run time. 実施形態Aについて定義されたXSAの1つのインスタンスを記述するXML文書を、XSA定義と呼ぶ。 The XML document describes one instance of XSA defined for embodiment A, called the XSA definition.

XML動作:各XSA定義は、多数のXML動作で構成されている。 XML Operation: Each XSA definition is composed of a number of XML operations. XML動作とは、XSAにおける実行の単位であり、これらはXSA定義に定義されているように順次実行される。 The XML operation, a unit of execution in XSA, which are sequentially performed as defined in the XSA definition.

XSAコンポーネント:XML動作において用いられるコンポーネントをXSAコンポーネントと呼ぶ。 XSA Components: The components used in the XML operation is called XSA components. XSAコンポーネントの例には、生成器、変換器およびシンクのような、実行パイプラインのブロックが含まれる。 Examples of XSA components, generators, such as transducers and sink includes block execution pipelines.

XSAコンポーネントは常にXSA定義内において参照されるが、使用する実際のコンポーネントは、XSA定義の外側で定義され、使用するコンポーネントのプログラミング言語、実現例、および構成において完全な自由を実施者に与える。 XSA Although components are always referenced in XSA definition, the actual components used are defined in an outer XSA definitions, programming language components used, implementation, and provide complete freedom in practitioner in the configuration.

生成器:生成器は、何らかの特定的な方法でXMLデータを生成するコンポーネントである。 Generator: generator is a component that generates XML data in any particular manner. 生成器がXMLを作成するために用いる方法は、用いられる生成器コンポーネントの実現例によって異なる。 The method used to generator creates the XML is different in some implementations of the generator components used.

変換器:変換器は、ある特定の方法でXMLデータを変換するコンポーネントである。 Converter: converter is a component for converting the XML data in a particular way. XMLに変換する際に用いる方法は、用いられる変換器コンポーネントの実現例によって異なる。 The method to be used for converting the XML is different in some implementations of the transducer components used.

シンク:シンクは、処理後のXMLデータを配信するコンポーネントである。 Sink: Sink is a component that delivers the XML data after processing. 配信は、XMLデータを内部形式でメモリに保持することから、何らかの外部フォーマットにそれをシリアル化し、データベースに格納することまでのいずれでも含むことができる。 Delivery can include XML data from that held in the memory in an internal form, serialize it to some external format, either to be stored in a database.

パイプライン:パイプラインは、生成器、一連の変換器、およびシンクを組み合わせて、一連の実行を形成する。 Pipeline: pipeline, generator, by combining a series of transducers, and the sink, to form a series of execution. XMLデータは、生成器から変換器を介してシンクまで流れる。 XML data flows from the generator to the sink through the converter.

条件付き動作:条件付き動作を用いて、どのパイプラインを実行するかを判断し、実行の流れを制御することができる。 Conditional operation: using a conditional operation, to determine whether to perform which pipeline, it is possible to control the flow of execution.
XSAコンテキスト:各XSA実行は、コンテキストにおいて行われ、名称のある数個のスコープを通じて、1組の名称のある変数へのアクセスを与える。 XSA Context: Each XSA execution is performed in the context, through several scope of names, giving access to variables with a set of names.

スコープ:XSAコンテキストは、名称のある全ての変数をスコープに格納する。 Scope: XSA context stores all variables with names in scope. スコープは、要求、セッション、クライアント、ユーザ、およびアプリケーションである。 Scope, request, session, client, user, and application. 各スコープは、本明細書において後に実施形態Aについて定義するような意味を有する。 Each scope has the meaning as defined for embodiment A later herein.

変数:変数という用語は、XSAコンテキストに格納される名称−値対に対して用いられる。 Variables: The term variable name is stored in the XSA context - used for value pairs. 変数は、名称および値を有し、あるスコープに属する。 Variable has a name and a value, belonging to a scope.
以下に、実施形態Aによる、XML動作を定義する際に用いられる、XSA定義の基本的シンタックス・エレメントの説明を行う。 Hereinafter, according to the embodiment A, used in defining the XML operation, a description of the basic syntax elements XSA definition.

実施形態Aのこの仕様にしたがって書かれる各XSA定義は、DOCTYPE宣言を含み、公表識別子を"-//Dimon//DTD XSA 1.1//EN"に設定しなければならない。 Each XSA definitions written according to this specification embodiments A comprises a DOCTYPE declaration, published identifier - must be set to "// Dimon // DTD XSA 1.1 // EN". このDTDは次の通りである。 This DTD is as follows.

[表1] [Table 1]
<!-- <! -
実施形態AのXMLサービス・アクション仕様 XML service action specification of embodiment A
Namespace= Namespace = http: //
このDTDモジュールは、このPUBLIC識別子、 This DTD module, the PUBLIC identifier,
PUBLIC "-//Dimon//DTD XSA 1.1//EN" PUBLIC "- // Dimon // DTD XSA 1.1 // EN"
およびこのカノニカル・システム識別子によって識別する。 And identified by the canonical system identifier.
システム識別子は変化する場合がある。 System identifier may change. DOCTYPE宣言は次のように示すことができる。 DOCTYPE declaration can be represented as follows.
<!DOCTYPE xsa PUBLIC "-..Dimon//DTD XSA 1.1//EN""xsa.dtd"> <DOCTYPE xsa PUBLIC! "- .. Dimon // DTD XSA 1.1 // EN" "xsa.dtd">
Review:DRAFT Review: DRAFT
--> ->

<!--サーバ内のどこかで定義し構成したコンポーネントのIDを参照--> <! - referring to the ID of the component that configuration defined somewhere in the server ->
<!ENTITY % refid"refid CDATA #required"> <! ENTITY% refid "refid CDATA #required">

<!--所与の範囲における名称のある変数の仕様--> <! - of variables that name in a given range specifications ->
<!ENTITY % variablespec" <! ENTITY% variablespec "
scope (request||session|client|user|application) #required scope (request || session | client | user | application) #required
name CDATA #required"> name CDATA #required ">

<!--アクションの一般的サブパーツ--> <! - action common sub-parts of ->
<!ENTITY % XML Operation "(pipeline|setvariable|removevariable|lif|operation)"> <ENTITY% XML Operation! "(Pipeline | setvariable | removevariable | lif | operation)">

<!--あらゆる値の指定子。 <! - specifier of any value. out-param-valueは特殊な場合であり、out-paramの下位としてのみ用いることができる。 out-param-value is a special case, it can be used only as a subordinate of out-param. その他はvaluespecがコンテンツ・モデル内であればどこでも用いることができる--> Others can be used anywhere valuespec is within the content model ->
<!ENTITY % valuespec "(null|literal|getvariable|mapping|out-param-value)"> <ENTITY% valuespec! "(Null | literal | getvariable | mapping | out-param-value)">

<!--条件の一括表現--> <! - conditions collective expression of ->
<!ENTITY % anycondition “(and|or|not|isdefined|isoftype|equlas|condition)”> <ENTITY% anycondition! "(And | or | not | isdefined | isoftype | equlas | condition)">

<!-入力/出力パラメータ割り当ての一括表現a <! - collective representation of the input / output parameter assignment a
<!ENTITY %inoutparam "(out-param|in-param)"> <ENTITY% inoutparam! "(Out-param | in-param)">

<!--あらゆるアクション仕様のルート・エレメント--> <! - The root element of any action specifications ->
<!ELEMENT xsa (support*,errordef*,(%XMLOperation;)+)> <ELEMENT xsa (support *, errordef *, (% XMLOperation;) +)!>
<!ATTLIST xsa <! ATTLIST xsa
version CDATA #required version CDATA #required
xmin CDATA '' xmin CDATA ''
> >

<!-- 所与のアダプタに対する対応を示す。 <! - shows the correspondence for a given adapter. 対応エレメントが現れない場合、いずれのアダプタでも、このXSAを呼び出すことができると想定することができる If the corresponding element does not appear, in any of the adapter, it can be assumed to be able to call this XSA
--> ->
<!ELEMENT supports EMPTY> <! ELEMENT supports EMPTY>
<!ATTLIST supports <! ATTLIST supports
adaptername CDATA #required adaptername CDATA #required
> >

<!-- エラー、およびこのエラーの場合に呼び出すXSAを定義する。 <! - error, and to define the XSA to call in the case of this error.
このコンテンツは、英語の記述的エラー・メッセージとすることができる。 This content may be an English descriptive error messages.
名称属性はエラーの名称であり、呼び出しはこのエラーの場合に呼び出すXSAへの参照を与えなければならない。 The name attribute is the name of the error, the call must be given a reference to the XSA to call in the case of this error.
--> ->
<!ELEMENT errodef #PCDATA> <! ELEMENT errodef #PCDATA>
<!ATTLIST errordef <! ATTLIST errordef
name CDATA #required name CDATA #required
invokes CDATA #required invokes CDATA #required
> >

<!--XMLパイプラインを実行する動作を表す。 <! - representing an operation to execute the XML pipeline.
生成器、変換器、およびシンクはネスト状エレメントによって指定する--> Generator, transducer, and the sink is designated by nested element ->
<!ELEMENT pipeline ((generator|raiseerror), (transformer||raiseerror)*, (sink|raiseerror))> <ELEMENT pipeline! ((Generator | raiseerror), (transformer || raiseerror) *, (sink | raiseerror))>

<!--スコープにおいて変数を設定する動作を表す。 <! - representing an operation to set a variable in scope.
内容は設定する値を指定する--> Contents of which specify the value to be set ->
<!ELEMENT setvariable (%valuespec;)> <ELEMENT setvariable (% valuespec;)!>
<!ATTLIST setvariable <! ATTLIST setvariable
%variablespec; % Variablespec;
failonerror (true|false) "true" failonerror (true | false) "true"
> >

<!--スコープにおいて変数を除去する動作を表す--> <! - representing an operation to remove a variable in scope ->
<!ELEMENT removevariable EMPTY> <! ELEMENT removevariable EMPTY>
<!ATTLIST removevariable <! ATTLIST removevariable
%variablespec; % Variablespec;
failonerror (true|false) "true" failonerror (true | false) "true"
> >

<!--条件を評価することによって2つの動作リスト間で選択を行った後、その1つにおける各動作を実行する動作を表す--> <! - After selection between two operation list by evaluating conditions, representing the operation to execute the in one each operation ->
<!ELEMENT if (%anycondition;,then,else?)> <ELEMENT if! (% Anycondition;, then, else?)>

<!--条件を評価して真になったときに実行するXML動作のコンテナ--> <! - container of XML operations to be executed when it becomes truly evaluate the condition ->
<!ELEMENT then ((%XML Operation;)*)> <ELEMENT then ((% XML Operation;) *)!>

<!--条件を評価して真になったときに実行するXML動作のコンテナ--> <! - container of XML operations to be executed when it becomes truly evaluate the condition ->
<!ELEMENT else ((%XML Operation;)*)> <ELEMENT else ((% XML Operation;) *)!>

<!--SAXチェーンを開始する生成器のインスタンス化を表す。 <! - represents an instance of the generator to start the SAX chain.
いずれかの場所で構成された生成器ファクトリを参照し、それを呼び出すためのパラメータを指定する--> Referring to generator factory constructed anywhere, specify the parameters to call it ->
<!ELEMENT generator ((%inoutparam;)*)> <ELEMENT generator ((% inoutparam;) *)!>
<!ATTLIST generator <! ATTLIST generator
%refid; % Refid;
> >

<!--SAXチェーンの一部としての変換器のインスタンス化を表す。 <! - represents an instance of the converter as a part of the SAX chain.
いずれかの場所で構成された変換器ファクトリを参照し、それを呼び出すためのパラメータを指定する--> Referring to converter factory constructed anywhere, specify the parameters to call it ->
<!ELEMENT transformer ((%inoutparam;)*)> <ELEMENT transformer ((% inoutparam;) *)!>
<!ATTLIST transformer <! ATTLIST transformer
%refid; % Refid;
> >

<!--SAXチェーンを終了するシンクのインスタンス化を表す。 <! - represents an instance of the sink to end the SAX chain.
いずれかの場所で構成されたシンク・ファクトリを参照し、それを呼び出すためのパラメータを指定する--> Refer to the sink factory that is configured in either location, so you can specify the parameters to call it ->
<!ELEMENT sink ((%inoutparam;)*)> <ELEMENT sink ((% inoutparam;) *)!>
<!ATTLIST sink <! ATTLIST sink
%refid; % Refid;
> >

<!-- XPathを評価して真になった場合、エラーを出す。 <! - If it becomes true to evaluate the XPath, put out the error.
エラー属性は、出すエラーの名称を収容していなければならず、検査属性は評価するXPathを収容していなければならない--> Error attribute must not contain the name of the error issue, inspection attribute must not contain an XPath to evaluate ->
<!ELEMENT raiseerror EMPTY> <! ELEMENT raiseerror EMPTY>
<!ATTLIST raiseerror <! ATTLIST raiseerror
error CDATA #required error CDATA #required
test CDATA #required test CDATA #required
> >

<!--所与の変数の値を得ることを表す--> <! - indicating that to get the value of a given variable ->
<!ELEMENT getvariable EMPTY> <! ELEMENT getvariable EMPTY>
<!ATTLIST getvariable <! ATTLIST getvariable
%variablespec; % Variablespec;
> >

<!--どこかで定義された条件を参照するネストされたin-paramエレメントによって割り当てられた入力パラメータを取る場合もある--> <! - there is a case to take the input parameters assigned by nested in-param element to refer to the conditions defined in somewhere ->
<!ELEMENT condition (in-param*)> <! ELEMENT condition (in-param *)>
<!ATTLIST condition <! ATTLIST condition
%refid; % Refid;
> >

<!--AND条件、全てのネストされた条件が真となる場合にのみ、真となる--> <-! AND conditions, all of the nested conditions only if that is true, it is true ->
<!ELEMENT and ((%anycondition;)+)> <ELEMENT and ((% anycondition;) +)!>

<!--包含的OR条件、ネストされた条件の1つが真となる場合にのみ、真となる--> <! - inclusive OR conditions, only if that is true 1 Toga of nested conditions, is true ->
<!ELEMENT or ((%anycondition;)+)> <ELEMENT or ((% anycondition;) +)!>

<!--否定条件、ネストされた条件の否定を出す--> <! - negative conditions, issues a denial of nested conditions ->
<!ELEMENT not ((%anycondition;))> <ELEMENT not ((% anycondition;))!>

<!-- is-defined条件、全てのネストされた値(あらゆるオブジェクト)がヌルでないか否かを出す。 <-! Is-defined conditions, all of the nested value (any object) issues whether or not null.
ネストされた値がない縮退の場合に真を出す--> Give true if there is no nested value degenerate ->
<!ELEMENT isdefined ((%valuespec;)*)> <ELEMENT isdefined ((% valuespec;) *)!>

<!-- is-of-type 条件、最初のネストされた値(いずれかのオブジェクト)が2番目のネストされた値(ストリング)によって命名されたクラスのものであるか否かを出す。 <! - put out is-of-type conditions, whether or not the first nested value class (one of the objects) has been named by the second nested value (string). いずれかがヌルの場合偽を出す--> Either issues a false case of null ->
<!ELEMENT isoftype ((%valuespec;),(%valuespec;))> <ELEMENT isoftype! ((% Valuespec;), (% valuespec;))>

<--等価条件、最初のネストされた値が、イコール・メソッドによって判定された、その他の各々と等しいか否かを出す。 <- equivalent conditions, the first nested values, determined by the Equal method, put whether equal other each. 全てがヌルの場合真を出す。 All issues a true case of null. 一部がヌルであり、一部がそうでない場合、偽を出す。 Part is null, if the part is not the case, issue a fake.
ネストされた値が1つのみの縮退の場合に真を出す Nested value issues a true in the case of only one of the degenerate
--> ->
<!ELEMENNT equals ((%valuespec;)+)> <ELEMENNT equals ((% valuespec;) +)!>

<!--名称付入力パラメータに値を割り当てることを表す--> <! - indicating that assign a value to with the name input parameters ->
<!ELEMENT in-param(%valuespec;)> <ELEMENT in-param (% valuespec;)!>
<!ATTLIST in-param <! ATTLIST in-param
name CDATA #required name CDATA #required
> >

<!--1つ以上の入力パラメータを取り込み、結果値を出すマッピングを表す。 <! - one or more of the capture input parameters, representing a mapping that produce a result value. 入力パラメータは、ネストされたin-paramによって与えられる--> The input parameters are given by a nested in-param ->
<!ELEMENT mapping (in-param*)> <! ELEMENT mapping (in-param *)>
<!ATTLIST mapping <! ATTLIST mapping
%refid; % Refid;
> >

<!--出力パラメータを変数に割り当てることを表す--> <! - indicating that assign the output parameters to the variable ->
<!ELEMENT out-param (setvariable)> <! ELEMENT out-param (setvariable)>
<!ATTLIST out-param <! ATTLIST out-param
name CDATA #required name CDATA #required
> >

<!-- out-paramエレメントの子孫として用いられるときに、出力パラメータの値を表す。 <! - when used as a descendant of the out-param element, representing a value of the output parameter. それ以外の場合にはいずれも違法--> Both in the case of otherwise illegal ->
<!ELLEMENT out-param-value EMPTY> <! ELLEMENT out-param-value EMPTY>

<!-- ヌル(duh)の値を表す--> <! - represents the value of null (duh) ->

<!-- 文字で指定された値を表す--> <! - representing the values ​​specified in the character ->
<!ELEMENT literal (#PCDATA)> <! ELEMENT literal (#PCDATA)>

<!-- 所与のパーザ・クラスによって構成されるカスタムXML動作を表す。 <! - representing the custom XML operations constituted by a given parser class. パーザ・クラスは、XSAパーザ・クラスローダ内になければならず、デフォルトのコンストラクタを有していなければならない。 Parser class, must be in XSA parser class within the loader, it must have a default constructor.
このエレメントは任意のXMLを収容している場合がある。 This element may reflect accommodate any XML. XMLが別個の名称空間にあるか(このDTDとの障害を避けるため)、またはこのDTDを解析の時点で実行しないかのいずれかが必要である。 (To avoid the failure of this DTD) or XML is in a separate name space, or it is necessary either not performed at the time of analyzing this DTD.
--> ->
<!ELEMENT operation EMPTY> <! ELEMENT operation EMPTY>
<!ATTLIST operation <! ATTLIST operation
parserClass CDATA #required parserClass CDATA #required
> >

DOCTYPE宣言の一例は、次の通りである。 An example of the DOCTYPE declaration is as follows.

[表2] [Table 2]
<!DOCTYPE xsa <! DOCTYPE xsa
PUBLIC "-//Dimon//DTD XSA 1.1//EN" PUBLIC "- // Dimon // DTD XSA 1.1 // EN"
""> "Http://">

XSA定義のルート・エレメントは<xsa>である。 The root element of the XSA definition is <xsa>. XSAが実施形態Aのこの仕様にしたがって書かれたのであれば、これは、1.1の値を有するバージョン属性を収容していなければならない。 If the XSA is written according to this specification embodiments A, which must not contain the version attribute with a value of 1.1. 空のルート・エレメントの一例は、次のようにすることができる。 An example of an empty root element may be as follows.

[表3] [Table 3]
<xsa version="1.1" xmlns=""> <Xsa version = "1.1" xmlns = "">
</xsa> </ Xsa>

ルートの内側では、XSA定義は、以下で論ずるように、いずれの数のエレメントでも収容する。 Inside the root, XSA definition, as discussed below, to accommodate even an element of any number. これらのエレメントの殆どは、XML動作に対応する。 Most of these elements, corresponding to the XML operation. XML動作のタイプについては、後に以下で更に詳しく論ずるが、以下のリストは、本発明の実施形態Aによるルート・エレメントの内側で許される各タイプのXMLエレメントについて端的に記述する。 The type of XML operation, later but discussed in more detail below, the following list briefly describes XML element for each type allowed inside the root element according to embodiment A of the present invention.

パイプライン:パイプラインは、<pipeline>エレメントによって定義される。 Pipeline: pipe line is defined by <pipeline> element. パイプラインは、生成器、変換器およびシンクを組み合わせ、XMLデータを処理するために基本的エレメントを用いる。 Pipelines, generator, combining the transducer and sink, using a basic element to process the XML data.

変数:<setvariable>および<removevariable>エレメントによって操作され、<getvariable>エレメントによってアクセスされる。 Variables: is operated by <SetVariable> and <removevariable> element is accessed by <getVariable> element. 変数は、制御情報を外部のXSA実行に受け渡し、そしてXSA実行から受け取り、更に内部においてXSAのコンポーネント間で受け渡す手段である。 Variable transfer control information to an external XSA execution, and receives from the XSA execution, is a means to pass between XSA components inside yet.

変数は、XSAコンテンツの一部である。 Variable is a part of the XSA content. これについては、以下で詳しく論ずる。 In this regard, we discussed in detail below.
条件:条件は、<if>エレメントによって定義される。 Conditions: conditions are defined by the <if> element. これらは、どのXML動作を実行し、どのXML動作を実行しないか制御する際に用いることができる。 It can be used in which the XML operation executed, controls or not running any XML operation.

カスタム動作:カスタム動作は、<operation>エレメントによって定義される。 Custom Action: custom operation is defined by the <operation> element. これらは、いずれのカスタムXML動作を行うときにでも用いることができる。 It can be used even when performing any custom XML operation.
各XML動作のシンタックスについては、以下で論ずる。 The syntax of the XML operation, discussed below. 実施形態Aの仕様によるXSA定義の一例は、次のようにすることができる。 An example of XSA defined by design embodiment A may be as follows.

[表4] [Table 4]
<?xml version='1.0'?> <? Xml version = '1.0'?>
<!DOCTYPE xsa <! DOCTYPE xsa
PUBLIC "-..Dimon..DTD XSA 1.1//EN" PUBLIC "- .. Dimon..DTD XSA 1.1 // EN"
""> "Http://">
<xsa version="1.1" xmlns=""> <Xsa version = "1.1" xmlns = "">
<setvariable scope="request" name="http.response.Content-Type"> <Setvariable scope = "request" name = "http.response.Content-Type">
<literal>text/plain</literal> <Literal> text / plain </ literal>
</setvariable> </ Setvariable>
<pipeline> <Pipeline>
<generator refid="index"/> <Generator refid = "index" />
<transformer refid="resourcetrax"> <Transformer refid = "resourcetrax">
<in-param name="xsl"> <In-param name = "xsl">
<literal>index.xsl</literal> <Literal> index.xsl </ literal>
</in-param> </ In-param>
</transformer> </ Transformer>
<sink refid="clipsersink"> <Sink refid = "clipsersink">
<in-param name="outputStream"> <In-param name = "outputStream">
<getvariable scope="request" name="http.responsestream"/> <Getvariable scope = "request" name = "http.responsestream" />
</in-param> </ In-param>
</sink> </ Sink>
</pipeline> </ Pipeline>
</xsa> </ Xsa>

実施形態Aにおいて記述された特殊目的プログラミング言語の仕様によれば、XSA定義は線形の順序で実行される。 According to the specification of special purpose programming language described in the embodiments A, XSA definition is performed in a linear order. これが意味するのは、各XML動作を完全に評価した後に、リスト中の次のXML動作を評価するということである。 This means that, after complete evaluate each XML operation is that to evaluate the next XML operation in the list. 実現例は、この順序付けに従わなければならない。 Implementation shall comply with this ordering. 何故なら、変数の設定は、実行の順序に左右される可能性があるからである。 Because setting of variables, there is a possibility dependent on the order of execution.

以下に、実施形態Aの実行コンテキストの記述を示す。 The following is a description of the execution context of the embodiment A.
XSAは、XSA定義内に定義されている処理を活性化するために実行する。 XSA is performed to activate the process defined in XSA definition. XSAを実行する毎に、XSAコンテキストにアクセスする。 Every time you run the XSA, to access the XSA context. XSAコンテキストは、スコープ内に定義されている1組の変数を公開する。 XSA context exposes a set of variables that are defined in the scope. この仕様では、特定の変数名を定義しないが、全ての変数は、次の名称付スコープの1つに属さなければならない。 In this specification, but does not define a specific variable names, all of the variables, it must belong to one of the scope with the next name.

実施形態Aのこの仕様は、変数のスコープとは無関係に、特定の変数へのリード/ライト・アクセスを定義しない。 The specifications of the embodiment A, regardless of the scope of the variable, do not define a read / write access to a particular variable. 実施形態の中には、必要に応じてある変数へのアクセスを制限してこの要件を満たそうとする場合もあり、一例を示せば、ユーザ・スコープ内の変数にはリード・アクセスを許すが、ライト・アクセスは許さないというものであろう。 In some embodiments, it limits the access to the variable that is necessary sometimes trying to meet this requirement, One example, although the variable in the user scope allows read access , it will be those that write access is not allowed. 設定した制限に違反した場合、エラーを発生しなければならず、以下で説明するエラー処理を、それに応じて呼び出さなければならない。 Violation of the set limits, must be an error, the error processing described below must call accordingly. どんなエラーが生じたかは、実現例の詳細である。 Is what kind of error has occurred, the details of implementation.

XSAコンテキストに変数を設定するには、その変数への書き込みが実現例によって許される限り、その変数に以前にあった値を上書きしなければならない(いずれかの値が存在している場合)。 To set variables XSA context, as long as the writing to the variable is permitted by the implementation, (If any of the values ​​are present) must overwrite previously had a value to the variable. 以下のスコープが、実施形態Aのこの実施形態において定義されている。 Following scopes have been defined in this embodiment of the embodiment A. これらのスコープのランタイム環境へのマッピングは、この実施形態Aの仕様による実現例次第である。 Mapping to these scopes runtime environment will depend example realized by design of this embodiment A. 実施するマッピングは、以下に与える記述に従わなければならない。 Mapping to implementation, must follow the description given below.

要求:要求スコープは、現XSAの実行後も存続している必要があるが、それ以上存続する必要はない。 Request: request scope, it is necessary that survive the execution of the current XSA, need not survive more. これは、XSAの呼び出し側(invoker)が初期化したデータを収容し、XSAの実行によって、このスコープに定義されている変数を変更することができる。 This can be calling XSA (invoker) is accommodated data are initialized by the execution of XSA, changing the variables defined in the scope. 全ての実現例は、要求スコープに対応していなければならない。 All implementations must correspond to the required scope.

セッション:セッション・スコープは、同じセッションが用いられている限り、複数の要求の間は存続している必要がある。 Session: a session scope, as long as the same session is used, during the multiple requests it needs to survive. 「セッション」の定義は、実現例に委ねられるが、自明な例は、XSAモデルを用いたウェブ・サーバの場合におけるHTTPセッションである。 The definition of "session" is left to the implementation, the obvious example is the HTTP session in the case of a web server using the XSA model. セッション・スコープに対応するのはオプションである。 It is an option to accommodate the session scope.

クライアント:クライアント・スコープは、直接的または間接的にXSAを呼び出したクライアントに適用されるデータのために用いられる。 Client: A client scope is used for the data to be applied to the client that invoked directly or indirectly XSA. クライアントの定義は、実現例に委ねられるが、一例は、XSAモデルを用いたウェブ・ページを呼び出すブラウザである。 Client of the definition, but is left to the implementation, an example is a browser to call the web page using the XSA model. クライアント・スコープに対応するのはオプションである。 It is an option to accommodate the client scope.

ユーザ:ユーザ・スコープは、直接的または間接的にXSAを呼び出したユーザ・アイデンティティ(通例、人)に関連するデータのために用いられる。 User: User scope is used for the data associated with the user identity that invoked directly or indirectly XSA (typically human). ユーザの観念は、実施形態Aのこの仕様の多くの実現例には適用できない場合もあるので、ユーザ・スコープに対応するのはオプションである。 Notion of user, since in many implementations of this specification embodiments A may not be applicable, it is optional to correspond to the user scope. ある実現例がユーザ識別に対応しても、ユーザ・スコープはオプションである。 Also an implementation has to correspond to the user identification, the user scope is optional.

アプリケーション:アプリケーション・スコープは、XSAが実行しているアプリケーションに関連するデータのために用いられる。 Application: Application scope is used for the data associated with the application XSA is running. アプリケーションの定義は、XSA仕様の実現例に委ねられる。 Definition of the application is left to the implementation of the XSA specification. アプリケーション・スコープに対応するのはオプションである。 It is an option to accommodate the application scope.

本発明の実施形態Aの仕様は、複数の変数のスコープが一体となってXSAコンテキストと呼ばれるものを形成することを述べている。 Specifications embodiment A of the present invention, the scope of a plurality of variables are stated to form what is called XSA context together. XSAコンテキストは、XSAの実行前に初期化すると有用であるが、望ましいのであれば、XSA実行の間に再度使用することもできる。 XSA context is useful when initialized before execution of XSA, if desirable, may be used again during the XSA execution. その場合、実現例は、XSAコンテキストがいつ、そしてどのような場合に再度使用されているか明確に定義し、潜在的なセキュリティ・ホール(security hole)を回避しなければならない。 In this case, implementation is, XSA context when and what if defined clearly whether it is used again, must avoid potential security hole (security hole).

以下に、本発明の実施形態Aのパイプラインについての概念を詳細に説明する。 The following describes the concept of pipelining embodiment A of the present invention in detail.
パイプラインは、一連のXML生成器、変換器、およびシンクを定義する。 Pipeline, a series of XML generator, transducers, and defines the sink. パイプライン・エレメントは、XSA定義のXML動作である。 Pipeline elements are XML operation XSA definition.

パイプラインは、<pipeline>エレメントによって定義される。 Pipeline is defined by <pipeline> element. これは、エレメントを順序付けたリストを収容しており、リストは、必須の生成器から始まり、続いていずれかの数の変換器、そして必須のシンクで終了する。 This accommodates the list of ordered elements, list begins essential generator, followed by any number of transducers, and ends with essential sink.

データ・フローは、生成器において始まり、処理すべきXML文書(複数の文書)を作成し、変換器を通過して、XMLデータの構造およびコンテンツを修正し、最後にシンクにて終了し、指定された形態のデータを配信するかまたはこれに反応する。 Data flow begins at generator creates an XML document to be processed (multiple documents), through the transducer, to modify the structure and content of the XML data, and ends at the end sink, designated or react to deliver data of forms.

パイプラインの種々の部分間を流れるデータは、XML形式となっている。 Data flowing between the various parts of the pipeline has a XML format. この実現例は、このデータをいずれの特定の形式で保持することも必要ではなく、SAXおよびDOMのような共通APIを用いることもできる。 This implementation is not also necessary to maintain this data in any particular format may be used a common API such as SAX and DOM. コンポーネント間を流れるデータに加えて、入力および出力パラメータもコンポーネント毎に用いることができる。 In addition to data flowing between components, the input and output parameters can be used for each component. これらのパラメータの評価順序には、この仕様では制約がない。 The order of evaluation of these parameters, there is no restriction in this specification. これは、パイプラインにおける前方のコンポーネントからの出力パラメータは、パイプラインにおける後方のコンポーネントへの入力には利用できない場合もあることを意味する。 This output parameters from the front of the component in the pipeline, means that the input to the rear of the components in the pipeline may not be available. 唯一の制約は、パイプラインは、XSAにおける次のXML動作を実行する前に、そのパラメータ評価および実行を完了しなければならないことである。 The only constraint is pipeline before performing the next XML operation in XSA, is the need to complete the parameter evaluation and execution. 以下に、パイプラインにおいて用いられるXSAコンポーネント・タイプを説明する。 The following describes the XSA component types used in the pipeline. まず、全コンポーネント・タイプに共通な属性の説明から開始する。 First of all, to start from the description of the attributes common to all component types.

XSAコンポーネントは、パイプライン実行中におけるある形態の作業を実行するために、パイプライン内において用いられる。 XSA component, in order to perform the tasks in some form in the pipeline execution, used in the pipeline. XSAコンポーネントは、外部で定義され、XSA定義から引用される。 XSA component is defined externally, are taken from XSA definition. XSAコンポーネントを定義するために用いられる方法、XSAコンポーネントを引用するために用いられる指名方法、およびXSAコンポーネントによって実施されるインターフェースは、実施形態Aのこの仕様では扱われない、実現例の詳細である。 The method used to define the XSA components, nomination method used to quote XSA components, and interfaces implemented by XSA components is not addressed in this specification embodiments A, the details of implementation .

用いるコンポーネント・インスタンスの名称は、XSAコンポーネントのrefid属性において与えられる。 Name of component instances to be used are given in refid attributes of XSA components. この参照は、常に、使用中のプログラミング言語によって定義されるのと同じオブジェクト・インスタンスを引用しなければならず、何らかの方法でオブジェクトが変更された場合、これを引用している全てのXSA定義もそれに応じて更新しなければならない。 This reference is, always, must cite the same object instance that is defined by the programming language in use, when an object is changed in some way, also all of the XSA definition that cite this It must be updated accordingly.

外部から引用されることに加えて、XSAコンポーネントは、1つ以上の共通能力(ability)、即ち、入力および出力パラメータを共有する。 In addition to being taken from outside, XSA component, one or more common ability (abilities), i.e., sharing the input and output parameters.
各XSAコンポーネントは、いずれの数の名称付入力および出力パラメータでも定義することができる。 Each XSA component can be defined in any of the names with the input and output parameters of a few. XSA定義の中では、入力パラメータは<in-param>エレメントと共に与えられ、出力パラメータは、<out-param>エレメントと共に与えられる。 XSA in the definition, the input parameters are given together with the <in-param> element, the output parameter is given with <out-param> element.
<in-param>エレメントのフォーマットは次の通りである。 The format of the <in-param> element is as follows.

[表5] [Table 5]
<in-param name="xsl"> <In-param name = "xsl">
<!-- Value specification --> <-! Value specification ->
</in-param> </ In-param>

<out-param>エレメントのフォーマットは次の通りである。 The format of the <out-param> element is as follows.

[表6] [Table 6]
<out-param name="xsl"> <Out-param name = "xsl">
<setvariable ...> <Setvariable ...>
... ...
</setvariable> </ Setvariable>
</out-param> </ Out-param>

各入力および出力パラメータの名称は、コンポーネントの実現例によって定義される。 The name of each input and output parameters are realized examples defined components.

以下に、本発明の実施形態Aについて指定した生成器コンポーネントを説明する。 The following describes the generator components specified for the embodiment A of the present invention.
生成器は、パイプラインにおいて処理するXMLデータを作成するために用いられるXSAコンポーネントである。 Generator is a XSA components used to create the XML data to be processed in the pipeline. どのように生成器がXMLを作成するかは、実現例毎に様々であり、その例には、XMLをファイルから読み出し、それをネットワークを通じて取り込み、データベースにアクセスしデータをXMLに変換することが含まれる。 How the generator creates an XML, vary for each implementation, examples, to convert read the XML from a file, it takes in through the network, the access to the database data into XML included. 生成器の出力は、常にXMLの実現例の内部表現において正しく形成されている必要がある。 The output of the generator, there is always a need to be properly formed in the internal representation of XML implementation. XSA実行エンジンは、この要件を各生成器に強制するが、そうしなくてもよい。 XSA execution engine, but enforce this requirement to each generator, it is not necessary to do so.

生成器は常にパイプラインの先頭において定義され、全てのパイプラインにおいて必要である。 Generator is always defined at the beginning of the pipeline, it is necessary for all of the pipeline. <generator>エレメントは、パイプラインにおいて生成器を定義するために用いられる。 <Generator> element is used to define a generator in the pipeline. 全てのXSAコンポーネントと同様、生成器は、名称付入力および出力パラメータに対応する。 Like all XSA components, generator corresponds to the input and output parameters with the name. <generator>エレメントの形式は、次の通りである。 <Generator> form of the element is as follows.

[表7] [Table 7]
<generator refid="mygen"> <Generator refid = "mygen">
<in-param name="myinparam"> <In-param name = "myinparam">
... ...
</in-param> </ In-param>
... ...
<out-param name="myoutparam"> <Out-param name = "myoutparam">
... ...
</out-param> </ Out-param>
... ...
</generator> </ Generator>

以下に、本発明の実施形態Aにおいて指定した、変換器コンポーネントについて説明する。 Hereinafter, designated in the embodiment A of the present invention will be described transducer components.

変換器は、データをあるXML形式から別の形式に変換する際に用いられるXSAコンポーネントである。 Converter is a XSA components used to convert the XML format in the data to another format. 変換器がどのようにXMLを処理するかは、実現例毎に様々であり、その例には、XSLTを用いる、カスタム・コード化変更(custom coded modification)をテキスト・ノードに適用する、ソートする、有効性を判断する等が含まれる。 Or transducer how to process the XML will vary for each implementation, examples, using XSLT, apply custom coding change (custom coded modification) the text node to sort includes such to determine the validity. 変換器の出力は、常にXMLの実現例の内部表現において正しく形成されていることが要求され、その入力も、生成器または別の変換器のいずれから来るのであり、これら双方は正しく形成されたXMLを生成することが要求されているので、正しく形成されている。 The output of the transducer is always possible to request that are properly formed in the internal representation of XML implementation, the input also is a come from either generator or another converter, they both were correctly formed since that generate XML is being requested, it is properly formed. XSA実行エンジンは、この要件を各変換器に強制するが、そうしなくてもよい。 XSA execution engine, but enforce this requirement to each transducer, it is not necessary to do so. 変換器は、パイプライン定義の中では必要でない。 Converter is not necessary in the pipeline definition. 変換器が現れるときは、常に生成器の後ろで、シンクの前に現れる。 When the transducer appears always behind the generator, it appears before the sink. <transformer>エレメントは、パイプラインにおいて変換器を定義する際に用いられる。 <Transformer> element is used in defining the transducer in the pipeline. 全てのXSAコンポーネントと同様、変換器は名称付入力および出力に対応する。 Like all XSA components, transducer corresponding to the input and output with the name. <transformer>エレメントの形式は次の通りである。 <Transformer> form of the element is as follows.

[表8] [Table 8]
<transformer refid="mytran"> <Transformer refid = "mytran">
<in-param name="myinparam"> <In-param name = "myinparam">
... ...
</in-param> </ In-param>
... ...
<out-param name="myoutparam"> <Out-param name = "myoutparam">
... ...
</out-param> </ Out-param>
... ...
</transformer> </ Transformer>

以下に、本発明の実施形態Aにおいて指定されているシンク・コンポーネントについて説明する。 The following describes sink components specified in embodiment A of the present invention.

シンクは、パイプラインにおいて実行した処理から得られたXMLデータの内部表現を扱うために用いられるXSAコンポーネントである。 Sink is a XSA components used to handle the internal representation of the XML data obtained from processing executed in the pipeline. シンクがXMLで何を行うかは、実現例毎に様々であり、その例には、XMLをファイルに書き込む、それをHTMLとしてウェブ・ブラウザに送る、またはそれからPDFを生成することが含まれる。 Whether sink do anything in XML, it is different in each implementation, examples of which, writes the XML to a file, sent to the web browser it as HTML, or from includes generating a PDF. 生成器または変換器は常にシンクへの入力を生成するので、これは正しく形成される。 Since generator or transducer always produces an input to the sink, which is properly formed. シンクからの出力には何の制限も設定されない。 What restrictions on the output from the sink is also not set.

シンクは、常に、パイプラインの終端において定義され、全てのパイプラインにおいて必要とされる。 Sink is always defined at the end of the pipeline, it is required in all pipelines. <sink>エレメントは、パイプラインにおいてシンクを定義する際に用いられる。 <Sink> element is used in defining the sink in a pipeline. 全てのXSAコンポーネントと同様、シンクは名称付入力および出力パラメータに対応する。 Like all XSA components, sink corresponding to the input and output parameters with the name. <sink>エレメントの形式は次の通りである。 <Sink> form of the element is as follows.

[表9] [Table 9]
<sink refid="mysink"> <Sink refid = "mysink">
<in-param name="myinparam"> <In-param name = "myinparam">
... ...
</in-param> </ In-param>
... ...
<out-param name="myoutparam"> <Out-param name = "myoutparam">
... ...
</out-param> </ Out-param>
... ...
</sink> </ Sink>

以下に、本発明の実施形態AのXSA仕様による変数および値の仕様について説明する。 The following describes the specifications of variables and values ​​by XSA specification of embodiment A of the present invention.

XSAにおける変数動作は、常にXSAコンテキストにおける変数に適用される。 Variable operation in XSA is always applied to the variable in the XSA context.
XSA定義のルート・レベル上および条件内では、変数を設定し除去することができる。 In XSA definition of root level and on the conditions, it is possible to set the variable removal. 変数を設定するには、<setvariable>エレメントを用い、変数を除去するには、<removevariable>エレメントを用いる。 To set the variable, using <SetVariable> element, to remove variables, using <removevariable> element. failonerror属性は、エラーが発生した場合に、動作を中止するか否かを定義し、デフォルトでは真になっている。 failonerror attribute, if an error occurs, and defines whether to cancel the operation, by default has become true.
以下に、本発明の実施形態Aの仕様による<setvariable>エレメントのフォーマットを示す。 Hereinafter, a format of <SetVariable> element according to the specification of embodiment A of the present invention.

[表10] [Table 10]
<setvariable scope="request" name="var" failonerror="true"> <Setvariable scope = "request" name = "var" failonerror = "true">
<!--値の指定--> <! - specified value ->
</setvariable> </ Setvariable>

以下に、本発明の実施形態Aの仕様による<removevariable>エレメントのフォーマットを示す。 Hereinafter, a format of <removevariable> element according to the specification of embodiment A of the present invention.

[表11] [Table 11]
<removevariable scope="request" name="var" failonerror="true"/> <Removevariable scope = "request" name = "var" failonerror = "true" />

スコープ属性が必要であり、要求、セッション、クライアント、ユーザ、またはアプリケーションの内いずれか1つに設定しなければならない。 It requires scope attribute, the request must session, the client, to be set to any one of the user or application.

名称属性が必要であり、指定されたスコープ内における変数の名称を指定する。 It is necessary to name attribute specifies the name of the variable within the specified scope.
<null>、<literal>、<getvariable>、<mapping>、および<out-param-value>エレメントを用いて、異なる値指定を定義することができる。 <Null>, it is possible to define the <literal>, <getvariable>, <mapping>, and <out-param-value> with elements, different values ​​specified. これらについて以下で順に説明する。 These will be described in order below. 特定のXSAコンテキストでは、値の指定によってある値を求め、<setvariable>動作への入力として用いる。 In certain XSA context, seek a certain value by the given value, is used as input to the <SetVariable> operation.

<null>値指定は、Javaプログラミング言語では常にヌルの参照(null reference)を求め、または他の言語とのからみ(binding)ではその同等値を求める。 <Null> value specification, constantly seeking a null reference (null reference) in the Java programming language, or entangled with other languages ​​(binding) In determining the equivalent value. このエレメントには、コンテンツも属性もない。 This element, content is also no attribute. 変数をヌルに設定すると、変数を全く設定しないのと同じ効果がある。 By setting the variable to null, it has the same effect as not set at all the variables. <literal>値指定は、当該値に用いられる文字データを定義する。 <Literal> value specified defines the character data to be used for the value. これは、XSAコンテキストには関係なく、<literal>エレメントに収容されているテキストを求める。 This is, regardless of the XSA context, determine the text that is contained in the <literal> element. コンポーネントは、これを数値、日付、またはその他の単純な形式に変換することができるが、このような形式変更(typing)は、XSA仕様および実現例の範囲外のことである。 Component, numeric this, can be converted to a date or other simple form of such a format change (typing) is beyond the scope of XSA specification and implementation. <literal>エレメントの例は、次の通りである。 Examples of <literal> element is as follows.

[表12] [Table 12]
<literal>これは文字値である</literal> <Literal> This is a character value </ literal>

<getvariable>変数指定は、所与のスコープにおいて所与の名称を有する変数の値を求める。 <GetVariable> variable specification obtains the value of the variable with a given name in a given scope. スコープおよび名称は属性として与えられる。 Scope and the name is given as an attribute. <getvariable>にはコンテンツが許されていない。 It is not allowed content to <getvariable>. <getvariable>エレメントの例は、次の通りである。 Examples of <getvariable> element is as follows.

[表13] [Table 13]
<getvariable scope="request" name="var"/> <Getvariable scope = "request" name = "var" />

スコープおよび名称属性が必要であり、スコープ属性は、要求、セッション、クライアント、ユーザ、またはアプリケーションの内いずれか1つに設定しなければならない。 Requires scope and name attribute, scope attribute is required, not a session, the client, to be set to any one of the user or application.

<mapping>値指定は、実施形態AのXSA仕様によって定義されないカスタム値指定を参照する際に用いられる。 <Mapping> value specification is used when referring to custom values ​​specified that is not defined by XSA specifications embodiment A. これは、先に定義したように、XSAコンポーネントと同様の入力パラメータを有することができるが、出力パラメータを有することはできない。 This is because, as defined above, may have an input parameter similar to the XSA components, it can not have an output parameter. <mapping>エレメントの例は、次の通りである。 Examples of <mapping> element is as follows.

[表14] [Table 14]
<mapping refd="mymapping"> <Mapping refd = "mymapping">
<in-param name="myparam"> <In-param name = "myparam">
<literal>literalValue</literal> <Literal> literalValue </ literal>
</in-param> </ In-param>
</mapping> </ Mapping>

<out-param-value>値指定は、<out-param>エレメントの子孫としてのみ用いることができ、<out-param>エレメントは、パイプラインにおけるXSAコンポーネントにおいて用いられ、先に定義した。 <Out-param-value> value specification can be used only as a descendant of the <out-param> element, <out-param> element is used in XSA components in the pipeline, as defined above. <out-param>エレメントの内側にある場合、<out-param-value>が出力パラメータの値を収容し、例えば、出力パラメータの値を格納するために、他の動作の入力として用いることができる。 When inside the <out-param> element, containing the value of the output parameter <out-param-value>, for example, to store the value of the output parameter can be used as input for other operations . <out-param>エレメントのコンテキストにおける<out-param-value>エレメントの例は、次の通りである。 Examples of <out-param-value> element in the context of <out-param> element is as follows.

[表15] [Table 15]
<out-param name="out"> <Out-param name = "out">
<setvariable scope="request" name="var"> <Setvariable scope = "request" name = "var">
<out-param-value/> <Out-param-value />
</setvariable> </ Setvariable>
</out-param> </ Out-param>

以下に、本発明の実施形態Aの仕様によって定義した、条件付き動作について説明する。 Below, was defined by the specification of the embodiment A of the present invention, the conditional operation will be described.

条件付き動作は、どのXML動作を実行するか制御する際に用いることができる。 Conditional operation may be used in controlling or performs which XML operation. これらは、実行すべき異なるパイプライン間で選択することを意図している。 These are intended to select between to execute different pipelines.
全ての条件は、ルート<if>エレメント内で与えられる。 All of the conditions is given by the root <if> in the element. 条件付き動作は、ブール論理エレメントであり、真であると、<then>エレメント内に収容されているXML動作が実行される。 Conditional operation is Boolean logic elements, if it is true, XML operations contained in the <then> element is executed. ブール・エレメントの評価で偽となった場合、オプションの<else>エレメントが、その場合に実行するXML動作を収容することができる。 If you become a fake in the evaluation of Boolean elements, it can be of options <else> element, to accommodate the XML operations to be executed in that case. 尚、<if>自体はXML動作エレメントであるので、条件付き動作をネストできることを注記しておく。 Incidentally, <an if> itself because it is XML operating elements, it is noted that can be nested conditional operation.
<if>XML動作のフォーマットは、次の通りである。 <If> format of XML operation is as follows.

[表16] [Table 16]
<if> <If>
<!--ブール論理エレメント、and、or、not、isdefined、isoftype、equals、conditionのいずれか --> <! - Boolean logic element, and, or, not, isdefined, isoftype, equals, one of the condition ->
<then> <Then>
... ...
</then> </ Then>
<else> <Else>
... ...
</else> </ Else>
</if> </ If>

以下に、本発明の実施形態Aの仕様による<if>エレメント内で用いられるように定義した種々のブール論理エレメントについて説明する。 The following describes various Boolean logic elements defined as used <an if> in the element according to the specification of embodiment A of the present invention.

<and>エレメントは、ANDブール論理演算子を定義する。 <And> element defines the AND Boolean logic operators. <and>エレメントの内容は、1つ以上のブール論理エレメントである。 The contents of the <and> element is one or more Boolean logic elements.
<or>エレメントは、ORブール論理演算子を定義する。 <Or> element defines the OR Boolean logical operators. <or>エレメントの内容は、1つ以上のブール論理エレメントである。 The contents of the <or> element is one or more Boolean logic elements.

<not>エレメントは、NOTブール論理演算子を定義する。 <Not> element defines a NOT Boolean logic operators. <not>エレメントの内容は、別のブール論理エレメントである。 The contents of the <not> element is another of Boolean logic element.
<isdefined>エレメントは、先に定義したように、0個以上の値指定を収容し、実現例言語結合(implementation language binding)によって定義されているように、全ての値が非ヌルの場合、真となる。 <Isdefined> element, as defined above, containing zero or more values ​​specified, as defined by the implementation language bindings (implementation language binding), if all the values ​​are non-null, true to become. 値指定が全く含まれていない場合、<isdefined>エレメントは真となる。 If the value specified is not included at all, <isdefined> element is true.

<isoftype>エレメントは、先に定義したように、2つの値指定を収容しなければならず、最初の値が2番目の値によって指定されたタイプである場合、真となる。 <Isoftype> element, as previously defined, must accommodate two values ​​specified, if the first value is a type specified by the second value, true. ここで、「タイプ」の意味は、実現例言語結合によって定義されている。 Here, the meaning of the "type" is defined by the implementation language binding. いずれの値もヌルである場合、このエレメントは偽となる。 If either value is also null, this element is false.

<equals>エレメントは、先に定義したように1つ以上の値指定を収容し、実現例言語結合によって定義されているように、全ての値が「等しい」ときにのみ、真となる。 <The equals> element houses one or more values ​​specified as defined above, as defined by the implementation language binding, only when all the values ​​are "equal", is true.
全ての値がヌルである場合、<equals>エレメントは真となる。 If all values ​​are null, <the equals> element is true. 一部がヌルであるが全てではない場合、偽となる。 If the part is not at all is a null, it is false. 1つの値指定のみが指定されている場合、<equals>は真となる(値がヌルであっても)。 If only one value specified is specified, <the equals> is (even null value) that is true.

<condition>エレメントは、カスタム条件を定義する際に用いられる。 <Condition> element is used in defining the custom criteria. これは、出力パラメータに対応していないことを除いて、先に定義したように、XSAコンポーネントと同じ定義を有する。 This, except that does not correspond to the output parameter, as defined above, it has the same definition as XSA components. ブール結果がどのように評価されるかは、カスタム条件の実現例によって異なる。 Whether boolean result as it will be evaluated, different realization examples of custom criteria. 以下に、本発明の実施形態Aによるエラー・ハンドリング仕様について説明する。 The following describes error handling specifications according to embodiment A of the present invention.

エラー・ハンドリングは、エレメントAによるXSAを用いる場合には二重となる。 Error handling is a double in the case of using the XSA with the element A. 最初に、エラー定義があり、エラーを定義し、当該エラーの場合に何をすべきか定義する際に用いることができる。 First, there is an error definition defines the error, it can be used in defining what to do in case of the error. 第2に、エラーは、パイプライン実行中いつでも発生する可能性がある。 Second, errors may occur at any time during the pipeline execution.

名称付エラーの意味は、実施形態Aのこの仕様では、指定されていない。 The meaning of the name with error, in this specification of embodiment A, has not been specified. 即ち、この仕様では、規定のエラーは与えられていない。 That is, in this specification, error of the provisions has not been given.
実施形態Aのこの仕様による各実現例は、汎用フォールバック・エラー機構(generic fall-back error mechanism)を有する必要があり、これは、XSA定義に対して定義したエラーの中で一致が得られない場合に、エラー・ハンドリングに対処する。 Each implementation of this specification embodiments A, it is necessary to have a generic fallback error mechanism (generic fall-back error mechanism), which is consistent is obtained in the error defined for XSA Definition If you do not, to deal with error handling. この仕様は、このエラー・ハンドリングがどのように作用するか、またエラーの場合に何をすべきかについて定義していない。 This specification, whether this error handling is how to act, also does not define about what to do in case of an error.

エラーは、名称によって定義され、各XSA指定は、ある名称付エラーが発生した場合、何をするか指定することができる。 Error is defined by the name, the XSA specification, if an error with certain names occurs, it is possible to specify what to do. エラーは、いずれのXML動作の前にでも、XSA定義のルートにおいて定義する。 Error, even before any XML operations defined at the root of the XSA definition. エラー定義において用いられる名称は、ツリー構造に従わなければならず、ドット(.)キャラクタが、各ツリー・レベルにおいて名称を分離する。 Name used in the error definition must comply with the tree structure, a dot (.) Character, to separate the names in the tree level. 各レベルにおいて、全ての英数字ASCIIキャラクタが許されている。 At each level, all alphanumeric ASCII characters are allowed. 正しいエラー名称の一例に、something.error.specificをあげることができる。 An example of correct error name, it is possible to increase the something.error.specific. この構造は、エラーが呼び出されたときに、どのエラー定義を用いるべきか選択するために用いられる。 This structure, when an error is called, is used to select whether to use any error definition.

<errordef>エレメントは、エラーを定義する際に用いられる。 <Errordef> element is used in defining the error. 名称属性は、エラーの名称を収容し、呼び出し属性は、XSA定義への参照を与え、エラーが発生した場合に呼び出すようにしなければならない。 The name attribute, contains the name of the error, call attributes, given a reference to the XSA definition, must be called if an error has occurred. <errodef>エレメントの内容は、人が読むことのできるエラーの説明を収容することができ、ログへの印刷のように、デバッグのためにのみ用いられる。 The contents of <errodef> element, it is possible to accommodate a description of the error that can be read by people, such as printing to the log, used only for debugging purposes. <errordef>エレメントの形式は、次の通りである。 <Errordef> form of the element is as follows.

[表17] [Table 17]
<errordef name="" invokes="erroHandling.xsa"/> <Errordef name = "" invokes = "erroHandling.xsa" />

パイプライン実行中のいつでも、XPath条件をチェックすることができる。 At any time in the pipeline execution, it is possible to check the XPath conditions. XPath条件が真(XPath仕様によって定義されているように)となった場合、エラー定義を探索して、最も近い一致を求める。 If the XPath condition becomes true (as defined by the XPath specification), it searches the error definition to determine the closest match.

照合機構は、ドットによって、エラー名称をトークン化する。 Verification mechanism, by dot, token the error name. 例えば、エラーsomething.errorspecifcをsomething、errorおよびspecificにトークン化する。 For example, tokenizing error Something.Errorspecifc something, the error and specific. 最も一致度が高く同じ順序のトークンを含むエラー定義を用いる。 Best match a high degree using an error definition that contains the same sequence of tokens. この同じ例では、エラー定義がerrors something.bogus、something.errorおよびsomething.error.morespecificに対して存在する場合、something.errorエラー定義から引用したXSA定義を呼び出す。 In this same example, if the error definition exists for errors something.bogus, something.error and Something.Error.Morespecific, calls the XSA definition taken from Something.Error error definition. 何故なら、something.error.morespecificは一致でないからである。 Is because something.error.morespecific is not a match.
<raiseerror>エレメントの形式は、次の通りである。 <Raiseerror> form of the element is as follows.

[表18] [Table 18]
<raiseerror test="/some/xpath/to/test" error =""/> <Raiseerror test = "/ some / xpath / to / test" error = "" />

与えられたXPathは、フォーマット$scope:variable-nameを用いて、XPathパラメータ全体を通じて全てのスコープ変数(scoped variable)にアクセスできなければならない。 Given XPath is, the format $ scope: by using a variable-name, must have access to all of the scope variables (scoped variable) throughout the XPath parameter.

一実現例では、それ自体のエラー名称を自由に定義でき、XSA定義はXSAエンジンにおいて実行エラーを扱うことが可能となる。 In one implementation, free to define the error name itself, XSA definition it is possible to handle the execution errors in XSA engine. 一例は、数個のリソースが失われて、エラーが発生する可能性があり、XSA定義がその場合に何をすべきか定義できるという場合であろう。 One example is several resource is lost, there is a possibility that errors will be referred XSA definition can define what to do when the. この実現例は、エラー・コードを公表しなければならず、エラーを保存(reserve)しなくてもよい。 This implementation has to publish an error code, may not save the error (reserve). 即ち、XSA定義では全てのエラーを無視することができる。 That is, in the XSA definition it is possible to ignore all of the error.

また、エラーの原因となったXSA定義に用いられていたのと同じXSAコンテンツを用いてエラー・ハンドリングXSA定義を実行しなければならない実現例もある。 There is also implementation must execute an error handling XSA defined with the same XSA content as was used in the XSA definition that caused the error.
以下に、本発明の実施形態Aの仕様によるカスタム動作について説明する。 The following describes custom operation by design embodiment A of the present invention.

<operation>エレメントは、カスタムXML動作を参照する際に用いることができる。 <Operation> element may be used to reference the custom XML operation. 定義されている唯一の構成は、ParseClass属性であり、用いるパーザに名称を付けてカスタムXML動作の内容を解析する際に用いなければならない。 The only configuration that is defined is ParseClass attribute must be used when analyzing the contents of the custom XML operation name the parser used. この名称をパーザの実現例にマップする方法、およびパーザが実現しなければならないプログラミング・レベルのインターフェースは、各XSA実現例に特定的である。 How to map this name on the implementation of the parser, and the parser is programming level must implement interfaces are specific to each XSA implementation.

<operation>エレメントの内容は、用いられるパーザが利用できなければならず、パーザはこれを用いて動作を定義することができる。 <Operation> element content must be available parser used is, the parser is able to define the behavior with this. エレメントの内容は、XSA名称空間とは別個の名称空間に入力し、現在および今後起こり得る競合を回避するようにするとよい。 The element content, type in a separate name space and XSA namespace, better to avoid current and possible future conflicts.

以下に、本発明の実施形態Aの仕様によるXSA実行について説明する。 The following describes the specifications XSA implementations of embodiment A of the present invention.
XSA実行エンジンは、1つのXSAコンテキスト内において常にXSA定義を実行していなければならない。 XSA execution engine must always running XSA definitions within one XSA context. XSAコンテンツを作成しXSAを実行する全体を、アダプタと呼ぶ。 A whole to create a XSA content to run the XSA, referred to as the adapter. アダプタの一例は、HTTPアダプタであり、HTTP要求を取り込み、XSA定義を選択し、HTTP要求内にある情報に基づいてそのコンテキストを作成し、次いでXSA定義を実行する。 One example of the adapter is HTTP adapter, capture an HTTP request, select XSA definition, create the context based on information in the HTTP request, then executes the XSA definition.

アダプタの名称には規則や登録は要求されない。 Rules and registered in the adapter name of is not required. これは、各XSAの実現例に特定的と考えられる。 This is considered specific to implementation of the XSA. しかし、実現例は、アダプタ名称を定義できるので、XSA定義は、アダプタが有意にXSAを実行することができる情報を埋め込むことができる。 However, implementation, since it defines the adapter name, XSA definition, information can be embedded capable adapter performs significantly XSA. 1つの属性adapternameを有する<supports>エレメントを用いると、これが行える。 With <a supports> element with one attribute adaptername, which can be performed. いずれのXML動作の前でも、XSA定義の開始には、あらゆる数の<supports>エレメントを置くことができる。 Even before any XML operation, the start of the XSA definition, can put <a supports> element of any number. <supports>エレメントが出てこない場合、XSA実現例は、いずれのアダプタでもXSAを呼び出すことができると想定しなければならない。 If the <supports> element does not come out, XSA implementation must assume that it is possible to call the XSA in any of the adapter.

<supports>リストの一例を提示し、以下に示す。 It presents an example of the <supports> list, shown below. この例は、XSA定義がアダプタHTTPおよびFTPにおいてのみ実行してもよいことを示す。 This example shows that XSA definitions may be executed only in the adapter HTTP and FTP. FILEという名称のアダプタは、XSA実現例によって、このXSAを実行することを禁止しなければならない。 The name of the adapter that FILE is, XSA realized by way of example, must be forbidden to perform this XSA.

[表19] [Table 19]
<xsa> <Xsa>
<supports adaptername="HTTP"/> <Supports adaptername = "HTTP" />
<supports adaptername="FTP"/> <Supports adaptername = "FTP" />
... ...
</xsa> </ Xsa>

前述の実施形態Aの詳細な説明を用いれば、当業者であれば、Javaプログラミング言語のような、プログラミング言語への結合を形成することができる。 With the detailed description of the embodiment A of the foregoing, those skilled in the art, can be formed such as the Java programming language, binding to the programming language. 本発明の実施形態Aによって定義した詳細なXSA仕様に基づいた、有効なXMLサービス・アクション文書の一例を以下に示す。 Based on detailed XSA specification that defines the embodiment A of the present invention, an example of a valid XML service actions document shown below. これは、実施形態Aによって定義したXSA仕様の特徴全てを示す訳ではない。 This is not showing all features of the XSA specification that defines the embodiment A.

[表20] [Table 20]
<?xml version='1.0'?> <? Xml version = '1.0'?>
<!DOCTYPE xsa <! DOCTYPE xsa
PUBLIC "-//Dimon//DTD XSA 1.1//EN" PUBLIC "- // Dimon // DTD XSA 1.1 // EN"
""> "Http://">
<xsa version="1.1" xmlns=""> <Xsa version = "1.1" xmlns = "">
<supports adaptername="HTTP"/> <Supports adaptername = "HTTP" />
<if> <If>
<isdefined> <Isdefined>
<getvariable scope="request" name="http.get.param"/> <Getvariable scope = "request" name = "http.get.param" />
</isdefined> </ Isdefined>
<then> <Then>
<pipeline> <Pipeline>
<generator refid="index"/> <Generator refid = "index" />
<transformer refid="resourcetrax"> <Transformer refid = "resourcetrax">
<in-param name="xsl"> <In-param name = "xsl">
<literal>index.xsl</literal> <Literal> index.xsl </ literal>
</in-param> </ In-param>
</transformer> </ Transformer>
<sink refid="clipsersink"> <Sink refid = "clipsersink">
<in-param name="outStream"> <In-param name = "outStream">
<getvariable scope="request" name="http.responsetream"/> <Getvariable scope = "request" name = "http.responsetream" />
</in-param> </ In-param>
</sink> </ Sink>
</pipeline> </ Pipeline>
</then> </ Then>
<else> <Else>
<pipeline> <Pipeline>
<generator refid="alt"/> <Generator refid = "alt" />
<transformer refid="alttrax"> <Transformer refid = "alttrax">
<in-param name="xsl"> <In-param name = "xsl">
<literal>alt.xsl</literal> <Literal> alt.xsl </ literal>
</in-param> </ In-param>
</transformer> </ Transformer>
<sink refid="clipsersink"> <Sink refid = "clipsersink">
<in-param name="outputStream"> <In-param name = "outputStream">
<getvariable scope="request" name="http.responsestream"/> <Getvariable scope = "request" name = "http.responsestream" />
</in-param> </ In-param>
</sink> </ Sink>
</pipeline> </ Pipeline>
</else> </ Else>
</if> </ If>
<xsa> <Xsa>

これで、本発明の実施形態Aによって定義された、特殊目的プログラミング言語の詳細なXSA仕様の説明を終了する。 This was defined by the embodiment A of the present invention, the end of the description of the detailed XSA specifications special purpose programming language.

以上、本発明について、例示の実施形態を有するものとして説明したが、この特許出願は、その一般的原理を用いてあらゆる変形、仕様、または改造をも包含することを意図している。 Although the invention has been described as having exemplary embodiments, this application is intended to cover also all its variations using its general principles, specifications, or anything. 更に、この特許出願は、これが属する技術分野内における公知のまたは慣習的な実施に該当するような、本開示からの逸脱も包含することを意図している。 Furthermore, this patent application, which is as true to known or customary practice in the belonging technical field, it is intended that departures encompasses from this disclosure. 本発明の精神および範囲は、添付した特許請求の範囲の用語によってのみ限定されるものとする。 Spirit and scope of the present invention is to be limited only by the terms of the appended claims.

図1は、本発明に適した動作環境を提供する汎用システムの一例のブロック図である。 Figure 1 is a block diagram of an example of a general-purpose system that provides a suitable operating environment for the present invention. 図2は、XML処理タスクの管理のために特定的に設計した、特殊目的プログラミング言語で書いたXMLサービス・アクションによって制御される主な形式のモジュールを示すブロック図である。 Figure 2 is a block diagram showing a main form modules that are controlled to specifically design, the XML service actions written in special purpose programming language for the management of XML processing tasks. 図3は、特殊目的プログラミング言語で書かれた、XMLサービス・アクションによって規定されたXML処理タスクの実行を示すブロック図である。 Figure 3 is written in a special purpose programming language, a block diagram illustrating the execution of XML processing tasks defined by the XML service actions. 図4は、XMLサービス・アクションの実行のフローを示すフロー図である。 Figure 4 is a flow diagram illustrating the flow of execution of the XML service action. 図5は、XMLサービス・アクション・モデルによって定義された生成器の役割および典型的な構造を示すブロック図である。 Figure 5 is a block diagram showing the roles and typical construction of generators defined by the XML Service Action model. 図6は、XMLサービス・アクション・モデルによって定義された変換器の役割を示すブロック図である。 Figure 6 is a block diagram showing the role of the transducer as defined by the XML Service Action model. 図7は、XMLサービス・アクション・モデルによって定義されたシンクの役割を示すブロック図である。 Figure 7 is a block diagram showing the role of the sink defined by the XML Service Action model.

Claims (25)

  1. 構造化データのコンテキスト独立処理を含むタスクの実行のための管理システムであって、 A management system for the execution of tasks including context independent processing of structured data,
    −外部クライアントから要求を受ける手段と、 - a means for receiving a request from an external client,
    −コンテキスト独立エンジンと、 - and the context independent engine,
    −前記外部クライアントと前記コンテキスト独立エンジンとの間で通信を行い、前記コンテキスト独立エンジンを特定のアプリケーション・コンテキストに適応させる少なくとも1つのアダプタ・モジュールと、 - performs communication with the context independent engine and the external client, and at least one adapter module for adapting the context independent engine with a particular application context,
    −コンピュータ・ネットワーク上に常駐する少なくとも1つのバック・エンド・システムに接続され、前記少なくとも1つのバック・エンド・システム・データを、更なる処理のために準備ができている構造化データとして公開するように構成された少なくとも1つの生成器モジュールと、 - is connected to at least one back-end system resident on a computer network, to expose said at least one back-end system data, as a structured data is ready for further processing at least one generator module configured to,
    −前記少なくとも1つの変換器に接続され、前記処理した構造化データを受け、該処理した構造化データに応じての解釈および反応と、前記アダプタ・モジュールを通じての前記要求元の外部クライアントへの前記処理した構造化データの返送と、の一方または双方を行うように構成された、少なくとも1つのシンク・モジュールと、 - connected to said at least one transducer receives the structured data the processing, and interpretation and reactions in accordance with the structured data the processing, the to the requesting external clients through the adapter module return a structured data processed, which is configured to perform one or both of the at least one sink modules,
    を備えており、 Equipped with a,
    前記外部クライアントと前記コンテキスト独立エンジンとの間の通信は、あらゆる構造化データの処理を管理するために設計された、特殊目的プログラミング言語で書かれた電子文書に定義されている既定の1組の命令にしたがって、前記構造化データの処理を実行するため、少なくとも1つの生成器モジュールと少なくとも1つのシンク・モジュールとを選択する手段を備えている、管理システム。 The communication between the external client and said context independent engine was designed to manage the processing of any structured data, the default defined in an electronic document written in a special purpose programming language set of in accordance with the instruction, for executing the process of the structured data, and a means for selecting the at least one generator module and at least one sink module management system.
  2. 請求項1記載の管理システムにおいて、前記少なくとも1つの生成器モジュールに接続され、前記構造化データを前記少なくとも1つの生成器から受け取って、処理した構造化データに変換するように構成された、1つまたは数個の変換器モジュールを備えている、管理システム。 In the management system of claim 1, wherein, connected to said at least one generator module, receiving said structured data from the at least one generator, configured to convert the processed structured data, 1 One or comprises several transducer module, management system.
  3. 請求項1記載の管理システムにおいて、前記コンテキスト独立エンジンは、前記特殊目的プログラミング言語で書かれた前記電子文書を読み取って解釈し、それによって前記管理システム内における実行を制御する、管理システム。 In the management system of claim 1, wherein said context independent engine, the reads and interprets the electronic documents written in a special purpose programming language, thereby controlling the execution within the management system, management system.
  4. 請求項1から3のいずれかに記載の管理システムにおいて、前記構造化データの処理を、拡張可能マークアップ言語(XML)フォーマットで実行する、管理システム。 In the management system according to any one of claims 1 to 3, the processing of the structured data, run in an extensible Markup Language (XML) format, management system.
  5. 請求項1から4のいずれかに記載の管理システムにおいて、前記アダプタ・モジュールは、ハイパーテキスト転送プロトコル(HTTP)によって受けた要求を受け、該要求に応答可能である、管理システム。 In the management system according to any one of claims 1 to 4, wherein the adapter module receives the request received by the Hypertext Transfer Protocol (HTTP), which is responsive to the request, the management system.
  6. 請求項1から5のいずれかに記載の管理システムにおいて、前記アダプタ・モジュールは、ショート・メッセージ・サービス(SMS)によって受けた要求を受け、該要求に応答可能である、管理システム。 In the management system according to any one of claims 1 to 5, wherein the adapter module receives the request received by the short message service (SMS), which is responsive to the request, the management system.
  7. 請求項1から6のいずれかに記載の管理システムにおいて、前記アダプタ・モジュールは、マルチメディア・メッセージ・サービス(MMS)によって受けた要求を受け、該要求に応答可能である、管理システム。 In the management system according to any one of claims 1 to 6, wherein the adapter module receives the request received by the multimedia message service (MMS), which is responsive to the request, the management system.
  8. 請求項1から7のいずれかに記載の管理システムにおいて、前記アダプタ・モジュールは、シンプル・オブジェクト・アクセス・プロトコル(SOAP)によって受けた要求を受け、該要求に応答可能である、管理システム。 In the management system according to any of claims 1 to 7, wherein the adapter module receives the request received by the Simple Object Access Protocol (SOAP), which is responsive to the request, the management system.
  9. 請求項1から8のいずれかに記載の管理システムにおいて、前記変換器モジュールは、拡張可能スタイルシート言語変換(XSLT:Stylesheet Language Transformations)を用いてXMLデータを変換可能である、管理システム。 In the management system according to any of claims 1 to 8, wherein the transducer module, Extensible Stylesheet Language Transformation (XSLT: Stylesheet Language Transformations) can be converted to XML data using a management system.
  10. 請求項1から9のいずれかに記載の管理システムにおいて、前記少なくとも1つの生成器モジュールは、以下のバック・エンド・システム −あらゆるODBCまたはJDBC準拠データベース、 In the management system according to any of claims 1 to 9, wherein said at least one generator modules, the following back-end system - any ODBC or JDBC compliant database,
    −前記管理システムを実行中のコンピュータ上のファイル・システム、 - a file system on a computer that is running the management system,
    −ハイパーテキスト転送プロトコル(HTTP)を用いて通信可能なあらゆるデータ源、 - any data source that can communicate using a hypertext transfer protocol (HTTP),
    −シンプル・オブジェクト・アクセス・プロトコル(SOAP)を用いて通信可能なあらゆるデータ源、 - any data source that can communicate using Simple Object Access Protocol (SOAP),
    −マイクロソフトExchangeTM個人情報管理(PIM)システム、 - Microsoft ExchangeTM personal information management (PIM) system,
    −ロータスDominoTM個人情報管理(PIM)システム、 - Lotus DominoTM personal information management (PIM) system,
    −軽量ディレクトリ・アクセス・プロトコル(LDAP)によるあらゆるディレクトリ・サービス、 - any directory service by the Lightweight Directory Access Protocol (LDAP),
    −シンプル・メール転送プロトコル(SMTP)、ポスト・オフィス・プロトコル(POP/POP3)またはインターネット・メッセージ・アクセス・プロトコル(IMAP)によるあらゆる電子メール・システム、 - Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP / POP3) or any e-mail system over the Internet Message Access Protocol (IMAP),
    の少なくとも1つと通信し、それらのネーティブ・データ・フォーマットをXMLフォーマットに変換するように構成されている、管理システム。 At least one communication, and is configured their native data format to convert the XML format, management systems.
  11. 請求項1から10のいずれかに記載の管理システムにおいて、該システムはプレゼンテーション・システムであり、 In the management system according to any of claims 1 to 10, the system is presentation system,
    −少なくとも1つのネットワーク・クライアントから、バック・エンド・システム内に常駐するコンテンツに対する要求を受ける少なくとも1つのアダプタ・モジュールと、 - at least one network client, and at least one adapter module for receiving a request for content that resides on the back-end system,
    −少なくとも1つのステップで、XMLソース・コンテンツを、前記少なくとも1つのクライアントに適したマークアップに変換する変換器モジュールであって、 - in at least one step, a converter module that converts the XML source content, the markup suitable for the at least one client,
    −前記XMLソース・コンテンツをクライアントには独立したマークアップに変換し、 - converting the XML source content in a separate mark-up to the client,
    −前記クライアント独立マークアップを、前記コンテンツを要求した特定のタイプのクライアントに適したバージョンに適応させること、 - the client independent markup to adapt to the version suitable for the particular type of client that requested the content,
    を含む前記の変換器モジュールと、 It said transducer module including,
    −前記マークアップを前記クライアントに配信するシンク・モジュールと、 - and sink module that distributes the mark-up to the client,
    を備えている、管理システム。 And that, management system, which includes a.
  12. 請求項1から11のいずれかに記載の管理システムにおいて、前記少なくとも1つのクライアントからの要求のフォーマットは、以下のフォーマット −移植可能文書フォーマット(PDF)、 In the management system according to any of claims 1 to 11, the format of the request from the at least one client, the following formats - portable document format (PDF),
    −クライアント特定ハイパーテキスト・マークアップ言語(HTML)、 - Client specific hypertext markup language (HTML),
    −クライアント特定ワイヤレス・マークアップ言語(WML)、 - Client specific Wireless Markup Language (WML),
    −ショート・メッセージ・サービス(SMS)、 - short message service (SMS),
    −マルチメディア・メッセージ・サービス(MMS)、および −コンパクトHTML(cHTML)、 - multimedia message service (MMS), and - compact HTML (cHTML),
    −xHTML、 -xHTML,
    の内の1つである、管理システム。 It is one, the management system of the.
  13. 請求項1から12のいずれかに記載の管理システムにおいて、該システムはメッセージング・システムであり、 In the management system according to any of claims 1 to 12, the system is a messaging system,
    −標準化電子業務プロトコルを通じて外部システムと通信するように構成された少なくとも1つのアダプタ・モジュールと、 - at least one adapter module that is configured to communicate with an external system through a standardized electronic business protocol,
    −発信元および宛先システムから業務データを抽出し、それをXMLとして公開するように構成された少なくとも1つの生成器モジュールと、 - source and extracting business data from the destination system, and at least one generator module configured to expose it as XML,
    −関連するXML業務ソース・データを業務メッセージに変換するように構成された少なくとも1つの変換器モジュールと、 - at least one transducer module is configured to convert the associated XML business source data to the business message,
    −前記業務メッセージを配信するように構成された少なくとも1つのシンク・モジュールと、 - at least one sink module configured to deliver the business message,
    を備えている、管理システム。 And that, management system, which includes a.
  14. 請求項1から13のいずれかに記載の管理システムにおいて、前記標準化業務プロトコルは、電子業務XML(ebXML)である、管理システム。 In the management system according to any of claims 1 to 13, the normalization operations protocol is an electronic business XML (ebXML), the management system.
  15. 請求項1から14のいずれかに記載の管理システムにおいて、該システムは統合システムであり、 In the management system according to any of claims 1 to 14, the system is an integrated system,
    −外部クライアントからの呼び出しなしで、XML処理タスクの実行を開始する手段と、 - Without calling from external clients, and means for initiating the execution of the XML processing task,
    −異種の発信元および宛先システム間でのデータ同期手段であって、 - a data synchronization means between the source and destination systems disparate,
    ・少なくとも1つの生成器モジュールが前記発信元システムからデータを抽出し、それをXMLソース・データに変換し、 - at least one generator module extracts the data from the source system and converts it into XML source data,
    ・少なくとも1つの変換器モジュールが、前記XMLソース・データを、前記宛先システムへの配信に適合するXMLフォーマットに変換し、 - at least one transducer module is the XML source data is converted into compatible XML format for delivery to the destination system,
    ・少なくと1つのシンク・モジュールが、前記処理したXMLを前記宛先システムに配信する手段を有する、 · Least the one sink module comprises means for distributing the XML with the processing in the destination system,
    前記のデータ同期手段と、 Data synchronization means of said,
    −業務プロセス管理および実行のための手段であって、業務プロセスの個々の各タスクを定義し、単一のXML処理タスクとして実行する、手段と、 - a means for the business process management and execution, to define each individual task of the business process, to run as a single XML processing tasks, means,
    −実行中の業務プロセスのステータスに関する情報と共に、ハイパーテキスト・ファイル集合をワールド・ワイド・ウェブ上に公表する手段と、 - along with the information about the status of business processes running, and the means to publish a hypertext file set on the World Wide on the Web,
    を備えている、管理システム。 And that, management system, which includes a.
  16. 請求項1から15のいずれかに記載の管理システムにおいて、前記外部クライアントからの要求は情報またはデータを収容し、これを前記アダプタ・モジュールが使用して、どの電子文書を実行するか判断する、管理システム。 In the management system according to any of claims 1 to 15, a request from the external client accommodates information or data, which was used the adapter module to determine whether to perform which electronic documents, management systems.
  17. 複数のネットワーク・デバイスを備えたネットワークにおいて、構造化データ処理タスクを管理し実行する方法であって、 In a network having a plurality of network devices, a method of executing and managing structured data processing tasks,
    −外部クライアントから、命令集合によって定義された、既定のコンテキスト依存構造化データ処理タスクの実行要求を受けるステップであって、前記構造化データ処理タスクの各々を、あらゆる構造化データの処理の管理用に設計した特殊目的上位プログラミング言語を用いて、命令集合にエンコードするステップと、 - from external clients, as defined by the instruction set, the method comprising: receiving a request for execution of the default context-dependent structured data processing tasks, each of the structured data processing tasks for the management of the process of any structured data a step of using a special purpose higher programming language designed to encode a set of instructions to,
    −前記命令集合を解釈して有効性を判断し、前記命令集合と、前記外部クライアントからの要求において発見した情報とに基づいて、コンテキスト依存実行環境を設定するステップと、 - a step of determining the validity interprets the instruction set, said instruction set, based on said information found in the request from the external client, set the context dependent execution environment,
    −前記コンテキスト依存構造化データ処理タスクを実行するステップであって、該実行が、 - a step of executing the contextual structured data processing task, said actual line,
    ・前記ネットワーク上のバック・エンド・システムに接続し、ネーティブ・バック・エンド・システム・データを構造化ソース・データに変換するステップと、オプションとして、 It connects to the back end systems on the network, converting the native back-end system data in a structured source data, optionally,
    ・前記ソース構造化データを、処理した構造化データに変換するステップと、 - converting said source structured data, the processing and structured data,
    ・前記処理した構造化データへの反応と、何らかの方法での前記要求元クライアントへの前記処理した構造化データの返送と、の一方または双方を行うステップと、 Reaction with the to processed structured data, and performing return and structured data the processing to the requesting client in some way, one or both of,
    を含む、ステップと、 Including the steps,
    を備えている、方法。 And it is, how equipped with.
  18. 請求項17記載の方法において、前記構造化データの処理は、拡張可能マークアップ言語(XML)フォーマットで実行する、方法。 The method of claim 17, the processing of the structured data is performed in Extensible Markup Language (XML) format, method.
  19. 請求項17または18記載の方法において、前記要求は、ハイパーテキスト転送プロトコル(HTTP)によって受信する、方法。 According to claim 17 or 18 method wherein said request is received by hypertext transfer protocol (HTTP), the method.
  20. 請求項17から19までのいずれかに記載の方法において、前記要求は、ショート・メッセージ・サービス(SMS)によって受ける、方法。 The method according to any one of claims 17 to 19, wherein the request is received by the short message service (SMS), the method.
  21. 請求項17から20までのいずれかに記載の方法において、前記要求は、マルチメディア・メッセージ・サービス(MMS)によって受ける、方法。 The method according to any one of claims 17 to 20, wherein the request is received by the multimedia message service (MMS), the method.
  22. 請求項17から21までのいずれかに記載の方法において、前記要求は、シンプル・オブジェクト・アクセス・プロトコル(SOAP)によって受ける、方法。 The method according to any one of claims 17 to 21, wherein the request is received by the Simple Object Access Protocol (SOAP), method.
  23. 請求項17から22までのいずれかに記載の方法において、前記XMLデータは、拡張可能スタイルシート言語変換(XSLT)を使用して変換する、方法。 The method according to any one of claims 17 to 22, wherein the XML data is converted using the Extensible Stylesheet Language Transformation (XSLT), method.
  24. 請求項17から23までのいずれかに記載の方法において、前記ソース構造化データを、処理した構造化データに変換することは、以下のバック・エンド・システム −ODBCまたはJDBC準拠データベース、 The method according to any one of claims 17 to 23, converting the source structured data, the processed structured data, the following back-end system -ODBC or JDBC compliant database,
    −前記管理システムを実行中のコンピュータ上のファイル・システム、 - a file system on a computer that is running the management system,
    −ハイパーテキスト転送プロトコル(HTTP)を通して通信可能なあらゆるデータ源、 - any data source that can communicate through a hypertext transfer protocol (HTTP),
    −シンプル・オブジェクト・アクセス・プロトコル(SOAP)を通して通信可能なあらゆるデータ源、 - any data source that can communicate through a Simple Object Access Protocol (SOAP),
    −マイクロソフトExchangeTM個人情報管理(PIM)システム、 - Microsoft ExchangeTM personal information management (PIM) system,
    −ロータスDominoTM個人情報管理(PIM)システム、 - Lotus DominoTM personal information management (PIM) system,
    −軽量ディレクトリ・アクセス・プロトコル(LDAP)によるあらゆるディレクトリ・サービス、 - any directory service by the Lightweight Directory Access Protocol (LDAP),
    −シンプル・メール転送プロトコル(SMTP)、ポスト・オフィス・プロトコル(POP/POP3)またはインターネット・メッセージ・アクセス・プロトコル(IMAP)によるあらゆる電子メール・システム、 - Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP / POP3) or any e-mail system over the Internet Message Access Protocol (IMAP),
    の内少なくとも1つに対応するフォーマットから、XMLフォーマットへの変換を含む、方法。 At least from the corresponding format to one, including conversion to XML format, the method of the.
  25. 請求項17から24までのいずれかに記載の方法を、中央演算装置に実行させる命令を格納したコンピュータ読み取り可能媒体。 The method according to any one of claims 17 to 24, a computer readable medium storing instructions to be executed by the central processing unit.
JP2004528803A 2002-08-16 2003-08-15 System and method for context independent framework for managing and executing the Xml processing tasks Pending JP2006510955A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US40364102P true 2002-08-16 2002-08-16
IS6509 2002-08-16
PCT/IS2003/000024 WO2004017230A1 (en) 2002-08-16 2003-08-15 System and method for a context-independent framework for management and execution of xml processing tasks

Publications (1)

Publication Number Publication Date
JP2006510955A true JP2006510955A (en) 2006-03-30



Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004528803A Pending JP2006510955A (en) 2002-08-16 2003-08-15 System and method for context independent framework for managing and executing the Xml processing tasks

Country Status (4)

Country Link
EP (1) EP1540528A1 (en)
JP (1) JP2006510955A (en)
AU (1) AU2003249590A1 (en)
WO (1) WO2004017230A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT396748T (en) 2004-11-26 2008-06-15 Bae Ro Gmbh & Co Kg sterilizing lamp
US7328199B2 (en) 2005-10-07 2008-02-05 Microsoft Corporation Componentized slot-filling architecture
US7606700B2 (en) 2005-11-09 2009-10-20 Microsoft Corporation Adaptive task framework
US7822699B2 (en) 2005-11-30 2010-10-26 Microsoft Corporation Adaptive semantic reasoning engine
US7831585B2 (en) 2005-12-05 2010-11-09 Microsoft Corporation Employment of task framework for advertising
US7933914B2 (en) 2005-12-05 2011-04-26 Microsoft Corporation Automatic task creation and execution using browser helper objects
US7672957B2 (en) * 2006-02-10 2010-03-02 Make Technologies, Inc. User interface configured to display mechanical fabric and semantic model of a legacy computer application generated, graphical view navigating links between mechanical nodes and semantic nodes based on relevant business rules
US7996783B2 (en) 2006-03-02 2011-08-09 Microsoft Corporation Widget searching utilizing task framework
WO2008039929A1 (en) * 2006-09-27 2008-04-03 Educational Testing Service Method and system for xml multi-transform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US6810429B1 (en) * 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
WO2002015515A2 (en) * 2000-08-11 2002-02-21 Manugistics, Inc. System and method for integrating disparate networks for use in electronic communication and commerce
US7149969B1 (en) * 2000-10-18 2006-12-12 Nokia Corporation Method and apparatus for content transformation for rendering data into a presentation format

Also Published As

Publication number Publication date
WO2004017230A1 (en) 2004-02-26
AU2003249590A1 (en) 2004-03-03
EP1540528A1 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
Brose et al. Java programming with CORBA: advanced techniques for building distributed applications
Paepcke et al. Interoperability for digital libraries worldwide
US6701485B1 (en) Binding spreadsheet cells to objects
US7219351B2 (en) Multi-view conversion system and method for exchanging communications between heterogeneous applications
US6473748B1 (en) System for implementing rules
Lathem et al. Sa-rest and (s) mashups: Adding semantics to restful services
US7080092B2 (en) Application view component for system integration
US7159185B1 (en) Function objects
US8335862B2 (en) Programmatic management of software resources in a content framework environment
US5999941A (en) Database access using active server pages
Khare et al. XML: A door to automated Web applications
KR100661393B1 (en) Web site management system and method applying web programming environment
Badros JavaML: a markup language for Java source code
US7565443B2 (en) Common persistence layer
US6253366B1 (en) Method and system for generating a compact document type definition for data interchange among software tools
US7117504B2 (en) Application program interface that enables communication for a network software platform
AU774999B2 (en) Method and apparatus for providing network services
US6959415B1 (en) Methods and apparatus for parsing Extensible Markup Language (XML) data streams
US6718516B1 (en) Method for verifying context between multiple related XML tags in document object model (DOM)
US7937500B2 (en) Dynamic, real-time integration of software resources through services of a content framework
JP3842213B2 (en) Common application meta model that contains C / c ++ metamodel
US20040133660A1 (en) Dynamic portal assembly
EP1379947B1 (en) An improved system, method and apparatus to allow communication between cics and non-cics software applications
RU2365978C2 (en) Programming interface for computing platform
US20040205525A1 (en) Automatic identification of form contents