JP5072845B2 - Programmability for XML data store for documents - Google Patents
Programmability for XML data store for documents Download PDFInfo
- Publication number
- JP5072845B2 JP5072845B2 JP2008530185A JP2008530185A JP5072845B2 JP 5072845 B2 JP5072845 B2 JP 5072845B2 JP 2008530185 A JP2008530185 A JP 2008530185A JP 2008530185 A JP2008530185 A JP 2008530185A JP 5072845 B2 JP5072845 B2 JP 5072845B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- document
- xml
- change
- node
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Description
本発明は、コンピュータによって生成された文書に関連付けられたデータを管理するための方法およびシステムに係り、文書用のXMLデータストアのためのプログラム可能性に関する。 The present invention relates to a method and system for managing data associated with computer-generated documents, and to programmability for an XML data store for documents.
コンピュータユーザは、ものを書き、計算し、計画を立て、プレゼンテーションを準備し、電子メールを送受信し、音楽を作る、などの助けとなるユーザフレンドリなソフトウェアアプリケーションに慣れてきている。たとえば、ワードプロセッシングアプリケーションは、ユーザが様々な、有用な文書を作成することを可能にする。スプレッドシートアプリケーションは、ユーザがデータを入力し、操作し、編成することを可能にする。スライドプレゼンテーションアプリケーションは、テキスト、ピクチャ、データ、または他の有用なオブジェクトを含む様々なスライドプレゼンテーションをユーザが作成することを可能にする。 Computer users have become accustomed to user-friendly software applications that help them write, calculate, plan, prepare presentations, send and receive e-mail, make music, and more. For example, word processing applications allow users to create a variety of useful documents. Spreadsheet applications allow users to enter, manipulate and organize data. Slide presentation applications allow users to create a variety of slide presentations that contain text, pictures, data, or other useful objects.
しかし、そのようなアプリケーションによって作成された文書(たとえば、ワードプロセッシング文書、スプレッドシート、スライドプレゼンテーション文書)は、その文書のコンテキストによって必要とされる任意のメタデータのコンテンツを格納する/移送するための機構が限られている。たとえば、ワードプロセッシング文書の上で構築されたソリューション(solution)は、文書の様々な状態、たとえば以前のワークフロー承認状態(日付、時間、名前)、現在の承認状態、完成前の将来のワークフロー状態、文書の著者の名前および事務所住所、文書変更などについて説明するワークフローデータを格納することを必要とする可能性がある。この情報を格納するための選択肢は、主に、文書変数、または制限を有する既存のカスタムOLE(オブジェクトのリンクと埋込み)文書プロパティの使用に制限される。たとえば、階層データを格納することができない、キャラクタ長が制限される、などである。そのようなメソッドのためのプロパティは、単一のストア、たとえばOLEプロパティストア内に格納され、これはプロパティが衝突する可能性を有することを意味する。さらに、そのような格納されたプロパティは、データ妥当性検証(data validation)を有していない。そのようなアプリケーションおよび関連文書のユーザが文書と共に任意のデータを格納することは困難であり、これが多数のユーザから共通に求められている。 However, documents created by such applications (eg, word processing documents, spreadsheets, slide presentation documents) can be used to store / transport any metadata content required by the document context. The mechanism is limited. For example, a solution built on top of a word processing document can include various states of the document, such as the previous workflow approval state (date, time, name), current approval state, future workflow state before completion, It may be necessary to store workflow data that describes the author's name and office address, document changes, etc. of the document. Options for storing this information are mainly limited to the use of document variables or existing custom OLE (object linking and embedding) document properties with restrictions. For example, hierarchical data cannot be stored, character length is limited, and the like. Properties for such methods are stored in a single store, such as the OLE property store, which means that the properties have the potential for collisions. Furthermore, such stored properties do not have data validation. It is difficult for users of such applications and related documents to store arbitrary data along with the document, and this is commonly required by many users.
この概要は、以下、詳細な説明でさらに述べられる概念の集まりを、簡潔な形態で紹介するために提供されている。この概要は、特許請求されている主題の重要な特徴または不可欠な特徴を識別することが意図されているものでも、特許請求されている主題の範囲を決定する上で助けとして使用されることが意図されているものでもない。 This summary is provided below to introduce a collection of concepts in a simplified form that are further described below in the detailed description. This summary is intended to identify important or essential features of the claimed subject matter, but may be used as an aid in determining the scope of the claimed subject matter. It is not intended.
コンピュータによって生成された文書に関連付けられる任意のデータを格納し、関係付け、その使用を可能にするために、1つまたは複数のデータストアが、文書内の主プレゼンテーションストレージとは別々に維持される。文書メタデータなど、文書に関連付けられた情報を構造化するためのデータが、異なるデータ間の関係が維持されるデータストア内で維持される。データストアは、様々なアプリケーションがデータの1つまたは複数にアクセスし働きかけることができるように、データストア内の様々なデータにアプリケーションプログラミングインターフェース(API)を公開(expose)する。 One or more data stores are maintained separately from the main presentation storage in the document to store, relate and allow any data associated with the computer-generated document . Data for structuring information associated with a document, such as document metadata, is maintained in a data store where relationships between different data are maintained. The data store exposes an application programming interface (API) to various data in the data store so that various applications can access and interact with one or more of the data.
諸データは、拡張マークアップ言語(XML)などマークアップ言語に従って構造化することができる。XMLスキーマを各データに関連付けることができ、データストアは、所与のデータに関連付けられたXMLスキーマに基づいて、データに適用されたXML構造を妥当性検証することができる。文書が編集されている間に、XML形態にあるデータにプログラム的にアクセスすることができる。複数のクライアントアプリケーションが、同じ文書データにアクセスし編集することができ、所与のデータに対する、衝突する変更があれば、それが解決される。また、標準的なXMLスキーマ(XSD)を使用し、文書データに適用されたXMLデータが有効であることを確実にするために、文書メタデータに関連付けられたいずれかのカスタムXMLデータのコンテンツを定義することができる。 The data can be structured according to a markup language such as Extensible Markup Language (XML). An XML schema can be associated with each data, and the data store can validate the XML structure applied to the data based on the XML schema associated with the given data. While the document is being edited, data in XML form can be programmatically accessed. Multiple client applications can access and edit the same document data, and any conflicting changes to the given data are resolved. It also uses any standard XML schema (XSD) to ensure that the XML data applied to the document data is valid and that any custom XML data content associated with the document metadata is Can be defined.
次に、同様の符号が同様の要素を表す図面を参照して、本発明の様々な態様について述べる。具体的には、図1および対応する考察は、本発明の実施形態を実施することができる好適なコンピューティング環境を簡潔に、一般的に説明することが意図されている。 Various aspects of the invention will now be described with reference to the drawings, in which like numerals represent like elements. Specifically, FIG. 1 and corresponding discussion are intended to briefly and generally describe a suitable computing environment in which embodiments of the invention may be implemented.
一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行する、または特定の抽象データ型を実装する他のタイプの構造を含む。また、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとする、またはプログラム可能な家電、ミニコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステム構成を使用することもできる。通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境をも使用することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルと遠隔双方のメモリ記憶装置内に位置する可能性がある。 Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Other computer system configurations may also be used, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. A distributed computing environment can also be used in which tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
図1を参照すると、本発明を実施するための1つの例示的なシステムが、コンピューティングデバイス100など、コンピューティングデバイスを含んでいる。非常に基本的な構成では、コンピューティングデバイス100は、典型的には、少なくとも1つの処理装置102と、システムメモリ104とを含む。コンピューティングデバイスの厳密な構成およびタイプに応じて、システムメモリ104は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはその2つの何らかの組合せとすることができる。システムメモリ104は、典型的には、オペレーティングシステム105、1つまたは複数のアプリケーション106を含み、プログラムデータ107を含むことができる。一実施形態では、アプリケーション106は、ワードプロセッサアプリケーション120を含むことができる。この基本構成は、図1に、破線108内の構成要素によって示される。
With reference to FIG. 1, one exemplary system for implementing the invention includes a computing device, such as
コンピューティングデバイス100は、追加の特徴または機能を有することができる。たとえば、コンピューティングデバイス100は、たとえば磁気ディスク、光ディスク、またはテープなど、追加のデータ記憶装置(取外し式および/または非取外し式)をも含むことができる。そのような追加のストレージは、図1に、取外し式ストレージ109および非取外し式ストレージ110によって示されている。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど情報を記憶するための任意の方法または技術で実施される揮発性と不揮発性、取外し式と非取外し式の媒体が含まれる可能性がある。システムメモリ104、取外し式ストレージ109、非取外し式ストレージ110は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけには限らないが、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用することができ、コンピューティングデバイス100によってアクセスすることができる任意の他の媒体が含まれる。そのようなどのコンピュータ記憶媒体をもデバイス100の一部とすることができる。コンピューティングデバイス100はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど、入力デバイス112を有することができる。ディスプレイ、スピーカ、プリンタなど、出力デバイス114もまた含むことができる。これらのデバイスはすべて当技術分野で周知であり、ここで詳しく論じる必要はない。
The
コンピューティングデバイス100はまた、ネットワークを介してなど、他のコンピューティングデバイス118と通信することが可能になる通信接続116を含むことができる。通信接続116は、通信媒体の一例である。通信媒体は、典型的には、搬送波または他の移送機構など変調データ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって例示することができ、任意の情報送達媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するようにその特性の1つまたは複数が設定または変更された信号を意味する。限定ではなく例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続など有線媒体と、音響、RF、赤外線および他の無線媒体など無線媒体とを含む。本明細書では、コンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含む。
The
いくつかのプログラムモジュールおよびデータファイルは、ワシントン州レドモンドのMICROSOFT CorporationのWINDOWS(登録商標)オペレーティングシステムなど、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム105を含めて、コンピューティングデバイス100のシステムメモリ104内に記憶することができる。システムメモリ104はまた、ワードプロセッサアプリケーション120、および下記で述べられている他のアプリケーションなど、1つまたは複数のプログラムモジュールを記憶することができる。ワードプロセッサアプリケーション120は、電子文書を作成し、編集し、処理するための機能を提供するように動作する。
Some program modules and data files include an
本発明の一実施形態によれば、ワードプロセッサアプリケーション120は、MICROSOFT CorporationのWORDプログラムを含む。しかし、他の製造者のワードプロセッサアプリケーションプログラムを使用することができることを理解されたい。ワードプロセッシングアプリケーションの例示は、例としてのものにすぎず、文書を制作し、文書に働きかけることができる他のタイプのアプリケーションを限定するものではない。たとえば、スプレッドシートアプリケーションプログラム、データベースアプリケーションプログラム、スライドプレゼンテーションアプリケーションプログラム、描画またはコンピュータ支援アプリケーションプログラムなど、様々な形態のコンテンツ(たとえば、テキスト、画像、ピクチャなど)を処理することが可能な他のアプリケーションプログラム106も等しく適用可能である。様々な異なるタイプの文書を制作し、それに働きかけるアプリケーションプログラム106例には、MICROSOFT CorporationのOFFICEが含まれる。
In accordance with one embodiment of the present invention, the
諸実施形態は、コンピュータプロセス、コンピューティングシステムとして、あるいは、コンピュータプログラム製品またはコンピュータ可読媒体など製造品として実施することができる。コンピュータプログラム製品は、コンピュータシステムによって可読な、また、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化するコンピュータ記憶媒体とすることができる。また、コンピュータプログラム製品は、コンピューティングシステムによって可読な、また、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化する、搬送波上の伝播信号とすることができる。 Embodiments can be implemented as a computer process, a computing system, or as an article of manufacture such as a computer program product or computer readable medium. The computer program product can be a computer storage medium that is readable by a computer system and that encodes a computer program of instructions for executing a computer process. A computer program product can also be a propagated signal on a carrier wave that is readable by a computing system and that encodes a computer program of instructions for executing a computer process.
本明細書および特許請求の範囲全体にわたって、以下の用語は、その用語の状況によって別段示されない限り、本明細書に関連する意味をとる。 Throughout the specification and claims, the following terms have the meanings associated with the specification unless otherwise indicated by the context of the terms.
「データ」という用語は、語、文、段落など文書の表面レベルまたはプレゼンテーションレベルの情報、ならびに補足情報、たとえばワードプロセッシング文書と共に搬送され、その文書を参照し、その文書によって使用されるメタデータを指す可能性がある。この情報は、しばしば大規模なものであり、文書のプレゼンテーションレイヤ上で露出されない可能性が高い。 The term “data” refers to the document's surface-level or presentation-level information, such as words, sentences, paragraphs, as well as supplemental information, such as a word processing document, refers to that document, and uses metadata May point. This information is often extensive and is not likely to be exposed on the presentation layer of the document.
「プレゼンテーション」という用語は、文書がプリントされた場合現れることになるテキストおよびレイアウトなど、文書の可視部分を指す。 The term “presentation” refers to the visible portion of a document, such as text and layout that will appear when the document is printed.
「タグ」という用語は、XML文書内で要素の境界を画する、文書内に挿入されたキャラクタを指す。各要素は、一般に2つのタグ、すなわち開始タグおよび終了タグを含む。空の要素(コンテンツなし)を有することが可能であり、その場合には、1つのタグが許される。 The term “tag” refers to a character inserted in a document that delimits elements in the XML document. Each element generally includes two tags: a start tag and an end tag. It is possible to have an empty element (no content), in which case one tag is allowed.
「マークアップ言語」または「ML」という用語は、文書の諸部がアプリケーションによってどのように解釈されるかを指定する、文書内の特別なコードのための言語を指す。ワードプロセッサファイルでは、マークアップ言語は、テキストがどのようにフォーマットされるか、またはレイアウトされるかを指定する。 The term “markup language” or “ML” refers to a language for special code in a document that specifies how parts of the document are interpreted by an application. In a word processor file, the markup language specifies how the text is formatted or laid out.
「要素(element)」という用語は、XML文書の基本単位を指す。要素は、XML文書に関して、属性、他の要素、テキスト、および他のコンテンツ領域を含むことができる。 The term “element” refers to the basic unit of an XML document. Elements can include attributes, other elements, text, and other content areas for XML documents.
「構成単位(building block)」という用語は、ユーザによって入力された特定のタイプのコンテンツのためのコンテナとして働く、境界を画された、潜在的にラベルを付けられた、文書内の領域を指す。 The term “building block” refers to a bounded, potentially labeled area in a document that acts as a container for a particular type of content entered by a user. .
「データバインディング、データマッピング、およびデータフィールド」という用語は、ある構成単位のコンテンツを格納すべき文書内に格納されたXML DOMへのXPathを決定する、その構成単位上のプロパティを指す。 The term “data binding, data mapping, and data field” refers to a property on the composition unit that determines the XPath to the XML DOM stored in the document in which the content of the composition unit is to be stored.
タグ間のXMLコンテンツは、その要素の「子」(または子孫)と見なされる。したがって、要素のコンテンツに埋め込まれた他の要素は、「子要素」または「子ノード」またはその要素と呼ばれる。要素のコンテンツに直接埋め込まれたテキストは、その要素の「子テキストノード」と見なされる。ある要素内の子要素とテキストは共に、その要素の「コンテンツ」を構成する。 XML content between tags is considered the “child” (or descendant) of the element. Thus, other elements embedded in the element's content are referred to as “child elements” or “child nodes” or their elements. Text that is directly embedded in the content of an element is considered the “child text node” of that element. The child elements and text within an element together make up the “content” of that element.
「属性」という用語は、特定の値に設定され、要素に関連付けられた追加のプロパティを指す。要素には、なしを含めて、任意の数の属性設定を関連付けることができる。属性は、追加の要素を含まない、またはテキストノードとして処理される要素に、追加の情報を関連付けるために使用される。 The term “attribute” refers to an additional property that is set to a specific value and associated with the element. An element can have any number of attribute settings associated with it, including none. Attributes are used to associate additional information with elements that do not contain additional elements or are processed as text nodes.
「XPath」は、パターン式を使用し、XML文書内のノードを識別する演算子である。XPathのパターンは、XML文書全体にわたる経路を説明する、スラッシュによって分離された子要素名のリストである。パターンは、経路に合致する要素を「選択」する。 “XPath” is an operator that uses a pattern expression to identify a node in an XML document. The XPath pattern is a list of child element names separated by slashes that describe the path through the XML document. The pattern “selects” elements that match the path.
「XMLデータストアまたはデータストア」という用語は、ワードプロセッサ文書、スプレッドシート文書、スライドプレゼンテーション文書など文書内のコンテナを指し、ファイルがオープンである間に、文書内に格納された(たとえば、XMLフォーマットにある)データを格納および修正するためのアクセスを実現する。XMLデータストアは、図2に関連して、下記でさらに定義される。 The term “XML data store or data store” refers to a container in a document, such as a word processor document, spreadsheet document, slide presentation document, etc., stored in the document while the file is open (eg, in XML format). Provide access to store and modify data. The XML data store is further defined below in connection with FIG.
図2は、1つまたは複数のクライアントアプリケーションと、1つまたは複数のデータストアおよびデータストアのコンテンツとの関係を示すブロック図である。一般的に述べると、コンピュータによって生成された文書に関連付けられる任意のデータを格納し、関係付け、その使用を可能にするために、1つまたは複数のデータストアが、文書内の主プレゼンテーションストレージとは別々に維持される。文書メタデータなど、文書に関連付けられた情報を構造化するためのデータが、異なるデータ間の関係が維持されるデータストア内で維持される。データストアは、様々なアプリケーションがデータの1つまたは複数にアクセスし働きかけることができるように、データストア内の様々なデータにアプリケーションプログラミングインターフェース(API)を公開する。本明細書では、「データコンシューマ」「アプリケーション」「プロセス」という用語は、文脈によって別段明らかに指示されない限り、相互交換可能に使用することができる。 FIG. 2 is a block diagram illustrating the relationship between one or more client applications, one or more data stores and data store contents. Generally speaking, one or more data stores are connected to the main presentation storage in a document to store, correlate, and enable any data associated with a computer-generated document. Are maintained separately. Data for structuring information associated with a document, such as document metadata, is maintained in a data store where relationships between different data are maintained. The data store exposes an application programming interface (API) to various data in the data store so that various applications can access and interact with one or more of the data. As used herein, the terms “data consumer”, “application”, and “process” can be used interchangeably unless the context clearly dictates otherwise.
諸データは、拡張マークアップ言語(XML)などマークアップ言語に従って構造化することができる。XMLスキーマを各データに関連付けることができ、データストアは、所与のデータに関連付けられたXMLスキーマに基づいて、データに適用されたXML構造を妥当性検証することができる。データストアは、拡張マークアップ言語(XML)に従って構造化された任意の数の任意のデータ項目、たとえばメタデータを容れることができる。したがって、文書ソリューションプロバイダは、所与の文書と共に、任意のメタデータをXMLとして格納し、データが除去された、もしくはデータストアにロードされたとき、および/または文書がユーザによってオープン/編集/保存されたときなど、イベントが発生したときデータにアクセスする所与のソリューションによってその情報を処理させることができる。 The data can be structured according to a markup language such as Extensible Markup Language (XML). An XML schema can be associated with each data, and the data store can validate the XML structure applied to the data based on the XML schema associated with the given data. The data store can contain any number of any data items, eg metadata, structured according to Extensible Markup Language (XML). Thus, the document solution provider stores any metadata as XML with a given document, when the data is removed or loaded into the data store, and / or the document is opened / edited / saved by the user The information can be processed by a given solution that accesses the data when an event occurs, such as when an event occurs.
また、文書が編集されている間に、XML形態にあるデータにプログラム的にアクセスすることができる。一実施形態によれば、文書がオープンである間に、データにアクセスし、プログラム的に修正することができる、ソリューション開発者によく知られている標準的な機構が提供される。このプログラム的なアクセスは、標準的なXMLインターフェースに似ている。データに対するプログラム的なアクセスは、1つまたは複数の編集用クライアントアプリケーション(たとえば、文書編集または作成用アプリケーション、および/またはサードパーティのアプリケーションアドインソリューションなど)に対するアプリケーションプログラミングインターフェースを介して実現される。したがって、複数のクライアントアプリケーションが、同じ文書データにアクセスし編集することができ、所与のデータに対する、衝突する変更があれば、それが解決される。任意の所与の変更に対する「副作用(side effect)」を加えることができる(たとえば、会社名を「Microsoft」に設定したことに応答して、銘柄記号を「MSFT」に変更すること)。さらに、データに対する変更と、関連する副作用があればそれは、データストアによって「束ね」させることができ、その結果、1つまたは複数の変更を取り消すことにより、関連の変更すべてが覆される。これは、ユーザが、たとえばUndoコマンドを押すことによって文書表面から元の変更の取消しを開始したときソリューションが変更すべてを覆していることを確実にするための、ソリューションそれ自体からの開発の負担を除去する上で助けになる。 Also, data in XML form can be programmatically accessed while the document is being edited. According to one embodiment, a standard mechanism, well known to solution developers, is provided that allows data to be accessed and modified programmatically while the document is open. This programmatic access is similar to a standard XML interface. Programmatic access to data is achieved through an application programming interface to one or more editing client applications (eg, document editing or creation applications, and / or third party application add-in solutions, etc.). Thus, multiple client applications can access and edit the same document data, and any conflicting changes to the given data are resolved. “Side effect” can be added for any given change (eg, changing the stock symbol to “MSFT” in response to setting the company name to “Microsoft”). Furthermore, changes to the data and any associated side effects can be “bunched” by the data store so that undoing one or more changes will reverse all relevant changes. This puts a burden on development from the solution itself to ensure that the solution covers all changes when the user starts undoing the original change from the document surface, for example by pressing the Undo command. Helps in removal.
標準的なXMLスキーマ(XSD)を使用し、文書データに適用されたXMLデータが有効であることを確実にするために、文書メタデータに関連付けられたいずれかのカスタムXMLデータのコンテンツを定義することができる。これらのスキーマは、文書内に格納されたXMLデータの任意のインスタンスに添付することができ、データストアは、そのデータのXML構造(すなわち、XMLタグのコンテンツではなくXMLタグ)が無効になるであろうXMLデータに対する任意の変更を許さないことになる。これは、ソリューション開発者が特定のXMLメタデータを文書に添付することができることを確実にする、また、XMLデータを修正するためにどのデータコンシューマ(たとえば、アドイン)が使用されるかにかかわらず、そのデータが、関連付けられたスキーマに従って引き続き構造的に「正しい」ものとなることを確実にする助けとなる。 Use standard XML schema (XSD) to define the content of any custom XML data associated with the document metadata to ensure that the XML data applied to the document data is valid be able to. These schemas can be attached to any instance of XML data stored in the document, and the data store will invalidate the XML structure of that data (ie, the XML tag, not the contents of the XML tag). You will not allow any changes to the XML data that will be. This ensures that the solution developer can attach specific XML metadata to the document, and regardless of which data consumer (eg, add-in) is used to modify the XML data Helping to ensure that the data remains structurally “correct” according to the associated schema.
次に、図2を参照すると、文書データ220は、XML構造データと、文書の表面またはプレゼンテーションレベルのビューを表す、関連する文書データとを含む。たとえば、文書データ220は、XML構造(たとえば、headingタグ、bodyタグ、conclusionタグ)と、ワードプロセッシング文書、スプレッドシート文書、スライドプレゼンテーション文書などの、関連する表面ビューデータ(たとえば、語、文、段落)とを含むことができる。
Referring now to FIG. 2,
データストア208は、所与の文書に関連付けられた1つまたは複数のタイプのデータに関連付けられた1つまたは複数の構造化データを格納するための文書データリポジトリである。データストアが1つだけ示されているが、複数のデータストアを使用することができる。メタデータ1 225(構造化データ項目)は、XML構造データと、文書に関連付けられた第1のメタデータのための、関連するデータとを含むことができる。たとえば、メタデータ1 225は、文書の著者、文書作成日、文書の最後の変更/保存日などをリストするXML構造データ(たとえば、日付タグ、名前タグなど)を含むことができる。メタデータ2 230(構造化データ項目)は、XML構造データ(タグ)と、文書に関連付けられた第2のメタデータを表す、関連するデータとを含むことができる。メタデータ1およびメタデータ2は、例としてのものにすぎず、所与の文書に関連してデータストア208内で維持することができる様々な、いくつかの異なるタイプのデータを限定するものではないことを理解されたい。たとえば、本明細書で述べられているように、ソリューションプロバイダ、または文書データにアクセスすることができるユーザが望むなら、任意のデータを、1つまたは複数のソフトウェアアプリケーションによって構造化し、文書に追加することができる。
各データ225、230に適用された拡張マークアップ言語(XML)データに関連付けられた構文および妥当性検証規則を指示するために、任意選択で、スキーマファイル240、245が、データストア208内に格納された各データに添付されてもよい。XMLスキーマファイルは、XML環境内のデータを説明および妥当性検証するための方法を提供する。スキーマファイルは、要素および属性を含めてどのXMLマークアップデータがXML文書内のコンテンツを説明するために使用されるかについて述べ、スキーマファイルは、各要素がどこに許されるか、どのタイプのコンテンツが要素内で許されるか、またどの要素が他の要素内で現れることができるかを含めて、XMLマークアップ構文を定義する。スキーマファイルの使用により、文書(または、この場合には個々のデータ)が一貫した、予測可能な形で確実に構造化される。スキーマファイル240、245は、ユーザが作成することができ、概してXMLなど関連するマークアップ言語によってサポートされる。
Optionally, schema files 240, 245 are stored in
文書の体系化により、データストアは、データストアレベルで所与のスキーマファイルに違反する変更があればそれを拒絶することによって、文書の構造的な有効性を「保証」する能力を提供することができる。一実施形態によれば、データストア208は、関連付けられたスキーマファイルに反して所与のデータに追加されたXML構造、または所与のデータに加えられた変更を妥当性検証するために、スキーマ妥当性検証モジュール260を使用する。たとえば、文書作成者または編集者が、所与のデータ、たとえばメタデータ1にXML構造上の変更を加え、編集者が所与のXMLタグを追加または除去した場合、データストア208は、スキーマ妥当性検証モジュールを使用し、変更の有効性を確保するように、関連付けられたスキーマファイルと突き合わせてXML構造の変更を検査することになる。変更が有効でない場合、編集者に対してエラーが生成される可能性がある。わかるように、所与のデータに適用されたXML構造のそのような制御により、クライアントおよびサードパーティアプリケーションが、関連するデータと対話することを可能にするのに特に重要な構造上の一貫性および予測可能性がもたらされる。
With document organization, the data store provides the ability to "guarantee" the structural validity of a document by rejecting any violations of a given schema file at the data store level. Can do. According to one embodiment, the
データストア208は、クライアントアプリケーション205(たとえば、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、スライドプレゼンテーションアプリケーションなど)、ならびにサードパーティアプリケーション210、215による、それぞれのアプリケーション205、210、215のオブジェクトモデル(OM)を介するアクセスを受けることができる1つまたは複数のアプリケーションプログラミングインターフェース(API)270を提供する。これらのAPIは、クライアントアプリケーションおよびサードパーティアプリケーションが任意の既存のXMLファイルを所与の文書のデータストア208内にロードすることを可能にし、したがって、データが今やその文書の一部であり、(たとえば、オープン/編集/保存/名前変更などを介して)その寿命の間、またはそのデータがデータストアから削除されるまで、その文書内で移動することを確実にする。一実施形態によれば、データストア内のデータは、所与のデータ225、230のためのソースアプリケーションが閉じられている、あるいは他の形で使用可能でないときでさえ、そのXMLフォーマットで使用可能である。すなわち、所与のデータ225、230は、API270を介して、(ソースアプリケーション以外の)他のアプリケーションによるアクセスを受けることができる。下記で述べられているように、APIはまた、クライアントおよびサードパーティアプリケーションが、データ項目225、230に適用されたXMLマークアップデータに変更を加えることを可能にする。
The
XMLデータ225、230は、文書220と関連付けられるようにデータストア内にロードされた後で、開発者のXMLプログラミング標準に関する既存の知識を利用するために既存のXML編集用インターフェースと同様のメソッドを提供するように設計されたデータストアインターフェースを使用して、標準的なXMLとして操作することができる。これにより、ユーザは、ある文書のためのデータストアに追加されたXMLデータに対して、要素および属性を追加すること、要素および属性を除去すること、既存の要素/属性の値を変更すること、ならびに関連するXMLツリーの任意の既存の部分の値を読み出すことなど、標準的なXMLオペレーションを実行することができる。これらのXMLの標準的なオペレーションを使用して、ソリューションは、データの長さ/サイズまたはデータの構造に対する先の制約を受けずに、構造化された複雑なメタデータを文書と共に格納することができ、これにより、従来のソリューションより著しく構造化されたソリューションのためにこのXMLデータストアを使用することができる。たとえば、サードパーティアプリケーション215は、各文書についてデータストア208に追加されたメタデータ1 225を読み出すことによって、文書の著者の名前および文書作成日をいくつかの文書から突き止め、抽出するように記述されてもよい。サードパーティアプリケーション例は、所与の組織によって作成された文書すべてについて文書の著者の名前および文書作成日のリストを作成するようにプログラムされたアプリケーションとすることができる。本発明の実施形態によれば、サードパーティアプリケーションは、所望のデータを効率的に突き止め、抽出するために、メタデータ1に適用されたXML構造を使用することができる。たとえば、サードパーティアプリケーションは、<docauthor>および<doccreationdate>など、これらのタグに関連付けられたデータを得る、また使用するためのXMLタグを突き止めるために、メタデータ1ファイルのXML構造を構文解析するように記述されてもよい。前述のものは、1つまたは複数のアプリケーションが、文書に関連付けられる構造化データと、データストア208を介して対話することができる多数の方法の1つの例にすぎないことを理解されたい。
After the
さらに、データストア208は、複数のアプリケーション205、210、215が個々のXMLデータ220、225、230(ストア項目としても知られる)と共に機能することができるように、同じデータに対するいくつかのAPIインターフェース270を提供する。たとえば、クライアントアプリケーション(たとえば、ワードプロセッシングアプリケーション)およびサードパーティアプリケーションソリューション(たとえば、上述のアプリケーション)など、いくつかのソリューションは、同じ組の文書プロパティ(たとえば、メタデータ2 230ファイル内に含まれるプロパティ)と共に機能することができる。データストア208を使用して、これらのアプリケーションのそれぞれは、同じデータにアクセスする複数のデータコンシューマを有するという複雑さに対処することを必要とせずに、各アプリケーションがそれ自体のOMを介してデータと通信することができるように、それら自体のデータストアAPIインターフェース270を介して所望のXMLデータ230に対する別個のアクセス権を受け取る。
In addition, the
これらの複数の、データを消費するアプリケーション205、210、215が同じデータにアクセスすることを可能にするために、データストア208は、XMLデータの任意の部分が別のアプリケーションによって変更されたとき、これらのアプリケーションのそれぞれに通知し、その結果、所与のアプリケーションは(内部からそれ自体のプロセスに対して、また外部から同じデータに対する他の変更によって)その変更に応答することができる。1つのアプリケーションが所与のデータ項目に対する変更を要求したとき、その要求された変更に対してどのように応答するか、または応答するかどうか他のアプリケーションが判断することができるように、その要求が自動的に他のアプリケーションすべてに送られる。一実施形態によれば、これは、所与のアプリケーションソリューション/プログラムがそれ自体の論理に関係するメッセージを受け取るだけとなるように、そのアプリケーションがインターフェースを有するXMLデータの任意の一部を「聴取」することを各アプリケーションが登録できるようにすることによって行われる。たとえば、あるタイプのアプリケーション210は、詳細なビジネス論理機能をサードパーティソリューションに提供するために、所与のXMLデータに加えられる変更すべてを聴取することを登録したいと望む可能性がある一方、別のタイプのアプリケーション215は、その論理が、そのXMLデータのどの他の部分に対する変更についても関心がないため、同じデータ内の1つまたは2つの特定のXML要素に対する変更を聴取したいと望むにすぎない可能性がある。
In order to allow these multiple,
この実施形態によれば、複数のアプリケーション205、210、215は、同じ文書データにアクセスし編集することができ、所与のデータに対する、衝突する変更があれば、それが解決される。たとえば、あるアプリケーションによる1つの変更が別のアプリケーションによる副作用変更を引き起こすとき、任意の所与の変更に対する「副作用」を加えることができる。たとえば、第1のアプリケーション210は、所与の文書に関係する会社の銘柄記号のリストを編纂するために、会社名を、対応する銘柄記号が使用可能であればそれに変換するように、所与の文書に関連付けられた1つまたは複数のデータ項目225、230からこれらの会社名を抽出するタスクを課される可能性がある。第2のアプリケーション215が、たとえば会社名を「会社ABC」から会社XYZ」に変更して、所与のメタデータ内の所与の会社名を追加または変更させた場合、第1のアプリケーションは、この変更を聴取し、「会社ABC」ではなく「会社XYZ」用の銘柄記号を含むように、その銘柄記号のリストを自動的に更新することができる。さらに、そのような変更と、関連する副作用があればそれは、データストア208によって束ねさせることができ、その結果、1つまたは複数の変更を取り消すことにより、関連の変更すべてが覆される。
According to this embodiment,
図3は、内部データコンシューマと外部データコンシューマの間での、XMLデータストアとの対話を示すシステム図を示す。図では、システム300はデータストア302を含み、データストア302は、プレゼンテーションレイヤ304と、それぞれがエラーストアおよびアンドゥストアを含むXMLストア1〜N(306)と、グローバル変更ストア308と、任意選択のグローバルアンドゥストア310と、内部データコンシューマ1〜N 314に結合される内部ブローカ312と、外部データコンシューマ1〜N 318に結合される外部ブローカ316とを含む。
FIG. 3 shows a system diagram illustrating interaction with an XML data store between an internal data consumer and an external data consumer. In the figure, the
XMLデータストア306を使用して、文書は、(それぞれが標準的なXML構文に準拠する限り)任意の数の任意のデータ項目を容れる能力を有する。任意のメタデータが文書内にXMLとして格納されてもよく、その情報は、文書がユーザによってオープン/編集/保存されたとき、自動的に往復させることができる。
Using the
上述のように、このデータに対するプログラム的なアクセスは、文書が編集されている間に使用することができるAPIを介して実現され、文書がオープンである間に、この情報にアクセスし、プログラム的に修正することができる、ソリューション開発者によく知られている標準的な機構を提供する。一実施形態によれば、このプログラム的なアクセスは、標準的なXMLインターフェースに似ているように設計される。このAPIを使用すると、ワードプロセッシングアプリケーションなどアプリケーションが動作している間にデータを追加/除去することができ、データをストア項目(データストア内の一部)内に投入することができ、データを標準的なXMLコンストラクトを使用して操作することができ、スキーマをデータストア内の任意のXMLデータに関連付けることができ、スキーマを、データストア項目に関連付けられた後で追加/除去/変更することができ、XML変更を、任意の聴取中のクライアントに対してイベント化することができる。図では、このAPIは、外部データコンシューマ318のためのインターフェースを提供する外部ブローカ316と、データストア302と対話する任意の内部データコンシューマ314のためのインターフェースを提供する内部ブローカ312とを備える。
As mentioned above, programmatic access to this data is accomplished via an API that can be used while the document is being edited, and this information is accessed while the document is open, and programmatically. Provides a standard mechanism that can be modified to be well known to solution developers. According to one embodiment, this programmatic access is designed to resemble a standard XML interface. Using this API, data can be added / removed while an application such as a word processing application is running, data can be put into store items (parts in the data store), Can be manipulated using standard XML constructs, the schema can be associated with any XML data in the data store, and the schema can be added / removed / modified after being associated with a data store item XML changes can be evented for any listening client. In the figure, the API comprises an
データストア302に対する操作は、実時間で行われてもよい。上記で論じられているように、データストア306は、1つまたは複数のタイプのデータを容れることができる。たとえば、ある会社は、単一のデータストア内に格納したいと望む、異なるタイプのデータすべてを格納するために使用している1つのデータストアを有する可能性があり、一方、別の会社は、異なるデータストアに跨ってデータ異なるタイプのデータを格納したいと望む可能性がある。
Operations on the
データコンシューマ318は、データストア306に関するアクションに関係するイベントに備えて登録することができる。たとえば、データコンシューマは、任意のタイプの変更が1つまたは複数のデータストアに加えられたとき、イベントを受け取ることを登録することができる。別のデータコンシューマは、データストア内のある種の要素または要素の組に対して行われた変更に備えて登録することができる。共通のイベントには、データストアをロードすること、データストアに追加すること、およびデータストアから削除することが含まれる。イベントが発生したとき、登録されている各データコンシューマは、その変更に反応することができ、一方、データストアの状態は、一貫して維持される。データコンシューマは、たびたび、変更が加えられたときどんなアクションも実行しないことになる。他の時点では、データコンシューマは、イベントに応答して何らかのアクションを実行することになる。たとえば、データコンシューマは、タイトル変更に応答して、文書内のヘッダを更新するなど、変更に応答してデータストアにいくつかの他の変更を加えることができる。データコンシューマはまた、文書に影響を及ぼさないいくつかの他のオペレーションを実行することができる。たとえば、ストックチッカ記号(stock ticker symbol)が挿入された場合、データコンシューマは、その銘柄記号に関連付けられるデータを取り出すことができるが、取り出されたデータのすべてが文書内において、プレゼンテーションレイヤで表示されるわけではない可能性がある。データコンシューマはまた、変更を拒絶することができる。たとえば、データコンシューマ1が、受け入れられない変更を受けた場合、そのデータコンシューマは、ブローカにフラグを返し、その変更が受け入れられないことを示すことができる。変更が受け入れられないときはいつでも、その変更が決して行われないように、その変更が任意の副作用と共に逆戻しされる。各XMLストア306は、そのアンドゥストアを使用し、加えた変更を取り消すことができる。別法として、グローバルアンドゥストア310を使用し、データストアに跨って加えられた変更を取り消すことができる。文書プロパティに何が行われるかに関心がある3つのデータコンシューマがあり、その結果、これらのデータコンシューマのそれぞれが、そのプロパティの変更に関係するイベントを受け取ることを登録していると想像してみる。変更が加えられたとき、データストアは、登録している各データコンシューマを決定し、所定の順序でそれらのそれぞれに変更を通知する。各データコンシューマは、順に、変更に応答して何らかのアクションを実行することができる。その変更、またはその変更の結果として登録されているデータコンシューマによって加えられた変更のいずれかが、データコンシューマのいずれか1つによって受け入れられない場合、最初の変更に関係する変更のすべてが取り消される。
外部ブローカアプリケーションプログラミングインターフェースレイヤ316は、外部データコンシューマ318によるデータストア302に対するアクセスを実現し、サードパーティクライアントが、そのアプリケーションに関連する内部データコンシューマがデータストアと対話するように、データストア302と対話することを可能にする。データストア302内のXMLデータストア306のそれぞれは、識別するために一意のIDを備える。これは、XMLデータストア306を突き止める際に助けとなる。
The external broker application
任意の点で、データコンシューマは、データストア内のデータを妥当性検証するために使用されるスキーマを追加することができる。今、ふと現れてデータを変更しようと試みる他のサードパーティコードがあれば、データストアが最初に行うことは、提供されているスキーマに対して変更が道理にかなっているかどうか判定することである。スキーマが添付された後で、ブローカは、妥当性検証用オブジェクトになる。 At any point, the data consumer can add a schema that is used to validate the data in the data store. Now if there is other third-party code that suddenly appears and tries to modify the data, the first thing the data store does is determine whether the change makes sense for the provided schema . After the schema is attached, the broker becomes a validation object.
データストアはまた、一度に複数の要素を受け取ることができる。データ(XML)を1つの特定のストリームとして提供することにより、いくつかの状況においてスキーマを満たす助けとなる可能性がある。たとえば、添付されたスキーマには、株式データが存在する場合少なくとも2つの会社を有していなければならないと述べられているとする。株式データが1つずつ追加されるならば、有効とされないことになろう。 The data store can also receive multiple elements at once. Providing data (XML) as one specific stream may help satisfy the schema in some situations. For example, the attached schema states that if stock data exists, it must have at least two companies. If stock data is added one by one, it will not be valid.
データを妥当性検証するために、単一のパス(pass)が使用される。データストアに変更が加えられる可能性がある2つのパスを作成するのではなく、データがデータストアに引き渡される前に妥当性検証が実行される。これは、データコンシューマがデータストアに誤りを導入するのを防止する助けとなる。 A single pass is used to validate the data. Rather than creating two paths where changes can be made to the data store, validation is performed before the data is passed to the data store. This helps to prevent data consumers from introducing errors into the data store.
図4および図5は、データストアに関係するイベントを処理するためのプロセスを示す。本明細書で提示されているルーチンの考察を読むとき、様々な実施形態の論理演算が、(1)コンピュータによって実施される動作のシーケンス、またはコンピューティングシステム上で動作するプログラムモジュールとして、および/または(2)コンピューティングシステム内の、相互接続された機械論理回路または回路モジュールとして実装されることを理解されたい。実装は、本発明を実施するコンピューティングシステムの性能要件による選択の問題である。したがって、例示されている、また本明細書に述べられている実施形態を構成する論理演算は、オペレーション、構造デバイス(structural device)、動作(act)、またはモジュールと、様々に称される。これらのオペレーション、構造デバイス、動作、およびモジュールは、ソフトウェア、ファームウェア、専用デジタル論理、およびそれらの任意の組合せで実装することができる。 4 and 5 illustrate a process for handling events related to the data store. When reading the routine considerations presented herein, the logical operations of the various embodiments are (1) a sequence of operations performed by a computer, or as a program module operating on a computing system, and / or Or (2) It should be understood that it is implemented as an interconnected machine logic circuit or circuit module within a computing system. Implementation is a matter of choice due to the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated and making up the embodiments described herein are referred to variously as operations, structural devices, acts, or modules. These operations, structural devices, operations, and modules can be implemented in software, firmware, dedicated digital logic, and any combination thereof.
図4は、データストアに関連するイベントを処理するためのプロセスを示す。一般に、データストアがデータコンシューマから変更要求を受け取ったとき、その変更は、登録されているデータコンシューマのすべてに送られ、それらのデータコンシューマがその変更を拒絶することを、またはその変更の結果として副作用(他のXML変更)を要求することを可能にする。 FIG. 4 shows a process for handling events related to the data store. In general, when a data store receives a change request from a data consumer, the change is sent to all of the registered data consumers and the data consumer rejects the change or as a result of the change. Allows to request side effects (other XML changes).
開始オペレーションの後で、プロセスはオペレーション410に進み、データコンシューマが、受け取ることに関心がある任意のイベントに備えて登録する。それらのイベントは、データをデータストアに追加すること、データをデータストアから除去すること、データストア内のデータに変更を加えることなどに関する可能性がある。イベントは、グローバル変更、またはデータストアのうちの1つまたは複数内に格納される要素に対する特定の変更に結びつけられてもよい。たとえば、あるデータコンシューマは、任意の変更がいつ加えられたか知りたいと望む可能性があり、一方、別のクライアントは、データストア内の1つの特定の値に対する変更に関心があるにすぎない可能性がある。
After the start operation, the process proceeds to
判断オペレーション420に移動して、イベントが発生したかどうかについて判定される。イベントは、データストアに対する変更に関する。たとえば、上記で論じたように、イベントは、追加、除去、またはデータストアに対する何らかの他の変更を加えることを含む可能性がある。たとえば、変更は、ノードをデータストアに追加することである可能性がある。イベントが発生しなかったとき、プロセスは判断オペレーション420に戻る。イベントが発生したとき、プロセスはオペレーション430に進む。
Moving to
オペレーション430では、変更が、その変更に備えて登録しているデータコンシューマのそれぞれに中継される。一実施形態では、各データコンシューマが所定の順序で通知を受ける。たとえば、その順序は、データコンシューマの登録の順序に基づくものとすることができる。
In
オペレーション440に移行して、イベント通知を受け取ったデータコンシューマのそれぞれから応答が得られる。クライアントのそれぞれは、変更を受け入れる、または拒絶することができる。その応答により、変更がデータストアに引き渡されることになるか否か判定される。
Moving to
判断オペレーション450に移動して、データコンシューマのいずれかがデータストアに対する変更を拒絶したかどうかについて判定される。変更がデータコンシューマのいずれかによって拒絶されたとき、プロセスはブロック460に移動し、その変更に応答して加えられたどの変更も、変更が行われなかったかのように逆戻しされる。
Moving to
通知を受けたクライアントのすべてが変更を受け入れたとき、プロセスはオペレーション470に進み、任意選択で変更が妥当性検証され、次いで、プロセスはオペレーション480に進み、変更が適切なデータストアに引き渡される。
When all of the notified clients have accepted the change, the process proceeds to
次いで、変更を開始した元のデータコンシューマは、変更が受け入れられた通知を受け取る(オペレーション490)。次いで、プロセスは終了ブロックに移動し、他のアクションの処理に戻る。 The original data consumer that initiated the change then receives a notification that the change has been accepted (operation 490). The process then moves to the end block and returns to processing other actions.
図5は、副作用を含むイベントを処理するためのプロセスを示す。一般に、データストアがデータコンシューマから変更要求を受け取ったとき、その変更は、登録されているクライアントのすべてに送られ、それらのクライアントがその変更を拒絶することを、またはその変更の結果として副作用(他のXML変更)を要求することを可能にする。たとえば、クライアントは、データストア内の1つの項目に対する変更について通知を受ける可能性があり、その変更の結果として、データコンシューマは、データストアに別の変更を加える。副作用として変更が要求されたときには、プロセスが、図4に示されているプロセスとはわずかに異なる。 FIG. 5 shows a process for handling events that include side effects. In general, when a data store receives a change request from a data consumer, the change is sent to all registered clients, and those clients reject the change, or as a result of the change, side effects ( Other XML changes) can be requested. For example, a client may be notified about changes to one item in the data store, and as a result of that change, the data consumer makes another change to the data store. When a change is requested as a side effect, the process is slightly different from the process shown in FIG.
開始オペレーションの後で、プロセスはオペレーション510に進み、現在受け入れられつつある、または拒絶されつつある変更の結果として、クライアントがデータストアに対する副作用変更を開始する。
After the start operation, the process proceeds to
オペレーション520に移行して、この副作用変更は待ち行列に入れられるが、実行されない。換言すれば、副作用変更は、データストア内で直ちに実行されはしない。このことに基づいて、イベントの代替形態は、以下を含む。
Moving to
判断オペレーション530に移動して、データコンシューマのいずれかがデータストアに対する元の変更を拒絶したかどうかについて判定される。
Moving to
変更がデータコンシューマのいずれかによって拒絶されたとき、プロセスはブロック540に移動し、その変更に応答して加えられたどの変更も、また待ち行列に入れられているどの副作用変更も、変更が行われなかったかのように逆戻しされる。 When a change is rejected by any of the data consumers, the process moves to block 540 where any changes made in response to that change, and any side effect changes that are queued, are changed. It will be reversed as if it were not.
クライアントが元の変更を受け入れたとき、プロセスはオペレーション550に進み、任意選択で変更が妥当性検証され、次いで、プロセスはオペレーション560に進み、元の変更が適切なデータストアに引き渡される。
When the client accepts the original change, the process proceeds to
次いで、プロセスはオペレーション570に進み、副作用変更が、データストア内で一度に1つ実行される。次いで、各副作用変更は、登録されているクライアントのいずれかによって受け入れられる、または拒絶される可能性がある。副作用変更のいずれかが拒絶されたとき、加えられた変更のすべてが、変更のどれも行われなかったかのように逆戻しされる。
The process then proceeds to
次いで、プロセスは終了ブロックに移動し、他のアクションの処理に戻る。 The process then moves to the end block and returns to processing other actions.
以下は、データストアOMを介して公開される共通機能のいくつかを示すコードセグメント例である。 The following is an example code segment showing some of the common functions exposed through the data store OM.
最初の例は、ストリームをデータストアに追加することを示す。 The first example shows adding a stream to the data store.
第2の例は、データストアを突き止めることを示す。 The second example shows locating the data store.
第3の例は、サブツリーをデータストアに追加することを示す。 The third example shows adding a subtree to the data store.
一実施形態によれば、以下は、このAPIに関連する例示的な機能である。 According to one embodiment, the following are exemplary functions associated with this API.
Events on CustomXMLNode
イベントは、CustomXMLNode上で、ならびに文書レベルだけで発生することができる。
Events on CustomXMLNode
Events can occur on CustomXMLNode as well as at document level only.
パラメータ:NewNode:CustomXMLNodeにちょうど追加されたノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書にちょうど追加された場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: NewNode: CustomXMLNode object corresponding to the node just added to CustomXMLNode. Note: This node can have children (if the subtree was just added to the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードが現在の文書に追加されようとするときいつでも起こる。この追加オペレーションが、XML文書のサブツリーがCustomXMLNode内に追加されることを含む場合、このイベントは、その変更における最高位のノードについて1回起こされる。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is about to be added to the current document. If this add operation involves adding a sub-tree of the XML document within CustomXMLNode, this event is raised once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
パラメータ:OldNode:CustomXMLPartからちょうど除去されたノードに対応するCustomXMLNodeオブジェクト。注1:このノードは、(サブツリーが文書から除去されつつある場合)子を有することができる。注2:このノードは、クエリをノードから下に行うことができるが上がることができず、単独で存在するように見える点で、「切断された」ノードとなる(すなわち、同じOwnerStreamを有する文書要素である)。OldParentNode:OldNodeの以前の親ノードに対応するCustomXMLNodeオブジェクト。OldNextSibling:OldNodeの以前の隣の兄弟に対応するCustomXMLNodeオブジェクト。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: OldNode: CustomXMLNode object corresponding to the node just removed from CustomXMLPart. Note 1: This node can have children (if the subtree is being removed from the document). Note 2: This node is a “disconnected” node in that it can be queried down from the node but cannot go up and appears to exist alone (ie, a document with the same OwnerStream) Element). OldParentNode: A CustomXMLNode object corresponding to the previous parent node of OldNode. OldNextSibling: A CustomXMLNode object corresponding to the previous next sibling of OldNode. InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードがデータストア内の現在の項目から削除されるときいつでも起こる。この削除オペレーションが、CustomXMLPart内のXML文書のサブツリーを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is deleted from the current item in the data store. If this delete operation involves a subtree of an XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
パラメータ:OldNode:CustomXMLPartからちょうど除去されたノードに対応するCustomXMLNodeオブジェクト。注1:このノードは、(サブツリーが文書から除去されつつある場合)子を有することができる。注2:このノードは、クエリをノードから下に行うことができるが上がることができず、単独で存在するように見える点で、「切断された」ノードとなる(すなわち、同じOwnerStreamを有する文書要素である)。NewNode:CustomXMLPartにちょうど追加されたノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書にちょうど追加された場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: OldNode: CustomXMLNode object corresponding to the node just removed from CustomXMLPart. Note 1: This node can have children (if the subtree is being removed from the document). Note 2: This node is a “disconnected” node in that it can be queried down from the node but cannot go up and appears to exist alone (ie, a document with the same OwnerStream) Element). NewNode: CustomXMLNode object corresponding to the node just added to CustomXMLPart. Note: This node can have children (if the subtree was just added to the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードがデータストア内で置換されるときいつでも起こる。この置換オペレーションが、CustomXMLPart内のXML文書のサブツリーを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is replaced in the data store. If this replace operation involves a subtree of an XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
CustomXMLParts():OLE文書プロパティおよびWSSプロパティストリームを含めて、ファイル内で使用可能なデータストア項目すべてのコレクションを指す。 CustomXMLParts (): Refers to a collection of all data store items available in the file, including OLE document properties and WSS property streams.
CustomXMLPrefixMappings:現在の部分のためのプレフィックスマッピングのすべてを表すオブジェクト。 CustomXMLPrefixMappings: An object that represents all of the prefix mappings for the current part.
パラメータ:Prefix:プレフィックスマッピングリストに追加するためのプレフィックスを表す文字列型。NamespaceURI:新たに追加されたプレフィックスに割り当てるための名前空間を表す文字列型。 Parameters: Prefix: A string type representing a prefix to be added to the prefix mapping list. NamespaceURI: A string type that represents the namespace to assign to the newly added prefix.
この項目をクエリするとき使用するためにカスタム名前空間/プレフィックスマッピングを開発者が追加することを可能にする。プレフィックスがマネージャ内にすでに存在する場合、これにより、そのプレフィックスがデータストアによって内部で追加/使用されるものであるときを除いて、そのプレフィックスの意味が上書きされ、次いで「このプレフィックスはすでに使用されており、修正することができません」というエラーが返されることになる。 Allows developers to add custom namespace / prefix mappings to use when querying this item. If the prefix already exists in the manager, this overrides the meaning of the prefix, except when it is added / used internally by the data store, and then "This prefix is already used Error cannot be corrected "will be returned.
Count As Long:コレクション内のプレフィックスマッピングの数を返す。 Count As Long: Returns the number of prefix mappings in the collection.
パラメータ:Index:コレクション内の所望のスキーマのインデックスを表す長整数型。 Parameters: Index: A long integer that represents the index of the desired schema in the collection.
要求されたCustomXMLPrefixMappingをコレクションから返す。このオブジェクトのデフォルト数。 Returns the requested CustomXMLPrefixMapping from the collection. The default number of this object.
パラメータ:Prefix:プレフィックスマッピングリスト内のプレフィックスを表す文字列型。開発者が、指定されたプレフィックスに対応する名前空間を得ることを可能にする。名前空間が、要求されたプレフィックスに割り当てられていない場合、“”を返す。 Parameters: Prefix: A string type that represents a prefix in the prefix mapping list. Allows a developer to obtain a namespace corresponding to a specified prefix. Returns “” if the namespace is not assigned to the requested prefix.
パラメータ:NamespaceURI:プレフィックスマッピングリスト内の名前空間を表す文字列型。 Parameters: NamespaceURI: A string type representing a namespace in the prefix mapping list.
開発者が、指定された名前空間に対応するプレフィックスを得ることを可能にする。プレフィックスが、要求された名前空間に割り当てられていない場合、“”を返す。名前空間内に指定された複数のプレフィックスがある場合、マネージャは、供給された名前空間に合致する最初のものを返す。 Allows a developer to obtain a prefix corresponding to a specified namespace. Returns “” if the prefix is not assigned to the requested namespace. If there are multiple prefixes specified in the namespace, the manager returns the first one that matches the supplied namespace.
CustomXMLPrefixMapping:プレフィックスマッピングを表すオブジェクト。 CustomXMLPrefixMapping: An object that represents a prefix mapping.
Prefix As String:このプレフィックスマッピングのためのプレフィックスを返す。 Prefix As String: Returns the prefix for this prefix mapping.
NamespaceURI As String:このプレフィックスマッピングのための名前空間を返す。 NamespaceURI As String: Returns the namespace for this prefix mapping.
CustomXMLSchema:スキーマコレクションの一部であるスキーマを表すオブジェクト。 CustomXMLSchema: An object that represents a schema that is part of a schema collection.
Delete As Void:このスキーマをスキーマコレクションから削除する。すでに妥当性検証されている、またはストリーム(何らかのライブコレクション)に添付されているコレクション内のスキーマに対してこれが行われた場合には、「スキーマコレクションが現在使用中であるため、このスキーマは、削除できません」というエラーメッセージと共に失敗となる。 Delete As Void: Delete this schema from the schema collection. If this is done for a schema in a collection that has already been validated or attached to a stream (some live collection), "This schema is currently in use because the schema collection is currently in use. It fails with the error message "Cannot delete".
Location As String:ユーザの機械上のこのスキーマのロケーションを表す文字列を返す。 Location As String: Returns a string representing the location of this schema on the user's machine.
NamespaceURI As String:このスキーマのターゲット名前空間を返し、XSDによって何も指定されていない場合、“”を返す。 NamespaceURI As String: Returns the target namespace of this schema, and returns “” if nothing is specified by the XSD.
Reload As Void:このスキーマをディスクから再ロードし、これは、(SLが変更されている場合)そのロケーションを更新し、依然として有効なスキーマであることを確実にするために、ディスク上のこのスキーマのコピーを手直しすることになる。すでに妥当性検証されている、またはストリーム(何らかのライブコレクション)に結びつけられているコレクション内のスキーマに対してこれが行われた場合には、「スキーマコレクションが現在使用中であるため、このスキーマは、再ロードできません」というエラーメッセージと共に失敗となる。 Reload As Void: Reloads this schema from disk, which updates its location (if the SL has changed) and ensures that it is still a valid schema Will be reworked. If this is done for a schema in a collection that has already been validated or is bound to a stream (some live collection), "This schema is currently in use because the schema collection is currently in use. It fails with the error message "Cannot reload."
CustomXMLSchemaCollection():(ストリームに添付されている/されることになる)スキーマのコレクションを表すオブジェクト。 CustomXMLSchemaCollection (): An object that represents a collection of schemas (attached / will be attached to the stream).
パラメータ:NamespaceURI:コレクションに追加しようとするスキーマの名前空間を表す文字列型。そのスキーマがスキーマライブラリ(Schema Library)内に存在する場合、それを取り出す。Alias:コレクションに追加しようとするスキーマの別名を表す文字列型。その別名がSL内に存在する場合、この引数を使用して見出す。FileName:スキーマを見出すことができるディスク上のロケーションを表す文字列型。このパラメータが指定されている場合、スキーマをコレクションに追加するだけでなく、SLにも追加する。InstallForAllUsers:スキーマをスキーマライブラリに追加する場合に、SLキーを(全ユーザのための)HKLMに書き込むべきか、それとも(現在のユーザだけのための)HKCUに書き込むべきかを表すブール型。デフォルトは偽(HKCUに書き込む)。 Parameters: NamespaceURI: A string type that represents the namespace of the schema to be added to the collection. If the schema exists in the schema library (Schema Library), retrieve it. Alias: A string type that represents the alias of the schema to be added to the collection. If the alias exists in SL, find it using this argument. FileName: A string type that represents a location on disk where the schema can be found. If this parameter is specified, not only will the schema be added to the collection, but it will also be added to the SL. InstallForAllUsers: A Boolean that indicates whether the SL key should be written to HKLM (for all users) or HKCU (for current users only) when adding a schema to the schema library. Default is false (write to HKCU).
このメソッドは、開発者が、1つまたは複数のスキーマを、データストア内のストリームに追加しようとするスキーマコレクションに、ならびにスキーマライブラリに追加することを可能にする。以下のパラメータの組を用いて呼び出すことができる(衝突の場合には、パラメータを以下の順序で使用しようと試みる)。すなわち、[NamespaceURI],[Alias],FileName,[InstallForAllUsers](その名前空間についてスキーマが存在しない場合、スキーマをスキーマライブラリに追加する)。NamespaceURIのみ(スキーマライブラリからXSDをルックアップする)。Aliasのみ(スキーマライブラリからXSDをルックアップする)。 This method allows the developer to add one or more schemas to the schema collection that is going to be added to the stream in the data store, as well as to the schema library. Can be called with the following set of parameters (in case of collision, try to use the parameters in the following order): That is, [NamespaceURI], [Alias], FileName, [InstallForAllUsers] (if a schema does not exist for that namespace, add the schema to the schema library). NamespaceURI only (looks up XSD from schema library). Alias only (look up XSD from schema library).
パラメータ:SchemaCollection:現在のコレクション内にインポートしようとするスキーマのコレクションを表すCustomXMLSchemas()オブジェクト。 Parameters: SchemaCollection: A CustomXMLSchemas () object that represents the collection of schemas to be imported into the current collection.
すでに存在するコレクションを現在のコレクションに追加する。インポート中に名前空間同士が衝突した場合(たとえば、a.xsdがすでに「fooNamespace」にリンクされているが、入来コレクションが、同じ名前空間についてb.xsdを有する場合)、入来コレクションが優勢になる。 Add an existing collection to the current collection. If namespaces collide during import (for example, if a.xsd is already linked to "fooNamespace" but the incoming collection has b.xsd for the same namespace), the incoming collection prevails become.
Count As Long:コレクション内のスキーマの数を返す。 Count As Long: Returns the number of schemas in the collection.
パラメータ:Index:コレクション内の所望の項目を示すバリアント型。所望のスキーマのターゲット名前空間を表す文字列型、またはコレクション内の所望のスキーマのインデックスを表す長整数型のどちらかとなる可能性がある。 Parameters: Index: Variant indicating the desired item in the collection. It can be either a string type that represents the target namespace of the desired schema, or a long integer type that represents the index of the desired schema in the collection.
要求されたCustomXMLSchemaをコレクションから返す。このオブジェクトのデフォルトメンバ。 Returns the requested CustomXMLSchema from the collection. The default member for this object.
パラメータ:Index:コレクション内のスキーマのインデックスを表す長整数型。 Parameters: Index: Long integer that represents the index of the schema in the collection.
スキーマコレクションの指定されたメンバのターゲット名前空間を返す。 Returns the target namespace of the specified member of the schema collection.
Validate As Boolean:コレクション内のスキーマが有効か否かを表すブール型を返す。また、これは、インクルード(Include)がコレクション内の各スキーマについてトラバースされ、それらを要求したスキーマに追加するときである。 Validate As Boolean: Returns a Boolean indicating whether the schema in the collection is valid. This is also when the includes are traversed for each schema in the collection and add them to the requested schema.
CustomXMLParts():1組のCustomXMLPartオブジェクトを表すコレクション。 CustomXMLParts (): A collection that represents a set of CustomXMLPart objects.
パラメータ:XML:新たに作成されたCustomXMLPartに追加するためのXMLを表す、任意選択の文字列型。SchemaCollection:このストリームを妥当性検証するために使用しようとするスキーマの組を表す、任意選択のCustomDataSchemaCollection()オブジェクト。 Parameters: XML: An optional string type that represents the XML to add to the newly created CustomXMLPart. SchemaCollection: An optional CustomDataSchemaCollection () object that represents the set of schemas that will be used to validate this stream.
ユーザが、新しいCustomXMLPartをファイルに追加することを可能にする。XMLパラメータ内のXMLが適格でない場合、失敗となり、「コンテンツは、このストリームに追加するためには、有効、適格なXMLでなければなりません」というエラーが出る。ユーザがSchemaCollectionを提供した場合、(まだ妥当性検証されていない場合)それを妥当性検証する。受け取られたMSXML構文解析エラーがあれば、それをOMクライアントに返し、ストリームに追加することが失敗となる。XMLパラメータをDOM内にロードすることができるかどうか検査する。できない場合、失敗となり、「コンテンツは、このストリームに追加するためには、有効、適格なXMLでなければなりません」というエラーが出る。スキーマコレクションをDOMに添付し、インスタンス文書を妥当性検証しようと試みる。妥当性検証されない場合、失敗となり、受け取られたXML構文解析エラーをOMクライアントに返し、ストリームをコレクションに追加しない。 Allows the user to add a new CustomXMLPart to the file. If the XML in the XML parameter is not eligible, it will fail with the error “Content must be valid and qualified XML to be added to this stream”. If the user provided a SchemaCollection, validate it (if not already validated). If there is a received MSXML parsing error, it is returned to the OM client and adding to the stream fails. Check if XML parameters can be loaded into DOM. If not, it fails and the error “Content must be valid and qualified XML to be added to this stream” is generated. Attach the schema collection to the DOM and attempt to validate the instance document. If it is not validated, it fails and returns the received XML parsing error to the OM client and does not add the stream to the collection.
ユーザがSchemaCollectionを提供しない場合、XMLパラメータをDOM内にロードすることができるかどうか検査する。できない場合、失敗となり、「コンテンツは、このストリームに追加するためには、有効、適格なXMLでなければなりません」というエラーが出る。XMLファイル内で参照された名前空間のリストを調べる。これらのスキーマをSLから見出し、それらについてスキーマコレクションを推論する。得られたスキーマコレクションを妥当性検証しようと試みる。妥当性検証されない場合、なおストリームをコレクションに追加するが、どのスキーマコレクションにも関連付けられず、したがって有効にされない。スキーマコレクションをDOMに添付し、インスタンス文書を妥当性検証しようと試みる。妥当性検証されない場合、失敗となり、受け取られたXML構文解析エラーをOMクライアントに返し、ストリームをコレクションに追加しない。妥当性検証されない場合、なおストリームをコレクションに追加するが、どのスキーマコレクションにも関連付けられず、したがって有効にされない。空のSchemaCollectionを提供することは、「このストリームを決して妥当性検証しない」ことを表すためにとられる明示的なアクションとなる。 If the user does not provide a SchemaCollection, check whether the XML parameters can be loaded into the DOM. If not, it fails and the error “Content must be valid and qualified XML to be added to this stream” is generated. Examine the list of namespaces referenced in the XML file. Find these schemas from SL and infer a schema collection for them. Attempts to validate the resulting schema collection. If not validated, the stream is still added to the collection but is not associated with any schema collection and is therefore not validated. Attach the schema collection to the DOM and attempt to validate the instance document. If it is not validated, it fails and returns the received XML parsing error to the OM client and does not add the stream to the collection. If not validated, the stream is still added to the collection but is not associated with any schema collection and is therefore not validated. Providing an empty SchemaCollection is an explicit action taken to represent "never validate this stream".
Count As Long:コレクション内のカスタムデータストリームの数を返す。 Count As Long: Returns the number of custom data streams in the collection.
パラメータ:Index:以下の2つのタイプのうちの1つ、すなわち、コレクション内の所望のCustomXMLPartのインデックスを表す長整数型、または、コレクション内の所望のCustomXMLPartのルート名前空間を表す文字列型とすることができるバリアント型。複数の部分がこのルート名前空間に合致した場合、インデックス順で最初の合致したものが返されることになる。 Parameters: Index: One of the following two types: a long integer type representing the index of the desired CustomXMLPart in the collection, or a string type representing the root namespace of the desired CustomXMLPart in the collection. Variant type that can. If multiple parts match this root namespace, the first match in index order will be returned.
これはCustomXMLPartsオブジェクトのデフォルトメンバであり、要求されたオブジェクトに対応するCustomXMLPartオブジェクトを返す。 This is the default member of the CustomXMLParts object and returns the CustomXMLPart object corresponding to the requested object.
パラメータ:ID:コレクションから返されるべきデータストア項目用のIDを含む文字列型。 Parameters: ID: A string type containing the ID for the data store item to be returned from the collection.
開発者が、その特定の項目を、そのIDを使用してデータストアから入手する(grab)ことを可能にする。このIDを有するストア項目が存在しない場合、Nothingを返す。 Allows the developer to grab that particular item from the data store using its ID. If there is no store item with this ID, Nothing is returned.
パラメータ:NamespaceURI:データストアのコレクションからの所望の項目のルート名前空間を表す文字列型。 Parameters: NamespaceURI: A string type representing the root namespace of the desired item from the data store collection.
要求されたエントリにルート名前空間が合致するデータストア項目のすべてを返す。このルート名前空間を有するストリームが存在しない場合、空のCustomXMLParts()コレクションを返す。 Returns all datastore items whose root namespace matches the requested entry. If there is no stream with this root namespace, an empty CustomXMLParts () collection is returned.
パラメータ:NewStream:ちょうど追加されたストリームを含むCustomXMLPartオブジェクト。 Parameters: NewStream: A CustomXMLPart object containing the stream just added.
このイベントは、新しいストリームがデータストアに追加されるときいつでも起こる。複数のストリームが追加される場合、このイベントは、各新しいストリームについて1回起こる。ストリームが(適切な.Addメソッドを使用して)XMLコンテンツと共に追加された場合には、このイベントは、その項目がこのコンテンツで占有されるまで起こらないであろう。 This event occurs whenever a new stream is added to the data store. If multiple streams are added, this event occurs once for each new stream. If a stream is added with XML content (using the appropriate .Add method), this event will not occur until the item is occupied with this content.
パラメータ:OldStream:データストアから削除しようとするストリームを含むCustomXMLPartオブジェクト。 Parameters: OldStream: A CustomXMLPart object containing the stream to be deleted from the data store.
このイベントは、ストリームがデータストアから除去されるときいつでも起こる。複数のストリームが削除される場合、このイベントは、削除された各ストリームについて1回起こる。また、このストリームを「削除予定」としてフラグし、その結果、それに対する読出し専用オペレーション(たとえば、ノードに対するクエリ、値の検査など)は有効であるが、書込みオペレーションは、「このオペレーションは、削除しようとするストリームに対して実行することができません」というエラーメッセージと共に失敗となる。 This event occurs whenever a stream is removed from the data store. If multiple streams are deleted, this event occurs once for each deleted stream. Also, this stream is flagged as “scheduled for deletion” so that read-only operations on it are valid (eg, querying nodes, checking values, etc.), but write operations are It fails with the error message "Cannot execute on the stream."
CustomXMLPart:データストア内の単一のXMLストリームを表すオブジェクト。 CustomXMLPart: An object that represents a single XML stream in the data store.
パラメータ:Name:XML DOMに追加しようとするノードのベース名を表す文字列型。Namespace:XML DOMに追加しようとするノードの名前空間を表す、任意選択の文字列型。msoCustomXMLNodeElementまたはmsoCustomXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。Parent:このノードをその下に追加すべきノードを表すCustomXMLNode。属性を追加する場合、その属性を追加すべき要素を示す。NextSibling:新しいノードの隣の兄弟になるべきノードを表す、任意選択のCustomXMLNode。指定されない場合、そのノードは、親ノードの子の端部に追加される。msoXMLNodeAttributeタイプの追加について無視される。NextSiblingが親の子でない場合、「このノードは、隣の兄弟ノードが親ノードの子でないため、追加できません」というエラーを返す。NodeType:作成するノードのタイプを指定する、任意選択のmsoCustomXMLNodeType。指定されない場合には、msoCustomXMLNodeElementと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。 Parameters: Name: A string type representing the base name of the node to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the node to be added to the XML DOM. Required to add a node of type msoCustomXMLNodeElement or msoCustomXMLNodeAttribute, ignored otherwise. Parent: CustomXMLNode that represents the node under which this node should be added. When an attribute is added, the element to which the attribute is to be added is indicated. NextSibling: An optional CustomXMLNode that represents the node that should be the next sibling of the new node. If not specified, the node is added to the child end of the parent node. Ignored for adding msoXMLNodeAttribute type. If NextSibling is not a child of the parent, the error "This node cannot be added because the next sibling node is not a child of the parent node" is returned. NodeType: An optional msoCustomXMLNodeType that specifies the type of node to create. If not specified, msoCustomXMLNodeElement is assumed. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text.
XMLノードをデータストア項目に追加するためのジェネリックメソッド。親が必要とされ、NodeTypeのデフォルトはmsoXMLNodeElementである。行われる追加が構造的に無効となる場合、「このオペレーションは、構造的に無効なデータストリームを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。名前空間がスキーマ参照コレクション内にない場合、失敗となり、「この要素を追加するためには、最初にそのスキーマをデータストリームに添付しなければなりません」というエラーメッセージを提供する。 Generic method for adding an XML node to a data store item. A parent is required and NodeType defaults to msoXMLNodeElement. If the addition made is structurally invalid, it fails with the error message “This operation cannot be performed because it causes a structurally invalid data stream”. If the namespace is not in the schema reference collection, it fails and provides the error message "To add this element, you must first attach the schema to the data stream".
DocumentElement As CustomXMLNode
ストリームのルート要素を得る。ストリームが空である場合、Nothingを返す。
DocumentElement As CustomXMLNode
Get the root element of the stream. Returns Nothing if the stream is empty.
Delete As Void:現在のCustomXMLPartをデータストアから削除する。ユーザがコアプロパティ部を削除しようと試みた場合、「このカスタムXML部分は、Officeが適正に機能するために必要とされ、削除することができません」と共に失敗となる。 Delete As Void: Deletes the current CustomXMLPart from the data store. If the user attempts to delete the core property part, it fails with "This custom XML part is required for Office to function properly and cannot be deleted".
ID As String:現在のCustomXMLPartに割り当てられたGUIDを含む文字列を返す。 ID As String: Returns a string containing the GUID assigned to the current CustomXMLPart.
パラメータ:FilePath:このCustomXMLPartのためのXMLをそこからロードすべきユーザの機械(またはネットワークなど)上のファイルに対応する文字列型オブジェクト。 Parameters: FilePath: String object corresponding to a file on the user's machine (or network, etc.) from which the XML for this CustomXMLPart should be loaded.
テンプレート著者が、その機械上の先に存在するファイルからCustomXMLPartを投入することを可能にする。ロードに成功した場合、真を返し、成功しなかった場合(構造エンフォースメントがオンであり、XMLが構造的に無効である場合、またはXMLが有効および/または適格でなかった場合を含む)、偽を返す。DOMがロードされた後、「このDOMは、2回ロードすることができません」と共に失敗となる。 Allows template authors to populate CustomXMLPart from a pre-existing file on the machine. Returns true if load succeeds, fails if unsuccessful (including if structure enforcement is on and XML is structurally invalid, or if XML is not valid and / or eligible) Return false. After the DOM is loaded, it fails with "This DOM cannot be loaded twice".
パラメータ:XML:このCustomXMLPartを共にロードすべきXMLに対応する文字列型オブジェクト。 Parameters: XML: A string type object corresponding to XML to which this CustomXMLPart should be loaded together.
テンプレート著者が、XMLの文字列からCustomXMLPartを投入することを可能にする。ロードに成功した場合、真を返し、成功しなかった場合(構造エンフォースメントがオンであり、XMLが構造的に無効である場合、またはXMLが有効および/または適格でなかった場合を含む)、偽を返す。DOMがロードされた後、「このDOMは、2回ロードすることができません」と共に失敗となる。 Allows a template author to populate a CustomXMLPart from an XML string. Returns true if load succeeds, fails if unsuccessful (including if structure enforcement is on and XML is structurally invalid, or if XML is not valid and / or eligible) Return false. After the DOM is loaded, it fails with "This DOM cannot be loaded twice".
NamespaceURI As String:現在のCustomXMLPartのルートノードについて完全な名前空間URIを含む文字列を返す。ストリームが空である(作成されたがノードが追加されない)場合、“”を返す。 NamespaceURI As String: Returns a string containing the complete namespace URI for the current CustomXMLPart root node. Returns “” if the stream is empty (created but no nodes added).
SchemaCollection As CustomXMLSchemaCollection():このストリームに添付されたスキーマの組を表すCustomXMLSchemaCollection()コレクションを得る/設定する。ユーザがSchemaCollectionを提供した場合、(まだ妥当性検証されていない場合)妥当性検証する。受け取られた構文解析エラーがあれば、それをクライアントに返し、ストリームに追加することが失敗となり、スキーマコレクションをDOMに添付し、インスタンス文書を妥当性検証しようと試みる。妥当性検証されない場合、失敗となり、受け取られた構文解析エラーをクライアントに返し、ストリーム上でスキーマコレクションを変更しない。 SchemaCollection As CustomXMLSchemaCollection (): Get / set the CustomXMLSchemaCollection () collection that represents the set of schemas attached to this stream. If the user provided a SchemaCollection, validate it (if not already validated). If any parsing errors are received, return them to the client, failing to add to the stream, attach the schema collection to the DOM, and attempt to validate the instance document. If it is not validated, it fails and returns the received parsing error to the client and does not change the schema collection on the stream.
現在のCustomXMLPartに反して使用される名前空間プレフィックスマッピングの組を得る。文書がオープンであるとき、これは、データストア項目に埋め込まれたプレフィックスマッピングのコンテンツで自動的に占有されるが、テンプレート著者が編集/追加/削除することができる。しかし、一実施形態によれば、このパラメータに対する変更は、文書と共に保存されない。 Get the set of namespace prefix mappings used against the current CustomXMLPart. When a document is open, it is automatically populated with prefix mapping content embedded in the data store item, but can be edited / added / deleted by the template author. However, according to one embodiment, changes to this parameter are not saved with the document.
パラメータ:XPath:DOMと突き合わせて評価するためのXPath式を含む文字列型。このXPathに関するプレフィックスマッピングは、関連する名前空間マネージャから取り出される。XPathが解決されない場合、どんなエラーが生成されたとしても通過する。 Parameters: XPath: A string type containing an XPath expression to be evaluated against DOM. The prefix mapping for this XPath is retrieved from the associated namespace manager. If XPath is not resolved, it will pass whatever error is generated.
このメソッドは、開発者がDOM内から1組のノードを取り戻すことを可能にする。 This method allows the developer to get back a set of nodes from within the DOM.
パラメータ:XPath:DOMと突き合わせて評価するためのXPath式を含む文字列型。このXPathに関するプレフィックスマッピングは、関連する名前空間マネージャから取り出される。XPathが解決されない場合、どんなエラーが生成されたとしても通過する。 Parameters: XPath: A string type containing an XPath expression to be evaluated against DOM. The prefix mapping for this XPath is retrieved from the associated namespace manager. If XPath is not resolved, it will pass whatever error is generated.
このメソッドは、開発者がDOM内から単一のノードを取り戻すことを可能にする。 This method allows the developer to get back a single node from within the DOM.
XML As String:現在のCustomXMLPartのXML表現を返す。 XML As String: Returns the XML representation of the current CustomXMLPart.
パラメータ:NewNode:CustomXMLPartにちょうど追加されたノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書にちょうど追加された場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: NewNode: CustomXMLNode object corresponding to the node just added to CustomXMLPart. Note: This node can have children (if the subtree was just added to the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードが現在の文書に追加されようとするときいつでも起こる。この追加オペレーションが、XML文書のサブツリーがCustomXMLPart内に追加されることを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is about to be added to the current document. If this add operation involves adding a sub-tree of the XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
パラメータ:OldNode:CustomXMLPartからちょうど除去されたノードに対応するCustomXMLNodeオブジェクト。注1:このノードは、(サブツリーが文書から除去されつつある場合)子を有することができる。注2:このノードは、クエリをノードから下に行うことができるが上がることができず、単独で存在するように見える点で、「切断された」ノードとなる(すなわち、同じOwnerStreamを有する文書要素である)。OldParentNode:OldNodeの以前の親ノードに対応するCustomXMLNodeオブジェクト。OldNextSibling:OldNodeの以前の隣の兄弟に対応するCustomXMLNodeオブジェクト。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: OldNode: CustomXMLNode object corresponding to the node just removed from CustomXMLPart. Note 1: This node can have children (if the subtree is being removed from the document). Note 2: This node is a “disconnected” node in that it can be queried down from the node but cannot go up and appears to exist alone (ie, a document with the same OwnerStream) Element). OldParentNode: A CustomXMLNode object corresponding to the previous parent node of OldNode. OldNextSibling: A CustomXMLNode object corresponding to the previous next sibling of OldNode. InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードがデータストア内の現在の項目から削除されるときいつでも起こる。この削除オペレーションが、CustomXMLPart内のXML文書のサブツリーを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is deleted from the current item in the data store. If this delete operation involves a subtree of an XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
パラメータ:OldNode:CustomXMLPartからちょうど除去されたノードに対応するCustomXMLNodeオブジェクト。注1:このノードは、(サブツリーが文書から除去されつつある場合)子を有することができる。注2:このノードは、クエリをノードから下に行うことができるが上がることができず、単独で存在するように見える点で、「切断された」ノードとなる(すなわち、同じOwnerStreamを有する文書要素である)。NewNode:CustomXMLPartにちょうど追加されたノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書にちょうど追加された場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: OldNode: CustomXMLNode object corresponding to the node just removed from CustomXMLPart. Note 1: This node can have children (if the subtree is being removed from the document). Note 2: This node is a “disconnected” node in that it can be queried down from the node but cannot go up and appears to exist alone (ie, a document with the same OwnerStream) Element). NewNode: CustomXMLNode object corresponding to the node just added to CustomXMLPart. Note: This node can have children (if the subtree was just added to the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードがデータストア内で置換されるときいつでも起こる。この置換オペレーションが、CustomXMLPart内のXML文書のサブツリーを含む場合、このイベントは、その変更における最高位のノードについて1回起こされる。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is replaced in the data store. If this replace operation involves a subtree of an XML document in CustomXMLPart, this event is raised once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
CustomXMLNodes():現在の文書内の1組のCustomXMLNodeオブジェクトを表すコレクション。 CustomXMLNodes (): A collection that represents a set of CustomXMLNode objects in the current document.
Count As Long:コレクション内のCustomXMLNodeの数を返す。 Count As Long: Returns the number of CustomXMLNodes in the collection.
パラメータ:Index:コレクション内の所望のCustomXMLNodeのインデックスを表す長整数型。 Parameters: Index: A long integer that represents the index of the desired CustomXMLNode in the collection.
これはCustomXMLNodesオブジェクトのデフォルトメンバであり、コレクション内の要求された項目に対応するCustomXMLNodeオブジェクトを返す。 This is the default member of the CustomXMLNodes object and returns the CustomXMLNode object corresponding to the requested item in the collection.
パラメータ:Name:XML DOMに追加しようとする要素のベース名を表す、任意選択の文字列型。Namespace:XML DOMに追加しようとする要素の名前空間を表す、任意選択の文字列型。msoCustomXMLNodeElementまたはmsoCustomXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。NodeType:作成するノードのタイプを指定する、任意選択のmsoCustomXMLNodeType。指定されない場合、msoCustomXMLNodeElementと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。 Parameters: Name: An optional string type that represents the base name of the element to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the element to be added to the XML DOM. Required to add a node of type msoCustomXMLNodeElement or msoCustomXMLNodeAttribute, ignored otherwise. NodeType: An optional msoCustomXMLNodeType that specifies the type of node to create. If not specified, msoCustomXMLNodeElement is assumed. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text.
コンテキストノードがmsoXMLNodeElementタイプのものである場合、開発者が、単一のノードをツリー内のコンテキスト要素の下に最後の子として追加することを可能にする。そうでない場合には、このメソッドは、「コメント、処理命令、または属性に子を添付することはできません」というエラーと共に失敗となる。また、追加されることになるノードが、すでに存在する属性である場合があれば、それを阻止する。すなわち、「すでに同じ名前の属性が現在の要素上に存在します。」 If the context node is of type msoXMLNodeElement, it allows the developer to add a single node as the last child under the context element in the tree. Otherwise, this method fails with the error "Cannot attach a child to a comment, processing instruction, or attribute". Also, if there is a case where the node to be added has an attribute that already exists, it is blocked. That is, "An attribute with the same name already exists on the current element."
パラメータ:XML:XML DOMに追加するためのサブツリーを表す文字列型。このXMLは、(名前空間宣言、単一のルートノードなどを含めて)適格なXML文書でなければならない。そうでない場合、「XMLサブツリーを文書に追加するためには、有効、適格なXMLを含まなければなりません」というエラーと共に失敗となる。 Parameters: XML: A string type representing a subtree to be added to the XML DOM. This XML must be a valid XML document (including namespace declaration, single root node, etc.). Otherwise, it fails with the error “In order to add an XML subtree to a document, it must contain valid and eligible XML”.
コンテキストノードがmsoXMLNodeElementタイプのものである場合、開発者が、既存の適格なXMLサブツリーをDOM内のコンテキスト要素の下に最後の子として追加することを可能にする。そうでない場合には、このメソッドは、「コメント、処理命令、または属性に子を添付することはできません」というエラーと共に失敗となる。 If the context node is of type msoXMLNodeElement, it allows the developer to add an existing eligible XML subtree as the last child under the context element in the DOM. Otherwise, this method fails with the error "Cannot attach a child to a comment, processing instruction, or attribute".
Attributes As CustomXMLNodes():現在の要素上の属性を表すCustomXMLNodesコレクションを返す。 Attributes As CustomXMLNodes (): Returns a CustomXMLNodes collection that represents the attributes on the current element.
BaseName As String:これは、CustomXMLNodeのデフォルトメンバである。DOM内に存在する場合、ノードのベース名を名前空間プレフィックスなしで返す。 BaseName As String: This is the default member of CustomXMLNode. If present in the DOM, returns the base name of the node without a namespace prefix.
ChildNodes As CustomXMLNodes:現在のノードの子である要素のすべてを含むCustomXMLNodesコレクションを返す。 ChildNodes As CustomXMLNodes: Returns a CustomXMLNodes collection that contains all of the elements that are children of the current node.
Delete As Void:現在のノードを(その子があれば、そのすべてを含めて)XML DOMから削除する。行われる削除が構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Delete As Void: Deletes the current node from the XML DOM (including all of its children, if any). If the deletion to be made is structurally invalid, it fails with the error message "This operation cannot be performed because it causes a structurally invalid DOM".
FirstChild As CustomXMLNode:現在のノードの第1の子要素に対応するCustomXMLNodeオブジェクトを返す。ノードに要素の子がない場合(または、それ自体msoCustomXMLNodeElementタイプのものでない場合)、Nothingを返す。 FirstChild As CustomXMLNode: Returns a CustomXMLNode object corresponding to the first child element of the current node. Returns Nothing if the node has no element children (or is not itself of type msoCustomXMLNodeElement).
HasChildNodes As Boolean:現在のノードが子要素ノードを有する場合、真であり、そうでない場合には偽であるブール型を返す。これは、CustomXMLNodeがNodeType msoCustomXMLNodeElementでないとき偽を返すことになる。 HasChildNodes As Boolean: Returns a Boolean that is true if the current node has child element nodes, and false otherwise. This will return false if CustomXMLNode is not a NodeType msoCustomXMLNodeElement.
パラメータ:Name:XML DOMに追加しようとする要素のベース名を表す文字列型。Namespace:XML DOMに追加しようとする要素の名前空間を表す、任意選択の文字列型。msoCustomXMLNodeElementまたはmsoCustomXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。NodeType:作成するノードのタイプを指定する、任意選択のmsoCustomXMLNodeType。指定されない場合、msoCustomXMLNodeElementと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。NextSibling:新しいXML要素をその前でツリーに追加すべきノードを指定する、任意選択のCustomXMLNodeオブジェクト。 Parameters: Name: A string type representing the base name of the element to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the element to be added to the XML DOM. Required to add a node of type msoCustomXMLNodeElement or msoCustomXMLNodeAttribute, ignored otherwise. NodeType: An optional msoCustomXMLNodeType that specifies the type of node to create. If not specified, msoCustomXMLNodeElement is assumed. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text. NextSibling: An optional CustomXMLNode object that specifies the node to which the new XML element should be added to the tree before.
新しい子ノードを、指定されたロケーションでツリーに挿入する。msoCustomXMLNodeElement、msoCustomXMLNodeComment、またはmsoCustomXMLNodeProcessingInstructionタイプのノードを追加するときBeforeNodeがない場合、そのノードは、リストの端部に追加される。msoCustomXMLNodeAttributeタイプについて追加される場合、無視される。NextSiblingがコンテキストノードの子でない場合には、このメソッドは、「このXMLノードは、隣の兄弟要素がコンテキスト要素の子でなければならないため、追加することができません」というエラーと共に失敗となる。行われる追加が構造的に無効となる(また、スキーマエンフォースメントがオンにされる)場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。また、追加されることになるノードが、すでに存在する属性である場合があれば、それを阻止する。すなわち、「すでに同じ名前の属性が現在の要素上に存在します」。 Inserts a new child node into the tree at the specified location. If there is no BeforeNode when adding a node of type msoCustomXMLNodeElement, msoCustomXMLNodeComment, or msoCustomXMLNodeProcessingInstruction, the node is added to the end of the list. Ignored if added for the msoCustomXMLNodeAttribute type. If NextSibling is not a child of the context node, this method fails with the error "This XML node cannot be added because the next sibling element must be a child of the context element". If the addition made is structurally invalid (and schema enforcement is turned on) with the error message "This operation cannot be performed because it causes a structurally invalid DOM" It will be a failure. Also, if there is a case where the node to be added has an attribute that already exists, it is blocked. That is, "An attribute with the same name already exists on the current element".
パラメータ:XML:XML DOMに追加するためのサブツリーを表す文字列型。このXMLは、(名前空間宣言、単一のルートノードなどを含めて)適格なXML文書でなければならない。そうでない場合、「XMLサブツリーを文書に追加するためには、有効、適格なXMLを含まなければなりません」というエラーと共に失敗となる。NextSibling:新しいXML要素をその前でツリーに追加すべきノードを指定する、任意選択のCustomXMLNodeオブジェクト。 Parameters: XML: A string type representing a subtree to be added to the XML DOM. This XML must be a valid XML document (including namespace declaration, single root node, etc.). Otherwise, it fails with the error “In order to add an XML subtree to a document, it must contain valid and eligible XML”. NextSibling: An optional CustomXMLNode object that specifies the node to which the new XML element should be added to the tree before.
指定されたXMLサブツリーを、指定されたロケーションで子ノードセットに挿入する。NextSiblingがコンテキストノードの子でない場合には、このメソッドは、「このXMLノードは、隣の兄弟がコンテキスト要素の子でなければならないため、追加することができません」と共に失敗となる。行われる追加が構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Inserts the specified XML subtree into the child node set at the specified location. If NextSibling is not a child of the context node, this method fails with "This XML node cannot be added because the next sibling must be a child of the context element". If the addition made is structurally invalid, it fails with the error message "This operation cannot be performed because it causes a structurally invalid DOM".
LastChild As CustomXMLNode:現在のノードの最後の子要素に対応するCustomXMLNodeオブジェクトを返す。ノードに要素の子がない場合(または、それ自体msoCustomXMLNodeElementタイプのものでない場合)、Nothingを返す。 LastChild As CustomXMLNode: Returns a CustomXMLNode object corresponding to the last child element of the current node. Returns Nothing if the node has no element children (or is not itself of type msoCustomXMLNodeElement).
現在のノードの名前空間に対応する文字列型を返す。ノードがmsoCustomXMLNodeComment msoCustomXMLNodeProcessingInstructionタイプのものである場合、“”を返す。 Returns a string type corresponding to the current node namespace. If the node is of the msoCustomXMLNodeComment msoCustomXMLNodeProcessingInstruction type, “” is returned.
NextSibling As CustomXMLNode:現在のノードの隣の兄弟ノード(要素、コメント、または処理命令)を返す。ノードがそのレベルで最後の兄弟である場合、Nothingを返す。 NextSibling As CustomXMLNode: Returns the sibling node (element, comment, or processing instruction) next to the current node. Returns Nothing if the node is the last sibling at that level.
NodeType As msoCustomXMLNodeType:現在のノードのタイプを表すmsoCustomXMLNodeType定数を返す。 NodeType As msoCustomXMLNodeType: Returns an msoCustomXMLNodeType constant representing the current node type.
NodeValue As String:テキスト(すなわち、テキストノード、コメント、処理命令、属性)だけを含むノードの内部のテキストを得る/設定する。要素については、「要素ノードに対してNodeValueパラメータを設定することはできません」と共に失敗となる。 NodeValue As String: Get / set the text inside a node that contains only text (ie, text nodes, comments, processing instructions, attributes). For elements, it fails with "Cannot set NodeValue parameter for element node".
OwnerDocument As Variant:このノードに関連付けられたWord文書を表すDocument/Workbook/Presentationオブジェクトを返す。 OwnerDocument As Variant: Returns a Document / Workbook / Presentation object representing the Word document associated with this node.
OwnerStream As CustomXMLPart:このノードに関連付けられたデータストア項目を表すCustomXMLPartオブジェクトを返す。 OwnerStream As CustomXMLPart: Returns a CustomXMLPart object representing the data store item associated with this node.
PreviousSibling As CustomXMLNode:現在のノードの以前の兄弟ノード(要素、コメント、または処理命令)を返す。ノードがそのレベルで最初の兄弟である場合、Nothingを返す。 PreviousSibling As CustomXMLNode: Returns the previous sibling node (element, comment, or processing instruction) of the current node. Returns Nothing if the node is the first sibling at that level.
ParentNode As CustomXMLNode:現在のノードの親要素ノードを返す。ノードがルートレベルにある場合、Nothingを返す。 ParentNode As CustomXMLNode: Returns the parent element node of the current node. Returns Nothing if the node is at the root level.
パラメータ:Child:削除しようとするコンテキストノードの子ノードを表すCustomXMLNodeオブジェクト。このノードがコンテキストノードの子でない場合、「このノードは、現在の要素の子でないため、削除することができません」というエラーメッセージと共に失敗となる。 Parameters: Child: CustomXMLNode object representing the child node of the context node to be deleted. If this node is not a child of the context node, it fails with the error message "This node cannot be deleted because it is not a child of the current element".
指定された子ノードをストリームから除去する。得られるDOMが構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Removes the specified child node from the stream. If the resulting DOM is structurally invalid, it fails with the error message “This operation cannot be performed because it causes a structurally invalid DOM”.
パラメータ:OldNode:置換しようとする子ノードを表すCustomXMLNode。Name:XML DOMに追加しようとする要素のベース名を表す文字列型。Namespace:XML DOMに追加しようとする要素の名前空間を表す、任意選択の文字列型。msoCustomXMLNodeElementまたはmsoCustomXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。NodeType:作成するノードのタイプを指定する、任意選択のmsoCustomXMLNodeType。指定されない場合、msoCustomXMLNodeElementと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。 Parameters: OldNode: CustomXMLNode representing the child node to be replaced. Name: A string type representing the base name of the element to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the element to be added to the XML DOM. Required to add a node of type msoCustomXMLNodeElement or msoCustomXMLNodeAttribute, ignored otherwise. NodeType: An optional msoCustomXMLNodeType that specifies the type of node to create. If not specified, msoCustomXMLNodeElement is assumed. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text.
指定された子ノード(およびそのサブツリー)をストリームから除去し、同じロケーション内で指定されたノードと置換する。OldNodeがコンテキストノードの子でない場合、「OldNodeは、現在のノードの子でなければなりません」というエラーメッセージと共に失敗となる。行われる置換が構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。また、追加されることになるノードが、すでに存在する属性である場合があれば、それを阻止する。すなわち、「すでに同じ名前の属性が現在の要素上に存在します。」 Removes the specified child node (and its subtree) from the stream and replaces it with the specified node in the same location. If OldNode is not a child of the context node, it fails with the error message "OldNode must be a child of the current node". If the replacement made is structurally invalid, it fails with the error message "This operation cannot be performed because it causes a structurally invalid DOM". Also, if there is a case where the node to be added has an attribute that already exists, it is blocked. That is, "An attribute with the same name already exists on the current element."
パラメータ:OldNode:置換しようとする子ノードを表すCustomXMLNode。XML:XML DOMに追加するためのサブツリーを表す文字列型。このXMLは、(名前空間宣言、単一のルートノードなどを含めて)適格なXML文書でなければならない。そうでない場合、「XMLサブツリーを文書に追加するためには、有効、適格なXMLを含まなければなりません」というエラーと共に失敗となる。 Parameters: OldNode: CustomXMLNode representing the child node to be replaced. XML: A string type that represents a subtree to add to the XML DOM. This XML must be a valid XML document (including namespace declaration, single root node, etc.). Otherwise, it fails with the error “In order to add an XML subtree to a document, it must contain valid and eligible XML”.
指定された子ノード(およびそのサブツリー)をストリームから除去し、同じロケーション内で指定されたXMLサブツリーと置換する。OldNodeがコンテキストノードの子でない場合、「OldNodeは、現在のノードの子でなければなりません」というエラーメッセージと共に失敗となる。行われる置換が構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Removes the specified child node (and its subtree) from the stream and replaces it with the specified XML subtree in the same location. If OldNode is not a child of the context node, it fails with the error message "OldNode must be a child of the current node". If the replacement made is structurally invalid, it fails with the error message "This operation cannot be performed because it causes a structurally invalid DOM".
パラメータ:XPath:DOMと突き合わせて評価するためのXPath式を含む文字列型。このXPathに関するプレフィックスマッピングは、NamespaceManagerプロパティから取り出される。XPathが解決されない場合、(埋込みXMLを有する本日のDocumentオブジェクトに対するメソッドに従って)どんなエラーが存在したとしても通過する。 Parameters: XPath: A string type containing an XPath expression to be evaluated against DOM. The prefix mapping for this XPath is taken from the NamespaceManager property. If the XPath is not resolved, it passes through whatever error exists (according to the method for today's Document object with embedded XML).
このメソッドは、開発者がデータストア項目内から1組のノードを取り戻すことを可能にする。 This method allows the developer to retrieve a set of nodes from within the data store item.
パラメータ:XPath:DOMと突き合わせて評価するためのXPath式を含む文字列型。このXPathに関するプレフィックスマッピングは、NamespaceManagerプロパティから取り出される。XPathが解決されない場合、(埋込みXMLを有する本日のDocumentオブジェクトに対するメソッドに従って)どんなエラーが存在したとしても通過する。 Parameters: XPath: A string type containing an XPath expression to be evaluated against DOM. The prefix mapping for this XPath is taken from the NamespaceManager property. If the XPath is not resolved, it passes through whatever error exists (according to the method for today's Document object with embedded XML).
このメソッドは、開発者がデータストア項目内から単一のノードを取り戻すことを可能にする。 This method allows the developer to get back a single node from within the data store item.
Text As String:現在のノードについてテキストを得る/設定する。MSXMLと異なり、ノードに対してこれを設定することにより、そのノードのコンテンツが、指定された文字列で置換される−たとえば、fooのコンテンツが次のように見える非リーフ要素<foo>上でそれを「テスト」に設定する。 Text As String: Get / set the text for the current node. Unlike MSXML, setting this for a node replaces that node's content with the specified string-for example, on a non-leaf element <foo> where the content of foo looks like this: Set it to "test".
失敗とはならないが、内部ではデータストアに対して、また外部ではデータストアのクライアントに対してメッセージが異なることになる。行われる置換が構造的に無効となる場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Although not a failure, the message will be different for the data store internally and for the client of the data store externally. If the replacement made is structurally invalid, it fails with the error message "This operation cannot be performed because it causes a structurally invalid DOM".
XML As String:現在のノードおよび(あれば)その子の生のXML表現を返す。 XML As String: Returns the raw XML representation of the current node and its children (if any).
XPath As String:現在のノードについて正規化されたXPathを有する文字列型を返す。ノードがもはやDOM内にない(削除されている)場合、「このノードは、関連するカスタムXML部分から削除されています」と共に失敗となる。 XPath As String: Returns a string type with the XPath normalized for the current node. If the node is no longer in the DOM (it has been deleted), it fails with "This node has been deleted from the associated custom XML part".
New Enums:
msoCustomXMLDataNodeTypeは、使用可能なXMLノードのタイプを表す。msoCustomXMLNodeAttributeは、XML属性ノードを表す。msoCustomXMLNodeCDataは、CDATAノードを表す。msoCustomXMLNodeCommentは、XMLコメントノードを表す。msoCustomXMLNodeDocumentは、XML文書(/)ノードを表す。msoCustomXMLNodeElementは、XML要素ノードを表す。msoCustomXMLNodeProcessingInstructionは、XML処理命令ノードを表す。msoCustomXMLNodeTextは、テキストノードを表す。
New Enums:
msoCustomXMLDataNodeType represents the type of XML node that can be used. msoCustomXMLNodeAttribute represents an XML attribute node. msoCustomXMLNodeCData represents a CDATA node. msoCustomXMLNodeComment represents an XML comment node. msoCustomXMLNodeDocument represents an XML document (/) node. msoCustomXMLNodeElement represents an XML element node. msoCustomXMLNodeProcessingInstruction represents an XML processing instruction node. msoCustomXMLNodeText represents a text node.
パラメータ:Child:削除しようとするコンテキストノードの子ノードを表すCustomXMLNodeオブジェクト。このノードがコンテキストノードの子でない場合、「このノードは、現在の要素の子でないため、削除することができません」というエラーメッセージと共に失敗となる。Name:XML DOMに追加しようとする要素のベース名を表す文字列型。Namespace:XML DOMに追加しようとする要素の名前空間を表す、任意選択の文字列型。msoXMLNodeElementまたはmsoXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。NodeType:作成するノードのタイプを指定する、任意選択のmsoXMLNodeType。指定されない場合、msoXMLNodeElementと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。 Parameters: Child: CustomXMLNode object representing the child node of the context node to be deleted. If this node is not a child of the context node, it fails with the error message "This node cannot be deleted because it is not a child of the current element". Name: A string type representing the base name of the element to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the element to be added to the XML DOM. Required to add a node of type msoXMLNodeElement or msoXMLNodeAttribute, ignored otherwise. NodeType: An optional msoXMLNodeType that specifies the type of node to create. If not specified, msoXMLNodeElement is assumed. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text.
指定された子ノード(およびそのサブツリー)をストリームから除去し、同じロケーション内で指定されたノードと置換する。行われる削除が構造的に無効となる(また、スキーマエンフォースメントがオンにされる)場合、「このオペレーションは、構造的に無効なDOMを引き起こすため、実行することができません」というエラーメッセージと共に失敗となる。 Removes the specified child node (and its subtree) from the stream and replaces it with the specified node in the same location. If the delete that is made is structurally invalid (and schema enforcement is turned on) with the error message “This operation cannot be performed because it causes a structurally invalid DOM” It will be a failure.
XMLNamespace:スキーマライブラリ(Schema Library)内の、単一、一意の名前空間を表すオブジェクト。 XMLNamespace: an object that represents a single, unique namespace in a schema library (Schema Library).
パラメータ:CustomXMLPart:所望のストリームについてのCustomXMLPartオブジェクト、またはCustomXMLPartsコレクション内のそのストリームのインデックスとすることができるバリアント型。 Parameters: CustomXMLPart: A CustomXMLPart object for the desired stream, or a variant type that can be the index of that stream in the CustomXMLParts collection.
このXML名前空間についてのスキーマを所与のCustomXMLPartに添付する。 Attach the schema for this XML namespace to a given CustomXMLPart.
XMLSchemaReference:現在の文書内で参照される、単一、一意の名前空間を表すオブジェクト。 XMLSchemaReference: An object that represents a single, unique namespace referenced in the current document.
Delete() As Void:名前空間−ならびにその名前空間内の要素すべて−をCustomXMLPartから除去する。しかし、この場合には、構造スキーマエンフォースメントがイネーブルであり、これらの要素を除去することにより、構造的に無効なDOMが生じるため、データストアは、このオペレーションを拒絶することができる。この場合には、失敗となり、「このオペレーションは、スキーマエンフォースメントがイネーブルである間には、得られるストリームが構造的に無効になるため、実行することができません」というエラーが出る。 Delete () As Void: Removes the namespace-and all elements in that namespace-from CustomXMLPart. However, in this case, the data store can reject this operation because structural schema enforcement is enabled and removing these elements results in a structurally invalid DOM. In this case, it will fail with the error “This operation cannot be performed while schema enforcement is enabled because the resulting stream is structurally invalid”.
パラメータ:Name:XML DOMに追加しようとする要素のベース名を表す文字列型。Namespace:XML DOMに追加しようとする要素の名前空間を表す、任意選択の文字列型。msoXMLNodeElementまたはmsoXMLNodeAttributeタイプのノードを追加するために必要とされ、そうでない場合には無視される。Parent:このノードをその下に追加すべきノードを表す、任意選択のCustomXMLNode。.Attributesプロパティによって返されるCustomXMLNodesコレクションから呼び出された場合には、その属性の親ノードと仮定される。任意の他の場合に呼び出された場合には、このパラメータは、指定され、または「このノードを文書に追加するためには、親ノードを指定しなければなりません」というエラーを返す。NextSibling:新しいノードの隣の兄弟になるべきノードを表す、任意選択のCustomXMLNode。指定されない場合、そのノードは、親ノードの子の端部に追加される。msoXMLNodeAttributeタイプの追加について無視される。NextSiblingが親の子でない場合、「このノードは、隣の兄弟ノードが親ノードの子でないため、追加できません」というエラーを返す。NodeType:作成するノードのタイプを指定する、任意選択のmsoXMLNodeType。指定されない場合には、.Attributesプロパティから呼び出されない限りmsoXMLNodeElementと仮定され、その場合にはmsoXMLNodeAttributeと仮定される。NodeValue:テキストを許す諸ノードについてノードの値を設定するために使用される、任意選択の文字列型。ノードがテキストを許さない場合、このパラメータは無視される。 Parameters: Name: A string type representing the base name of the element to be added to the XML DOM. Namespace: An optional string type that represents the namespace of the element to be added to the XML DOM. Required to add a node of type msoXMLNodeElement or msoXMLNodeAttribute, ignored otherwise. Parent: An optional CustomXMLNode that represents the node under which this node should be added. When called from the CustomXMLNodes collection returned by the .Attributes property, it is assumed to be the parent node of the attribute. If called at any other time, this parameter is specified or returns the error "You must specify a parent node to add this node to the document". NextSibling: An optional CustomXMLNode that represents the node that should be the next sibling of the new node. If not specified, the node is added to the child end of the parent node. Ignored for adding msoXMLNodeAttribute type. If NextSibling is not a child of the parent, the error "This node cannot be added because the next sibling node is not a child of the parent node" is returned. NodeType: An optional msoXMLNodeType that specifies the type of node to create. If not specified, it is assumed to be msoXMLNodeElement unless called from the .Attributes property, in which case it is assumed to be msoXMLNodeAttribute. NodeValue: An optional string type used to set the node value for nodes that allow text. This parameter is ignored if the node does not allow text.
XMLノードをデータストア項目に追加するためのジェネリックメソッド。.Attributesプロパティによって返されるCustomXMLNodesオブジェクトから呼び出された場合には、Parentは、その親ノードのデフォルトを有し、NodeTypeは、msoXMLNodeAttributeのデフォルトを有する。他の場合すべてにおいては、Parentが必要とされ、NodeTypeのデフォルトはmsoXMLNodeElementである。行われる追加が構造的に無効となる(また、スキーマエンフォースメントがオンにされる)場合、「このオペレーションは、構造的に無効なデータストリームを引き起こすため、スキーマエンフォースメントがオンである間、実行することができません」というエラーメッセージと共に失敗となる。名前空間がスキーマ参照コレクション内にない場合、失敗となり、「この要素を追加するためには、最初にそのスキーマをデータストリームに添付しなければなりません」というエラーメッセージ。 Generic method for adding an XML node to a data store item. When called from the CustomXMLNodes object returned by the .Attributes property, Parent has the default for its parent node and NodeType has the default for msoXMLNodeAttribute. In all other cases, Parent is required and NodeType defaults to msoXMLNodeElement. If the additions made are structurally invalid (and schema enforcement is turned on), “This operation causes a structurally invalid data stream, so schema enforcement is on. , "Cannot execute" error message. If the namespace is not in the schema reference collection, it fails with the error message "To add this element, you must first attach the schema to the data stream".
CustomDataXMLSchemaReferences():CustomXMLPart内で識別される一意の名前空間のすべてを表すコレクション。注:デフォルトでは、XMLファイル内で宣言された各名前空間についてのエントリでこれを占有する。 CustomDataXMLSchemaReferences (): A collection that represents all of the unique namespaces identified within CustomXMLPart. Note: By default it occupies an entry for each namespace declared in the XML file.
パラメータ:NamespaceURI:スキーマコレクションに追加しようとするスキーマによって定義される名前空間を含む文字列型。Alias:このスキーマをスキーマライブラリに追加するとき書き込むための別名を含む文字列型。FileName:スキーマライブラリに追加すべきスキーマへのパスを含む文字列型。InstallForAllUsers:スキーマライブラリ(Schema Library)キーをHKCU(デフォルト)に追加すべきか、それともHKLMに追加すべきか判定するブール型。 Parameters: NamespaceURI: A string containing the namespace defined by the schema to be added to the schema collection. Alias: A string type that contains an alias to write when adding this schema to the schema library. FileName: A string type containing the path to the schema that should be added to the schema library. InstallForAllUsers: A Boolean type that determines whether a schema library key should be added to HKCU (default) or HKLM.
このメソッドは、スキーマ参照を追加する。これを行うために、適切な名前空間宣言がファイル内にまだ定義されていない場合、それをCustomXMLPartのルート要素に追加する。オープン時、宣言済みの名前空間すべてが、このコレクションを占有するために使用される。 This method adds a schema reference. To do this, if an appropriate namespace declaration is not already defined in the file, add it to the root element of CustomXMLPart. When opened, all declared namespaces are used to occupy this collection.
EnforceStructure As Boolean:データストアが、関連するCustomXMLPartに対して、そのスキーマに従って構造的な有効性を押し付けるべきかどうかに対応するブール型を得る、また設定する。CustomXMLPartのコンテンツが有効でない間に、ユーザがこのプロパティを真に設定しようと試みた場合、「このデータストリームのコンテンツが構造的に無効である間、スキーマエンフォースメントをオンにすることができません」というエラーを返す。 EnforceStructure As Boolean: Gets and sets a Boolean that corresponds to whether the data store should impose structural validity on the associated CustomXMLPart according to its schema. If the user tries to set this property to true while the CustomXMLPart content is not valid, then "Unable to turn on schema enforcement while the content of this data stream is structurally invalid" Is returned.
Count As Long:このCustomXMLPart内で現在参照されている名前空間の数を返す。 Count As Long: Returns the number of namespaces currently referenced in this CustomXMLPart.
パラメータ:Index:以下の2つのタイプのうちの1つ、すなわち、コレクション内の所望のCustomDataXMLSchemaReferenceのインデックスを表す長整数型、および、コレクション内の所望のCustomDataXMLSchemaReferenceの名前空間を表す文字列型とすることができるバリアント型。 Parameters: Index: One of the following two types: a long integer type that represents the index of the desired CustomDataXMLSchemaReference in the collection, and a string type that represents the namespace of the desired CustomDataXMLSchemaReference in the collection. Variant type that can
これはCustomDataXMLSchemaReferencesオブジェクトのデフォルト数であり、要求されたオブジェクトに対応するXMLSchemaReferenceオブジェクトを返す。 This is the default number of CustomDataXMLSchemaReferences objects and returns an XMLSchemaReference object corresponding to the requested object.
Validate() As Void:このメソッドは、CustomDataXMLSchemaReferencesコレクション内のスキーマすべてに突き合わせてストリーム全体を妥当性検証する。個々のノード上でエラーがレポートされる(ValidationStatusプロパティ参照)。 Validate () As Void: This method validates the entire stream against all the schemas in the CustomDataXMLSchemaReferences collection. Errors are reported on individual nodes (see ValidationStatus property).
パラメータ:NewCustomXMLNode:CustomXMLPartにちょうど追加されたノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書にちょうど追加された場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: NewCustomXMLNode: CustomXMLNode object corresponding to the node just added to CustomXMLPart. Note: This node can have children (if the subtree was just added to the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードが現在の文書に追加されようとするときいつでも起こる。この追加オペレーションが、XML文書のサブツリーがCustomXMLPart内に追加されることを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。 This event occurs whenever an XML node is about to be added to the current document. If this add operation involves adding a sub-tree of the XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event.
パラメータ:OldCustomXMLNode:CustomXMLPartから除去しようとするノードに対応するCustomXMLNodeオブジェクト。注:このノードは、(サブツリーが文書から除去されつつある場合)子を有することができる。InUndoRedo:ノードがユーザによってUndo/Redoアクションの一部として追加された場合、真を返し、そうでない場合には偽を返すブール型。 Parameters: OldCustomXMLNode: CustomXMLNode object corresponding to the node to be removed from CustomXMLPart. Note: This node can have children (if the subtree is being removed from the document). InUndoRedo: A Boolean that returns true if the node was added by the user as part of an Undo / Redo action and false otherwise.
このイベントは、XMLノードがデータストア内の現在の項目から削除されるときいつでも起こる。この削除オペレーションが、CustomXMLPart内のXML文書のサブツリーを含む場合、このイベントをその変更における最高位のノードについて1回起こす。このイベントは、データストアにメッセージされる各変更について1回起こり、その結果、このイベントによって表される変更の副作用もまた、そのイベントをトリガする。イベントハンドラが、このノードの下にある何らかのものを修正しようと試みた場合、「このノードは削除されようとしているため、この変更は許されません」というエラーメッセージと共に失敗となる。 This event occurs whenever an XML node is deleted from the current item in the data store. If this delete operation involves a subtree of an XML document in CustomXMLPart, raise this event once for the highest node in the change. This event occurs once for each change messaged to the data store, so that the side effects of the change represented by this event also trigger that event. If the event handler attempts to modify anything under this node, it fails with the error message "This node is about to be deleted, so this change is not allowed".
上記の仕様、例、およびデータは、本発明の構成の製造および使用について完全に述べている。本発明の多数の実施形態は、本発明の精神および範囲から逸脱することなしに成すことができるため、本発明は、以下に添付されている特許請求の範囲内にある。 The above specifications, examples and data fully describe the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (18)
文書に関連付けられる構造化データ項目を、前記文書用の文書データとは別々に維持されるデータストア内に格納する工程と、
ここで、前記文書データは、前記文書を表示する主プリゼンテーションを定義し、前記構造化データ項目は、拡張マークアップ言語によって表され、前記構造化データ項目は、前記文書用のメタデータであり、前記構造化データ項目は、該構造化データ項目が前記データストアから除去されるまで前記文書に関連付けられたままであり、
複数の異なるデータコンシューミングアプリケーションの各々によって前記構造化データ項目に対するプログラム的なアクセスを可能にするために、アプリケーションプログラミングインターフェース(API)が前記複数のデータコンシューミングアプリケーションに公開されるように、前記構造化データをフォーマットする工程と
ここで、前記文書が編集のためにオープンである間、および前記文書が編集のためにクローズされているとき、前記アプリケーションプログラミングインターフェース(API)の実行が、前記データストア内の前記構造化データ項目にアクセスする能力を提供し、前記複数のデータコンシューミングアプリケーションによる前記構造化データ項目に対する前記プログラム的なアクセスを可能にする前記アプリケーションプログラミングインターフェース(API)は、該複数のデータコンシューミングアプリケーションが同時に同じ構造化データ項目にアクセスすることを可能にし、前記アプリケーションプログラミングインターフェース(API)は、前記複数のデータコンシューミングアプリケーションのいずれかが、前記データストア内に前記構造化データ項目を格納することを可能にし、
変更の通知のために前記複数のデータコンシューミングアプリケーションによる登録をするステップと、
前記アプリケーションプログラミングインターフェース(API)を使用して、前記構造化データ項目の1つに変更がいつ加えられたか判定する工程と、
変更が加えられたとき、前記登録されているデータコンシューミングアプリケーションに前記変更について通知する工程と、
前記変更の通知に応答して、前記複数のデータコンシューミングアプリケーションの1つによって副作用変更をクエリするステップと、
ここで、前記副作用変更は、前記通知された変更に関連したデータに基づいて生成され、
前記登録されているデータコンシューミングアプリケーションに前記副作用変更を通知するステップと
を具えたことを特徴とする方法。 A method for managing data associated with a computer-generated document comprising:
Storing structured data items associated with the document in a data store maintained separately from the document data for the document ;
Here, the document data defines a main presentation for displaying the document, the structured data item is expressed in an extensible markup language, and the structured data item is metadata for the document. The structured data item remains associated with the document until the structured data item is removed from the data store;
The structure such that an application programming interface (API) is exposed to the plurality of data consuming applications to allow programmatic access to the structured data item by each of a plurality of different data consuming applications. The process of formatting the data
Here, while the document is open for editing and when the document is closed for editing , execution of the application programming interface (API) may cause the structured data item in the data store. The application programming interface (API) that provides the ability to access the structured data item by the plurality of data consuming applications, wherein the plurality of data consuming applications are the same at the same time Allowing access to structured data items, wherein the application programming interface (API) allows any of the plurality of data consuming applications to It makes it possible to store the structured data items within,
Registering with the plurality of data consuming applications for notification of changes;
Determining when a change has been made to one of the structured data items using the application programming interface (API);
Notifying the registered data consuming application of the change when a change is made;
Querying a side effect change by one of the plurality of data consuming applications in response to the notification of the change;
Here, the side effect change is generated based on data related to the notified change,
Notifying the registered data consuming application of the side effect change;
A method characterized by comprising:
前記登録されているデータコンシューミングアプリケーションのそれぞれが前記変更を受け入れたとき前記変更を前記データストアに引き渡す工程と
をさらに具えたことを特徴とする請求項1記載の方法。Reversing the change when one of the registered data consuming applications rejects the change;
The method of claim 1 , further comprising: delivering each change to the data store when each of the registered data consuming applications accepts the change.
文書に関連付けられる構造化データ項目を、データストアを使用して格納する工程と、
ここで、前記構造化データ項目は、拡張マークアップ言語(XML)に従って構造化され、前記構造化データ項目は、前記文書用のメタデータであり、前記構造化データ項目は、該構造化データ項目が前記データストアから除去されるまで前記文書に関連付けられたままであり、
前記文書に対する、また前記データストア内に含まれる前記構造化データ項目に対するプログラム的なアクセスを可能にするために、アプリケーションプログラミングインターフェース(API)が第1のデータコンシューミングアプリケーションに公開されるように、前記構造化データをフォーマットする工程と、
前記構造化データが前記文書にリンクされ、該文書の文字を記述するメタデータとして機能するように、前記文書が編集されている間、および前記文書がクローズされているとき、前記データストア内の前記構造化データ項目にアクセスするために前記アプリケーションプログラミングインターフェース(API)を実行する工程と
を具え、ここで、前記第1のデータコンシューミングアプリケーションは、登録されているとき、前記データストアに加えられる変更に関する通知を受け取り、
前記アプリケーションプログラミングインターフェース(API)を使用して、前記データストアの1つ対する変更を開始する工程と、
前記変更に関して第2の登録されているデータコンシューミングアプリケーションに前記通知を提供する工程と、
前記第2の登録されているデータコンシューミングアプリケーションでの通知に応答して、副作用変更をクエリする工程と、
前記第2の登録されているデータコンシューミングアプリケーションからの応答がいつ拒絶であるか判定し、前記応答が拒絶であるとき、前記変更および副作用変更を逆戻しする工程と、
前記第1および第2の登録されているデータコンシューミングアプリケーションが前記変更および副作用変更をいつ受け入れたか判定し、前記第1および第2の登録されているデータコンシューミングアプリケーションが前記変更および副作用変更を受け入れたとき、前記データコンシューミングアプリケーションの1つによってあるアプリケーションプログラミングインターフェース(API)を介して提供されるXMLスキーマファイルを使用して、任意選択で前記変更および副作用変更を妥当性検証する工程と、
前記データストアの1つまたは複数に前記変更および副作用変更を引き渡す工程と
を具えたことを特徴とする方法。A way to manage data associated with the document generated by a computer,
Structured data item associated with the document, and storing using data store,
Here, the structured data item is structured according to Extensible Markup Language (XML), the structured data item is metadata for the document, and the structured data item is the structured data item. Remains associated with the document until it is removed from the data store;
In order to allow programmatic access to the document and to the structured data items contained within the data store, an application programming interface (API) is exposed to a first data consuming application . Formatting the structured data;
While the document is being edited and when the document is closed so that the structured data is linked to the document and serves as metadata describing the characters of the document, Executing the application programming interface (API) to access the structured data item, wherein the first data consuming application is added to the data store when registered. Receive notifications about changes,
Initiating a change to one of the data stores using the application programming interface (API);
Providing the notification to a second registered data consuming application regarding the change;
Querying a side effect change in response to a notification in the second registered data consuming application;
Determining when a response from the second registered data consuming application is a rejection, and reversing the change and the side effect change when the response is a rejection;
Determining when the first and second registered data consuming applications have accepted the change and side effect change , and wherein the first and second registered data consuming applications have received the change and side effect change . When accepted, optionally validating the changes and side effect changes using an XML schema file provided via an application programming interface (API) by one of the data consuming applications ;
Way, characterized in that it comprises the step of delivering the changes and side effects changes to one or more of the data store.
ノードについて値を取得し、ノードを追加し、ノードを削除し、ノードを移動し、スキーマを追加し、スキーマを削除し、スキーマを再ロードし、名前空間を追加し、名前空間を除去するためのプログラミングインターフェースを提供する工程をさらに具えたことを特徴とする請求項10記載の方法。Using the application programming interface (API) includes
To get a value for a node, add a node, delete a node, move a node, add a schema, delete a schema, reload a schema, add a namespace, remove a namespace 10. Symbol mounting method is characterized in that comprises the step of providing a programming interface further.
プロセッサと、
前記プロセッサに接続されるメモリと、
前記プロセッサ上で実行されるように構成された複数のデータコンシューミングアプリケーションと
前記メモリに文書を格納するように構成された文書データストアと、
前記複数のデータコンシューミングアプリケーションと結合され、前記文書の1つまたは複数に関連付けられる構造化データ項目を格納するように構成されたデータストアと、
ここで、前記構造化データ項目は、該構造化データ項目がデータストアから除去されるまで前記1つまたは複数の文書に関連付けられたままであり、
を具え、
前記データストアは、
XMLデータストアと、
前記複数のデータコンシューミングアプリケーションと対話するように構成されたAPIブローカと、
構造化データ項目に加えられる変更に関連付けられる変更を格納するように構成された変更ストアと、
前記構造化データ項目に対して加えられる前記変更の結果として加えられる変更を逆戻しするように構成されたアンデューストアとを含み、
前記APIブローカが、前記文書に対するまた前記データストア内の項目にリンクするためにプログラム的なリンクを前記データコンシューミングアプリケーションに提供できるように、前記データコンシューミングアプリケーションは、前記文書がオープンである間、および前記文書がクローズされているとき、前記データストア内の前記構造化データ項目にアクセスするために前記プログラミングインターフェース(API)を実行するように構成され、さらに、前記データコンシューミングアプリケーションは、前記文書に対する前記データストア内の項目が変更されたとき、副作用変更をクエリするように構成されたことを特徴とするシステム。A system for managing data associated with a computer-generated document,
A processor;
A memory connected to the processor;
A plurality of data consuming applications configured to execute on the processor;
A document data store configured to store the document in the memory ;
A data store coupled with the plurality of data consuming applications and configured to store structured data items associated with one or more of the documents;
Wherein the structured data item remains associated with the one or more documents until the structured data item is removed from the data store;
With
The data store is
An XML data store,
An API broker configured to interact with the plurality of data consuming applications ;
A change store configured to store changes associated with changes made to structured data items;
An undu store configured to reverse the changes made as a result of the changes made to the structured data item;
During the API broker, a programmatic link to link in the item also in the data store for the document to be provided to the data consuming application, the data consuming application, the document is open And when the document is closed, the programming interface (API) is configured to execute the programming interface (API) to access the structured data item in the data store, the data consuming application further comprising: A system configured to query a side effect change when an item in the data store for a document is changed .
前記構造化データ項目に適用された拡張マークアップ言語(XML)マークアップデータに対する変更を受け取り、
前記XMLマークアップデータに対する前記変更が対象とする前記構造化データ項目に関連付けられたXMLスキーマファイルを読み取り、
前記読み取られたXMLスキーマファイルに従って、前記XMLマークアップデータに対する前記変更が有効であるかどうか判定し、
前記読み取られたXMLスキーマファイルに従って前記XMLマークアップデータに対する前記変更が有効でない場合、前記XMLマークアップデータに対する前記変更を許さず、前記読み取られたXMLスキーマファイルに従って前記XMLマークアップデータに対する前記変更が有効であるとき、1つまたは複数の前記XMLストアに前記変更を引き渡すようにさらに構成されることを特徴とする請求項12記載のシステム。The data store is
Receiving changes to Extensible Markup Language (XML) markup data applied to the structured data item;
Reading an XML schema file associated with the structured data item targeted by the change to the XML markup data;
Determining whether the change to the XML markup data is valid according to the read XML schema file;
If the change to the XML markup data is not valid according to the read XML schema file, the change to the XML markup data is not allowed and the change to the XML markup data is valid according to the read XML schema file when one or more of the claims 12 Symbol mounting system characterized in that it is further configured to deliver the changes to the XML store.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71588605P | 2005-09-09 | 2005-09-09 | |
US60/715,886 | 2005-09-09 | ||
US11/331,586 US7752224B2 (en) | 2005-02-25 | 2006-01-13 | Programmability for XML data store for documents |
US11/331,586 | 2006-01-13 | ||
PCT/US2006/034802 WO2007030586A1 (en) | 2005-09-09 | 2006-09-08 | Programmability for xml data store for documents |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009508228A JP2009508228A (en) | 2009-02-26 |
JP5072845B2 true JP5072845B2 (en) | 2012-11-14 |
Family
ID=39661992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008530185A Expired - Fee Related JP5072845B2 (en) | 2005-09-09 | 2006-09-08 | Programmability for XML data store for documents |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP5072845B2 (en) |
KR (1) | KR101311123B1 (en) |
CN (1) | CN101263477B (en) |
BR (1) | BRPI0615761A2 (en) |
RU (1) | RU2417420C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110877B2 (en) | 2004-09-30 | 2015-08-18 | Microsoft Technology Licensing, Llc | Method and apparatus for utilizing an extensible markup language schema for managing specific types of content in an electronic document |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008059197A1 (en) * | 2008-11-27 | 2010-06-02 | Bayerische Motoren Werke Aktiengesellschaft | Method and device for the distributed configuration of telematics services in motor vehicle systems |
US9460099B2 (en) | 2012-11-13 | 2016-10-04 | Amazon Technologies, Inc. | Dynamic selection of storage tiers |
CN104639361B (en) * | 2013-11-15 | 2019-04-19 | 中兴通讯股份有限公司 | Management method and device for network service template |
US11120210B2 (en) * | 2014-07-18 | 2021-09-14 | Microsoft Technology Licensing, Llc | Entity recognition for enhanced document productivity |
RU2613026C1 (en) * | 2015-09-30 | 2017-03-14 | Общество с ограниченной ответственностью "Интерсофт" | Method of preparing documents in markup languages while implementing user interface for working with information system data |
CN108351768B (en) | 2015-09-30 | 2021-04-20 | 伊恩杰里索芙特公司 | Method for implementing a user interface for processing data of an information system while writing a document in a markup language |
CN106528506B (en) * | 2016-10-20 | 2019-05-03 | 广东小天才科技有限公司 | Data processing method and device based on XML (extensive markup language) tag and terminal equipment |
RU2683690C1 (en) * | 2017-12-27 | 2019-04-01 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Method and system for automatic generation of a program code for an enterprise data warehouse |
CN110489085A (en) * | 2019-02-21 | 2019-11-22 | 贵州广思信息网络有限公司 | A kind of method of WORD content control extension storage data |
CN110458471B (en) * | 2019-08-19 | 2022-05-20 | 绍兴数纺科技有限公司 | Standardized dye information management system |
CN113297081B (en) * | 2021-05-26 | 2024-06-18 | 北京京东振世信息技术有限公司 | Execution method and device of continuous integrated pipeline |
KR102683247B1 (en) * | 2022-03-21 | 2024-07-10 | 주식회사 오픈드래프트 | Document editing computer and document editing method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US650785A (en) * | 1900-03-21 | 1900-05-29 | Warner Brothers Co | Clamp-plate for garment-supporters. |
US5903902A (en) | 1996-09-09 | 1999-05-11 | Design Intelligence, Inc. | Design engine with tree and component structure |
US6731314B1 (en) | 1998-08-17 | 2004-05-04 | Muse Corporation | Network-based three-dimensional multiple-user shared environment apparatus and method |
JP2001075949A (en) * | 1999-09-02 | 2001-03-23 | Mitsubishi Materials Corp | Device and method for sharing information and recording medium therefor |
US7716676B2 (en) * | 2002-06-25 | 2010-05-11 | Microsoft Corporation | System and method for issuing a message to a program |
JP2004199446A (en) * | 2002-12-19 | 2004-07-15 | Fujitsu Social Science Laboratory Ltd | Shared document management system, member terminal device, document sharing processing program for member terminal and shared document management program |
-
2006
- 2006-09-08 RU RU2008109014/08A patent/RU2417420C2/en not_active IP Right Cessation
- 2006-09-08 BR BRPI0615761-0A patent/BRPI0615761A2/en not_active Application Discontinuation
- 2006-09-08 CN CN2006800330698A patent/CN101263477B/en not_active Expired - Fee Related
- 2006-09-08 JP JP2008530185A patent/JP5072845B2/en not_active Expired - Fee Related
- 2006-09-08 KR KR1020087005522A patent/KR101311123B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110877B2 (en) | 2004-09-30 | 2015-08-18 | Microsoft Technology Licensing, Llc | Method and apparatus for utilizing an extensible markup language schema for managing specific types of content in an electronic document |
Also Published As
Publication number | Publication date |
---|---|
RU2008109014A (en) | 2009-10-10 |
KR20080043813A (en) | 2008-05-19 |
KR101311123B1 (en) | 2013-09-25 |
CN101263477B (en) | 2011-10-19 |
RU2417420C2 (en) | 2011-04-27 |
CN101263477A (en) | 2008-09-10 |
BRPI0615761A2 (en) | 2011-05-24 |
JP2009508228A (en) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752224B2 (en) | Programmability for XML data store for documents | |
JP5072845B2 (en) | Programmability for XML data store for documents | |
RU2398274C2 (en) | Data bank for program application documents | |
JP5085548B2 (en) | Real-time synchronization of XML data between applications | |
KR101608099B1 (en) | Simultaneous collaborative review of a document | |
JP5882829B2 (en) | Programmability for binding data | |
JP4936715B2 (en) | Data binding in word processing applications | |
US7617234B2 (en) | XML schema for binding data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120501 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120821 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150831 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |