JP2007510194A - ブラウザを使用してsvgタイプのデジタルグラフィック文書を編集する方法及び装置 - Google Patents

ブラウザを使用してsvgタイプのデジタルグラフィック文書を編集する方法及び装置 Download PDF

Info

Publication number
JP2007510194A
JP2007510194A JP2006530766A JP2006530766A JP2007510194A JP 2007510194 A JP2007510194 A JP 2007510194A JP 2006530766 A JP2006530766 A JP 2006530766A JP 2006530766 A JP2006530766 A JP 2006530766A JP 2007510194 A JP2007510194 A JP 2007510194A
Authority
JP
Japan
Prior art keywords
document
svg
conversion
node
script
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.)
Pending
Application number
JP2006530766A
Other languages
English (en)
Inventor
ユアン ファブレ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2007510194A publication Critical patent/JP2007510194A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

少なくとも1つのブラウザ型のソフトウェアディスプレイプログラムが表示のために使用される所定のマークアップ言語で表現された少なくとも1つのデジタルグラフィック文書を処理する方法であって、i)読み出しモードで表示された前記元の文書(ISVG1)を、前記文書に対する書き込みルール群を取り入れ且つ前記文書にリンクしない所定の変換ルール群に従って、前記マークアップ言語で編集可能なバージョンに変換するステップと、ii)前記書き込みルール群に従う前記編集可能なバージョン(ISVG2)を変更するために、前記ソフトウェアディスプレイプログラムを介して前記編集可能なバージョンと対話するステップと、iii)変更された前記編集可能なバージョンを、ステップii)で行なわれた変更を取り入れた読み出しモードのバージョン(ISVG3)に変換するステップとを含むことを特徴とする方法。

Description

本発明は、特にブラウザから、SVGのデジタルグラフィック文書又はこれと同様のタイプの文書を編集することに関する。
SVG(スケーラブルベクターグラフィックス)言語は、XML(拡張マークアップ言語)又は同様の型式のマークアップ言語で書かれる2次元のグラフィック文書を記述する言語である。
SVG言語は、3種類のグラフィックオブジェクト又は文書を考慮している。即ち、ベクトルグラフィック形状(例えば、直線及び曲線から構成されるパス)、画像及びテキストである。それらグラフィックオブジェクトは、グループ化され、変換され、且つ先に描画されたオブジェクトに合成される。SVG言語は、入れ子にされた変換、クリッピングパス、マスク及びテンプレートオブジェクト等のひとそろいの機能を含む。
SVGオブジェクトは、対話型及び/又は動的である。SVGアニメーション要素をSVGコンテンツに取り入れることにより、或は、例えば実行可能なコマンドを含むスクリプトを介して、アニメーションは定義され、且つトリガされる。
また、HTML(「HyperText Markup Language」)型式のマークアップ言語で書かれたウェブページ等のウェブコンテンツを、単純なインターネットブラウザから直接変更できるエディタは既に知られている。
本出願人は、単純なインターネットブラウザによりインターネット/WWW(World Wide Web)上に掲載されたSVGグラフィックオブジェクト等のデジタルグラフィック文書を、テキストと同様の方法で変更することの問題に直面した。
SVG言語は、マークアップ言語に属するため、テキスト形式である。そのため、任意のSVG文書は、単純なテキストエディタから変更可能である。
しかし、本出願人は、WYSIWYG(「What you see is what you get」)型等の、よりユーザフレンドリーで対話が可能な環境を提供可能にすることを追求している。ここで、対話とは、特に、マウス又は同様の種類のマンマシンインタフェース装置により行なわれることを指す。
本発明は、この問題に対する解決策を明確に提供するものである。
即ち、本発明は、ウェブ上に掲載されたSVGタイプのデジタルグラフィック文書のための、読み出しモードでSVG文書を表示できる任意のブラウザ上で実行可能なエディタを提供することを目的とする。
本発明は、少なくとも1つのブラウザ型のソフトウェアディスプレイプログラムが表示のために使用される所定のマークアップ言語で表現された少なくとも1つのデジタルグラフィック文書を処理する方法に関する。
本発明の全体的な定義によると、本方法は以下のステップを含む。即ち、
i)読み出しモードで表示された元の文書を、文書に対する書き込みルールを取り入れた所定の変換ルール群に従って、編集可能なマークアップ言語のバージョンに変換するステップと、
ii)上記書き込みルール群に従う上記編集可能なバージョンを変更するために、ソフトウェアディスプレイプログラムを介して上記編集可能なバージョンと対話するステップと、
iii)変更された上記編集可能なバージョンを、ステップii)で行なわれた変更を取り入れた読み出しモードのバージョンに変換するステップを含む。
実施例においては、所定の変換ルール群は、文書にリンクしない。
又、上記ブラウザ型のソフトウェアディスプレイプログラムは、元の文書を編集可能なバージョンに変換するために、上記の変換ルール群を使用できる。
別の実施形態によれば、ステップiii)による逆変換は、編集済み文書から未編集文書を検索できる。
例えば、ステップi)による直接変換は、ステップiii)による逆変換をガイド可能なガイダンス情報を追加できる。
実施例においては、上記ガイダンス情報は、除去される要素と、特定の名前空間における変更済み文書の状態にある要素と、ガイダンス情報の値を更新するスクリプトと、属性の作成/変更に関係する命令情報とにより形成されるグループに属する。
更に別の実施形態によると、ステップi)による直接変換は、選択可能なグラフィック要素の各々を識別できる。
更に別の実施形態によると、ステップi)による直接変換は、SVG型マークアップ言語で書かれたノードの効果を停止するために、ノードを非SVG名前空間に取り入れる及び/又は移動することができる。また、ステップiii)による逆変換は、非SVG名前空間に移動されたSVGノードを検索することができる。
例えば、ステップi)による直接変換は、アニメーション要素の保存/除去を判定できるパラメータを含む。
別の例によると、ステップi)による直接変換は、最初の文書に対して文書を同期変更できる変化イベントを含む。
実施例においては、ステップi)による直接変換は、文書から遠隔利用が可能なプログラムを介して、編集済み文書の全て又は一部を変更できる機構を取り入れる。
実施例においては、ステップiii)による逆変換は、初期化スクリプトにより作成されたグラフィック要素に対して行なわれた変更を保存するために、初期化スクリプトを変更又は除去できる。
本発明の別の目的は、少なくとも1つのブラウザ型のソフトウェアディスプレイプログラムが表示のために使用される所定のマークアップ言語で表現された少なくとも1つのデジタルグラフィック文書を処理する装置の提供にある。
本発明の別の態様による装置は以下を具備する。即ち、
−読み出しモードで表示された元の文書を、文書に対する書き込みルールを取り入れた特定の変換ルール群に従って、マークアップ言語で編集可能なバージョンに変換する変換手段と、
−書き込みルール群に従う編集可能なバージョンを変更するために、ソフトウェアディスプレイプログラムを介して編集可能なバージョンと対話する処理手段と、
−変更された編集可能なバージョンを、上記処理手段により行なわれた変更を取り入れた読み出しモードのバージョンに変換する逆変換手段とを具備する。
一実施形態によれば、上記所定の変換ルール群は、文書にリンクしない。
また、一実施形態によれば、上記逆変換手段は、編集済み文書から未編集文書を検索できる。
また、別の実施形態によれば、上記直接変換手段は、上記逆変換手段をガイド可能なガイダンス情報を追加できる。
実施例において、上記ガイダンス情報は、除去される要素と、特定の名前空間における変更済み文書の状態にある要素と、ガイダンス情報の値を更新するスクリプトと、属性の作成/変更に関係する命令情報とにより形成されるグループに属する。
更に別の実施形態によると、上記直接変換手段は、選択可能なグラフィック要素の各々を識別できる。
実施例において、上記直接変換手段は、SVG型マークアップ言語で書かれたノードの効果を停止するために、ノードを非SVG名前空間に取り入れる及び/又は移動することができる。また、上記逆変換手段は、非SVG名前空間に移動されたSVGノードを検索することができる。
上記変換手段は、アニメーション要素の保存/除去を判定できるパラメータを使用することが好ましい。
更に別の実施形態によれば、上記直接変換手段は、初期文書に対して文書を同期変更できる変化イベントを処理する。
更に別の実施形態によれば、上記直接変換手段は、遠隔の文書から利用可能なプログラムを介して編集済み文書の全て又は一部を変更できる機構を書き込みルールに取り入れる。
本発明の別の目的は、コンピュータシステムにより読み出し可能であり、全体的に又は部分的に取外し可能であるデータ媒体、或は、電気信号又は光信号等を伝送可能な媒体の提供にある。そのようなデータ媒体としては、特に、CD−ROM、或は、ハードディスク又はフロッピー(登録商標)ディスク等の磁気媒体が挙げられる。データ媒体は、コンピュータプログラムがコンピュータシステムによりロードされ実行される場合、上述に示される方法の実現を可能にするコンピュータプログラム命令を含む。
また、本発明の別の目的は、データ媒体に格納されたコンピュータプログラムの提供にある。プログラムは、コンピュータシステムによりロードされ実行される場合、上述に示される処理方法の実現を可能にする命令を含む。
本発明の他の特徴及び利点は、以下の詳細な説明及び図面から理解されるであろう。
図1を参照すると、本発明による編集方法は、少なくとも5つの主要なステップを含む。
第1に、ステップE100において、インターネット又はWorld Wide Web上の画像ISVG1を取得する。
第2に、ステップE110では、第1の画像ISVG1を第2の画像ISVG2に変換する。この第2の画像ISVG2は、第1の画像ISVG1の編集可能なバージョンに対応し、画像ISVG1にリンクしない所定の書き込みルール群に従う。
第3に、ステップE120では、第2の画像ISVG2を読み出す。
第4に、ステップE130では、上記書き込みルール群に従って第2の画像ISVG2に対して対話又は変更がなされる。
第5に、ステップE140では、第1の画像ISVG1の更新済みバージョンISVG3を取得するために、ステップE110の逆変換を実行する。
必要であれば、ステップE150において、元のサーバ又は他の記憶手段に更新済みバージョンISVG3を格納する。
ステップE110及びステップE140の変換は、好ましくは、単純なインターネットブラウザから実行される。
図2を参照すると、図1を参照して上述した変換E110は、実際には、2つの部分で実行される。
編集されるべき文書ISVG1の取得後(ステップE200)、この文書の新しいXML文書への変換(ステップE210)が実行される。
この新しいXML文書は、新しい形式で画像の全ての情報を含み、ステップE220において、SVG文書のグラフィック要素に挿入される。この要素は〈svg/〉ルート要素の属性を検索し、相対URI参照を保存するためにxml:ベースの属性がこの要素に追加される。この要素は別のグラフィック要素に含まれ、編集済みSVG文書を所望のスケールにすることを可能にする。
このグラフィック要素は、例えば、マウスイベント又は変化イベントである対話属性を更に有する。
実際には、マウスイベントにより要素選択及び対話型変更(「ドラッグアンドドロップ」)が可能になる。
「変化」イベントにより、SVG文書に対して行なわれた変更が追跡可能となる。これは、必要に応じて同期更新を行なうのに有用であり、更に、以下に更に詳細に説明される逆変換E140の実行を容易にする情報を更新するのにも有用である。
次に、新しいSVG文書を構成するために、XML情報が、この新しい文書に追加される(ステップE230〜ステップE260)。この最後の情報は、画像に特有のものではなく実際の編集を可能にする種々のユーザインタフェースに対応する。
この情報は、特に、任意の編集可能なグラフィック要素を容易に選択できる手段(ステップE230)を含む。例えば、これは、要素の一覧表であるか、或は、マウスにより選択された要素の認識を可能にするマウスイベントを検索できるスクリプトである。
ステップE240によると、この情報は、例えば新しいSVG要素を追加するなどにより編集済みSVG要素を変更する手段を含む。実際には、これは、変更又は作成されるべき各グラフィック要素のパラメータをユーザが入力可能にするグラフィック要素を追加することの問題である。
ステップE250に従って、この情報は、編集済みSVG文書の全て又は一部に対して外部処理を適用する手段を含む。実際には、例えば、ネットワーク又はハードディスク上で、SVG文書の一部を検索すること、及びその一部に対してエディタの外部で規定された変更を実行することの問題となる。例えば、この手段は、XSLT変換、Java(登録商標)Scriptスクリプト又はウェブサービス呼び出しでもよい。
ステップE260に従って、この情報は、追加した機能性を制御する手段を含む。例えば、これらの手段は、特に、文書の一部を拡大するため、アクティブスクリプト/パッシブスクリプトモードにするため、又は時間尺度を制御するために、特定の情報を追加することを可能とする。
単一スクリプトの形式でステップE200〜ステップE260を実現するように、選択が行なわれる。実現例は2つの部分に分離される。第1の部分は、編集されるSVG文書の変換(XSLT、JavaScript等)に対応する。第2の部分は、ステップE230〜ステップE260のデータを直接含むSVG編集文書である。その後、編集される文書の変換はSVG編集文書で使用される。
図3を参照すると、第1の変換(図1のE110)は、第1の〈svg/〉タグの子(child)の各々に適用される。1つ以上のXMLツリーがこうして作成され、ステップE220(図2)で使用される単一の結果へと組み立てられる。
第1のステップE300は、処理されるノードを取得することから構成される。
ステップE305において、参照により規定されたノードであるか又は直接規定されたノードであるかについてテストが行なわれる。
その文書に関して外部の相対参照が関係する場合、相対参照は、絶対参照に変換される(それは、URI等の下でいかなる編集済み文書をも格納することを可能にする)。
スクリプト型のノードが関係する場合(ステップE305)、スクリプトノードは、図4を参照して説明されるアルゴリズムにより変換される(E310)。他の場合は、ステップE315において、ノードが識別子を有するかに関してテストが行なわれる。要素が識別子のないグラフィック要素である場合(ステップE320)、識別子がノードに追加される(ステップE325)。識別子は表示され、マウスで選択され得る。これにより、グラフィック要素の選択をより容易に実現できる。
次に、管理データ名前空間が使用される。SVGがオープンコンテンツモデルを有するため、SVG名前空間に存在しない全ての情報は、SVGリーダによって考慮されない。従って、この可能性は、ユーザ対話段階中には有用ではないが、逆変換中には有用であるという情報を追加するのに使用され得る。
ステップE330は、現在のノードがアニメーションノードであって、アニメーションが停止されるかどうかをテストする。
アニメーションノードであり且つそれが停止される場合、ノードは、管理データ名前空間に移動される(ステップE335)。これにより、対話段階中のアニメーションの停止、変換段階中のこれらアニメーションの再統合、情報の無損失が可能となる。
次に、ステップE340において、逆変換に必要な情報が初期化される。この情報(属性の形式にされる)により、逆変換中に以下を認識することが可能となる。即ち、要素が変換されたか否か、要素が除去されるべきか否か、或は、グラフィック要素がXMLで規定されるか又はDOMを使用するスクリプトを介して作成/変更されるかを認識することが可能になる。尚、DOMとは、XML文書のプログラマチックグラフィック表現又は「ドキュメントオブジェクトモデル」である。
又、スクリプトにより作成/変更が行なわれる場合、この情報は、SVGをロードする際に初期化スクリプトが関係するかを認識することを可能にする。
逆変換において要素を除去する必要がある場合、それらの要素は(例えば、文書の表示の際に)スクリプトにより作成される。更に、元のSVG文書で呼び出されるスクリプトにより追加された要素は、変更可能である必要はない。従って、この管理情報は、これらの要素の編集を区別することを可能にする。
また、変更済みファイルを格納するステップを許可し、逆変換を容易にするため、SVG文書に対する元の文書のURI等の他の情報も管理名前空間に格納される。
ステップE345において、処理されるノードが参照ノード(〈symbol/〉型)に対応するか否かがテストされる。この場合、このノードを参照する要素の一覧表を含む属性がノードに追加される。ユーザがこのノードを参照する要素を変更したい場合、ユーザは、そのノード(従って、全ての参照要素)を変更したいのか又はそのグラフィック要素のみを変更したいかが問われる。ノードのクローンが作成される場合、それが変更され、グラフィック要素は変更済みノードを指し示す。最後に、ノードが処理されるべき子を有する場合(ステップE355)、各ノードは同様の方法で再帰的に処理される。ノードに処理されるべき子が無い場合は、処理結果を返すことにより、アルゴリズムが終了する(ステップE365)。
SVG文書の処理を終了するため、逆変換が〈SVG/〉ルート要素の属性を検索できるように、それら〈SVG/〉ルート要素の属性は管理名前空間に複写される。更に、ルート要素の属性、特に「イベント」属性は、変換の結果を取り入れるグラフィック要素において部分的に繰り返される。
図4を参照すると、スクリプトノードの処理が示される。
スクリプトの効果は、SVG編集段階中に妨害となる可能性がある。従って、ユーザはそれらを停止及び起動できる。
これを行なうため、スクリプトノードの取得後(ステップE310に続くステップE400)において、ノードの値が検索される(ステップE430)。そして、ノードの各機能(ステップE440、ステップE450及びステップE470)に対して、機能を実行する必要があるか否かの認識を可能にするテストが追加される(ステップE460)。
このテストは、アクティブスクリプトの属性「scriptEnable」が真又は偽のいずれに設定されたかを単にチェックする。これらスクリプトを起動/停止するために、ユーザは、編集段階中にこの属性を変更できる。
一般に、本発明の方法により呼び出される機能は、文書中に直接規定される。これら機能が別の文書に規定される場合、外部文書を参照してスクリプトノードを規定することが可能である。スクリプトノードが参照により規定される場合(ステップE410)、指示された文書が検索され、このノードの値として挿入される(ステップE420)。更に、外部文書に対する参照は除去される。
対話の大部分は、SVG文書に直接書き込まれた要素を変更することから構成される。この場合、DOM機能性を使用して要素を変更すれば十分である。管理データ、特に、ノード修正/未修正テストに対応する属性が更新される。また、新しい要素の追加もユーザに提供される。ツリーを変更する(例えば、場所を変更する/ノードのクローンを作成する)ための全てのDOM機能性は、SVG規格に準拠するという条件の下で、実現可能である。
SVG文書は、正確な時間に文書を変更するスクリプトを含むことが可能である。そのようなスクリプトが要素を追加する場合、それら要素は、逆変換中に除去される。一方、既存の要素に対して行なう変更は、管理するのが更に困難である。これは、ユーザが対話によりこれらの変更を削除することが可能であるからである。更に、保存されたSVG文書を再度読み出す間、スクリプトは文書を再び変更できる。この問題を解決するため、本発明による方法は、スクリプトのユーザ編集/変更を提供する。
多くのSVG文書において、初期化スクリプトは、新しいグラフィック要素の追加及び/又は存在する要素の変更に使用される。この初期化に干渉しないことが重要である。このため、スクリプトは編集の開始時に停止されない。行なわれた変更は、「変化」イベント(スクリプトによる要素作成は別に検出される)により検出され、異なる方法で考慮される。
例えば、新しい要素に関しては、それら要素は、新しい要素(スクリプトにより作成された要素)としてマークされ、新しい要素ではない場合には、全ての編集済みグラフィック要素を含むグラフィック要素に配置される。
別の例において、属性変更/追加に関連する場合、それら属性が初期化スクリプトにより変更されることが(管理データ名前空間を介して)示される。
初期化スクリプトにより作成/変更されたグラフィック要素の特定の変更が許可される。ユーザがそのような要素を変更したい場合、ユーザは、それら変更が保存段階後に必ずしも保存されないことを警告される。単純な変更(属性又は要素の値の変更)の問題である場合、変更はスクリプトの形式で書かれ、この新しいスクリプトを示す属性(管理データ名前空間における)を変更済み要素に追加する。そして、逆変換は、このスクリプトを、初期化スクリプトの最後に呼び出されるスクリプトに追加する。
逆変換中に、初期化スクリプトにより作成されたXML要素が除去される。従って、XML要素は除去されたとしてラベル付けされる。
SVG言語は、SMIL(同期マルチメディア統合言語)と呼ばれる言語の特定の機能をサポートする。これは、マルチメディアドキュメントアニメーション形式である。このアニメーションは、グラフィック要素内で、〈animate/〉、〈animateMotion/〉、〈animateColor/〉及び〈set/〉要素の形でもたらされる。文書編集を容易にするため、直接変換は、要素を維持又は停止のいずれが要望されるかを定義可能にするパラメータを有する。例えば、その名前空間がSVGの名前空間ではなく管理情報に対して規定された名前空間である要素に、そのようなパラメータを取り入れることにより、要素を維持又は停止のいずれが要望されるかを定義可能にする。従って、逆変換はそれらの要素を再統合できる。
ユーザは、SVG文書の全て又は一部における実行されるべき動作を実行可能にする文書に対応するURIを入力する。このURIは、スクリプト(XSLT、JavaScript)又はWSDL(ウェブサービス記述言語)型の文書を指し示し、これらは、SVGデータフラグメントで実行され得る処理を規定する。ユーザは、編集済みSVG文書の変更されるべき部分を選択する。プログラムは、スクリプト/ウェブサービスを実行するスクリプトを開始する。スクリプトは、結果を検索し、その結果をSVG文書に追加する。例えば、入力されたSVG文書のその部分に置き換えられることにより追加される。
直接変換(図1のステップE110)は、逆変換(図1のステップE140)に有用な情報を初期化する。編集済みSVG文書に追加されるスクリプトにより、ユーザ対話に従った最新の状態にこの情報を維持できる。逆変換は、ユーザの操作により変更されたSVG文書を取得し、オリジナルの編集済みVG文書に類似のフォーマットに戻すために、そのSVG文書を変換する。これを行なうため、逆変換は、結果の文書を構成するのに追加の上記情報を使用する。
図5を参照すると、ステップE500において、逆変換は、処理されるべきXMLノードを検索する。ステップE505において、ノードが初期化スクリプトによって変更又は作成されたかがテストされる。初期化スクリプトによって変更又は作成された場合、変更スクリプトが存在するならば、それを検索する(ステップE510)。他方、初期化スクリプトによって変更も作成もされていない場合はステップE515に直接進む。ステップ515では、ノードが除去されるか否かがテストされる。ノードが除去される場合、ステップE520に進む。子ノードに対応する全ての初期化後の変更スクリプトが検索され、初期化スクリプトの最後に追加される。その後、次のノードに直接進む。タグのみが除去されるノードを、通常処理されなければならない子と分離することにより、処理を洗練させることができる。この場合、全ての子が検索され、処理されるべきノードの一覧表に配置される。
ノードが除去されるべきものでない場合、ステップE525に進む。
ステップE525において、ユーザによるあらゆるノードの変更に関してテストが行なわれる。変更がない場合は、元のXMLノードが検索され(ステップE530及びステップE535)、文書に追加される。こうして当該ノードに対する処理が終了し、次のノードの処理へ進む。
ノードに変更が加えられていた場合、又は元のXMLノードが占有されていない場合、ステップE540に進む。ノードに対応する要素が追加され、直接変換により属性が作成された場合には、管理データ名前空間の属性及び識別属性を除去するために、それら属性がフィルタリングされる。ノードが子を有する場合(ステップE545)、各子が再帰的に処理される(ステップE550)。ノードが子を有さない場合、ノードの値が処理される(ステップE565)。このステップは、スクリプトの起動/停止に対応するテストが除去される場合に、スクリプトノードの場合を除いて、値を複写することから構成される。その後、アルゴリズムが終了する(ステップE560)。
文書が変換されると、最終ステップは、直接変換で格納された情報が追加される〈SVG/〉要素にその文書を統合することから構成される。
例えば、処理される読み出しバージョンの文書ISVG1は、以下のSVG文書に対応する。
〈svg width="250" height="250"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:nsvg="http://example.com/nonsvgns"〉
〈g id="Group" style="stroke-width:4;stroke-antialiasing:false"〉
〈image xlink:href="image.jpg" x="10" y="10" width="40" height="40"/〉
〈text style="font-size:12;fill-opacity:1" x="50" y="1O"〉
My SVG image
〈/text〉
〈/g〉
〈script type="text/ecmascript" xlink:href="myscript.js"/〉
〈/svg〉
書き込みモードにおいて、文書ISVG2は以下の命令に対応する。
〈svg width="1600" height="1600" viewBox="0 0 1600 1600"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:nsvg="http://example.com/nonsvgns"〉
〈g id="nsvg:svg_image"〉
〈!-- 次の要素がソース画像をカプセル化する --〉
〈g id="nsvg:wrapper" url="http://example.com/servlet/Update?id=10" switch="true" onmouseup="on_mouseupp(evt)" onload="init(evt)"〉
〈g id="Group" style="stroke-width:4;stroke-antialiasing:false"〉
〈image xlink:href="image.jpg" x="10" y="10" width="40" height="40" /〉
〈text style="font-size:12;fill-opacity:1" x="50" y="10"〉
My SVG image
〈/text〉
〈/g〉
〈/g〉
〈g nsvg:remove="true"〉
〈!-- 対話及び表示のためのUIを含む
特にSVGオブジェクト選択のためのGUIを含む
特にSVGオブジェクト変更のためのGUIを含む --〉
〈text x="90" y="10" style="text-anchor:left;font-size:12"〉X=〈/text〉
〈!-- 他のSVG要素 --〉
〈/g〉
〈/g〉
〈script type="text/ecmascript" nsvg:remove="true"〉
〈!-- nsvg:removeは逆変換をガイドする情報である --〉
〈![CDATA[
function on_mouseup(evt)
{
// ドラッグアンドドロップ、オブジェクトの配列の再定義等の
// ユーザとの対話を許可する
}
〈!-- 他のJavaScript関数 --〉
]]〉
〈/script〉
〈script type="text/ecmascript" nsvg:href="myscript.js" nsvg:remove="initThere"〉
〈!-- 使用不可能な機構を有するインラインスクリプト関数 --〉
〈/script〉
〈/svg〉
この例において、変換ルールは、XSLTスクリプトの形式で規定される。このスクリプトは、特に、ユーザとの対話を可能にする要素(ドラッグアンドドロップを使用するグラフィックオブジェクト移動機能)を含む。
〈xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"〉
〈xsl:template match="*"〉
〈svg〉
〈xsl:copy-of select="@*"/〉
〈xsl:attribute name="width"〉1600〈/xsl:attribute〉
〈xsl:attribute name="height"〉1600〈/xsl:attribute〉
〈xsl:attribute name="viewBox"〉0 0 1600 1600〈/xsl:attribute〉
〈xsl:if test="not(@id)"〉
〈xsl:attribute name="id"〉root〈/xsl:attribute〉
〈/xsl:if〉
〈g id="nsvg:wrapper" switch="true" onmouseup="on_mouseupp(evt)" onload="init(evt)"〉
〈xsl:attribute name="url"〉...〈/xsl:attribute〉
〈xsl:for-each select="*[not(name()='script')]"〉
〈xsl:call-template name="transformNode"/〉
〈/xsl:for-each〉
〈g nsvg:remove="true"〉
〈text x="90" y="10" style="text-anchor:left;font-size:12"〉X=〈/text〉
〈!-- 他のSVG要素 --〉
〈/g〉
〈/g〉
〈script type="text/ecmascript" nsvg:remove="true"〉
〈!-- nsvg:removeは逆変換をガイドする情報である --〉
〈![CDATA[
function on_mouseup(evt)
{
// ドラッグアンドドロップ、オブジェクトの配列の再定義等の // ユーザとの対話を許可する
}
〈!-- 他のJavaScript関数 --〉
]]〉
〈/script〉
〈!-- 他のSVG要素 --〉
〈/svg〉
〈/xsl:template〉
〈xsl:template name="transformNode"〉
〈-- SVGの各子に対する変換ルール --〉
〈xsl:template〉
〈/xsl:stylesheet〉
更に、本実施形態において、書き込みルールは、削除、挿入、変更又はそれに同種のルールの一例である。
図6を参照すると、本発明の方法に従って、SVG文書の処理を可能にするソフトウェアを実現するための装置が示される。
装置は、例えば、マイクロコンピュータ10であってもよい。マイクロコンピュータ10は、グラフィックスカードに接続されたデジタルカメラ107(又はスキャナ、あるいは、任意の画像収集手段又は記憶手段)等の種々の周辺装置に接続され、本発明に従って、処理される情報を提供する。
装置10は、デジタル情報を送信できるネットワーク113に接続された通信インタフェース112を含む。また、装置10は、ハードディスク等の記憶手段108を含む。装置10は、フロッピー(登録商標)ディスク装置109を更に含む。ディスク108のようなフロッピー(登録商標)ディスク110は、本発明のソフトウェア構成データ及び本発明のコードを含むことができる。それらは、装置10により読み出されるとハードディスク108に格納される。変形例によると、装置が本発明の実現を可能にするためのプログラムが、読み出し専用メモリ102(図中、ROMと呼ばれる)に格納される。同様のことがコーディング手順に適用される。第2の変形例において、プログラムは、通信ネットワーク113を介して上述と同様の方法で格納されるために受信される。
装置10は、I/Oカード106によりマイクロフォン111に接続される。本発明により処理されるデータは、この場合、音声信号となる。
この装置は、画面104を有する。画面104は、処理される情報の表示、あるいは、キーボード114又は任意の他の手段(例えば、マウス)により、ある処理モードをパラメータ化できるユーザとのインタフェースとしての役割を可能にする。
中央装置100(CPUと呼ばれる)は、本発明の実現に関係する命令を実行する。命令は、読み出し専用メモリ102又は他の記憶素子に格納される。起動中、ROM102等の不揮発性メモリの1つに格納されたプログラム及び処理手順は、ランダムアクセスメモリRAM103に転送される。こうして、RAM103は、本発明の実行形式のコード及び本発明の実現に必要な変数を含むことになる。変形例において、処理手順は、異なる場所に格納される。これは、通信ネットワーク113又はフロッピー(登録商標)ディスク110により送信された新しい手順を追加することにより、本発明を改良することが可能だからである。当然、フロッピー(登録商標)ディスクは、CD−ROM又はメモリカード等の任意のデータ媒体に置換できる。
通信バス101は、マイクロコンピュータ10の異なるサブ要素間、又はマイクロコンピュータ10に接続されたサブ要素間の通信を可能にする。バス101の表現は限定するものではなく、特に、中央装置100は、直接又はマイクロコンピュータ10の別のサブ要素を介して10の任意のサブ要素に命令を通信できる。
ここで説明される装置は、本発明において上述した処理の全て又は一部を含むことができる。
本発明による編集方法の主なステップを示すフローチャートである。 本発明による変換ステップを示すフローチャートである。 本発明によるSVG処理ステップを示すフローチャートである。 本発明によるスクリプトノード変換ステップを示すフローチャートである。 本発明による逆変換ステップを示すフローチャートである。 本発明による方法の実現を可能にする装置を概略的に示すブロック図である。

Claims (25)

  1. 少なくとも1つのブラウザ型のソフトウェアディスプレイプログラムが表示のために使用される所定のマークアップ言語で表現された少なくとも1つのデジタルグラフィック文書を処理する方法であって、
    i)読み出しモードで表示された元の文書を、前記文書に対する書き込みルール群を取り入れた所定の変換ルール群に従って、前記マークアップ言語で編集可能なバージョンに変換するステップと、
    ii)前記書き込みルール群に従う前記編集可能なバージョンを変更するために、前記ソフトウェアディスプレイプログラムを介して前記編集可能なバージョンと対話するステップと、
    iii)ステップii)で行なわれた変更を取り入れて、変更された前記編集可能なバージョンを読み出しモードのバージョンに変換するステップとを含む方法。
  2. 前記所定の変換ルール群は、前記文書にリンクしない請求項1に記載の方法。
  3. 前記ブラウザ型のソフトウェアディスプレイプログラムは、前記元の文書を編集可能なバージョンに変換するための前記変換ルール群を使用可能である請求項1又は2に記載の方法。
  4. ステップiii)による前記逆変換は、編集済み文書から前記未編集文書を検索できる請求項1乃至3のいずれかに記載の方法。
  5. ステップi)による前記直接変換は、ステップiii)による前記逆変換をガイド可能なガイダンス情報を追加できる請求項1乃至4のいずれかに記載の方法。
  6. 前記ガイダンス情報は、除去される要素、特定の名前空間の前記変更済み文書に位置する要素、前記ガイダンス情報の値を更新するスクリプト、属性の作成/変更に関係する命令情報により形成されるグループに属する請求項5に記載の方法。
  7. ステップi)による前記直接変換は、選択可能なグラフィック要素の各々を識別できる請求項1乃至6のいずれかに記載の方法。
  8. ステップi)による前記直接変換は、SVG型マークアップ言語で書かれたノードの効果を停止するために、前記ノードを非SVG名前空間に取り入れる/移動することができ、ステップiii)による前記逆変換は、非SVG名前空間に移動された前記SVGノードを検索することができる請求項1乃至7のいずれかに記載の方法。
  9. ステップi)による前記直接変換は、アニメーション要素を保存するか/除去するかを判定できるパラメータを含む請求項1乃至8のいずれかに記載の方法。
  10. ステップi)による前記直接変換は、初期文書に対する前記文書の同期変更を可能にする変化イベントを取り入れる請求項1乃至9のいずれかに記載の方法。
  11. ステップi)による前記直接変換は、遠隔の前記文書から利用可能なプログラムを介して前記編集済み文書の全て又は一部を変更できる機構を取り入れる請求項1乃至10のいずれかに記載の方法。
  12. ステップiii)による前記逆変換は、初期化スクリプトにより作成されたグラフィック要素に対して行なわれた変更を保存するために、前記初期化スクリプトを変更できる請求項1乃至11のいずれかに記載の方法。
  13. 少なくとも1つのブラウザ型のソフトウェアディスプレイプログラムが表示のために使用される所定のマークアップ言語で表現された少なくとも1つのデジタルグラフィック文書を処理する装置であって、
    −読み出しモードで表示された前記元の文書を、前記文書に対する書き込みルール群を取り入れた所定の変換ルール群に従って、前記マークアップ言語で編集可能なバージョンに変換する変換手段と、
    −前記書き込みルール群に従う前記編集可能なバージョンを変更するために、前記ソフトウェアディスプレイプログラムを介して前記編集可能なバージョンと対話する処理手段と、
    −変更された前記編集可能なバージョンを、前記処理手段により行なわれた変更を取り入れた読み出しモードのバージョンに変換する逆変換手段とを備える装置。
  14. 前記所定の変換ルール群は、前記文書にリンクしない請求項13に記載の装置。
  15. 前記逆変換手段は、編集済み文書から前記未編集文書を検索できる請求項13又は14に記載の装置。
  16. 前記変換手段は、前記逆変換手段をガイドできるガイダンス情報を追加できる請求項13乃至15のいずれかに記載の装置。
  17. 前記ガイダンス情報は、除去される要素、特定の名前空間の前記変更済み文書に位置する要素、前記ガイダンス情報の値を更新するスクリプト、属性の作成/変更に関係する命令情報により形成されるグループに属する請求項16に記載の装置。
  18. 前記直接変換手段は、選択可能なグラフィック要素の各々を識別できる請求項13乃至17のいずれかに記載の装置。
  19. 前記変換手段は、SVG型マークアップ言語で書かれたノードの効果を停止するために、前記ノードを非SVG名前空間に取り入れる/移動することができ、前記逆変換手段は、非SVG名前空間に移動された前記SVGノードを検索することができる請求項13乃至18のいずれかに記載の装置。
  20. 前記変換手段は、アニメーション要素の保存/除去を判定できるパラメータを使用する請求項13乃至19のいずれかに記載の装置。
  21. 前記変換手段は、前記初期文書に対して前記文書を同期変更できる変化イベントを処理する請求項13乃至20のいずれかに記載の装置。
  22. 前記変換手段は、遠隔の前記文書から利用可能なプログラムを介して前記編集済み文書の全て又は一部を変更できる機構を含む請求項13乃至21のいずれかに記載の装置。
  23. 前記変換手段は、初期化スクリプトにより作成されたグラフィック要素に対して行なわれた変更を保存するために、前記初期化スクリプトを変更できる請求項13乃至22のいずれかに記載の装置。
  24. コンピュータシステムにより読み出し可能であり、全体的に又は部分的に取外し可能であり、コンピュータプログラムがコンピュータシステムによりロードされ実行される場合、請求項1乃至12のいずれかに記載の方法の実現を可能にするコンピュータプログラムの命令を含み、特にCD−ROM、或は、ハードディスク又はフロッピー(登録商標)ディスク等の磁気媒体であるデータ媒体、或は、電気信号又は光信号等を伝送可能な媒体。
  25. データ媒体に格納されたコンピュータプログラムにおいて、コンピュータシステムによりロードされ実行される場合、請求項1乃至12のいずれかに記載の処理方法の実現を可能にする命令を含むプログラム。
JP2006530766A 2003-09-30 2004-09-28 ブラウザを使用してsvgタイプのデジタルグラフィック文書を編集する方法及び装置 Pending JP2007510194A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0311434A FR2860315A1 (fr) 2003-09-30 2003-09-30 Procede et dispositif d'edition de documents graphiques numeriques du type svg notamment a partir d'un butineur
PCT/IB2004/003549 WO2005031598A1 (en) 2003-09-30 2004-09-28 Method and device for editing svg digital graphical documents using a browser

Publications (1)

Publication Number Publication Date
JP2007510194A true JP2007510194A (ja) 2007-04-19

Family

ID=34307273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006530766A Pending JP2007510194A (ja) 2003-09-30 2004-09-28 ブラウザを使用してsvgタイプのデジタルグラフィック文書を編集する方法及び装置

Country Status (7)

Country Link
US (1) US7765472B2 (ja)
EP (1) EP1668537B1 (ja)
JP (1) JP2007510194A (ja)
CN (1) CN1860472A (ja)
AT (1) ATE513265T1 (ja)
FR (1) FR2860315A1 (ja)
WO (1) WO2005031598A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403951B2 (en) * 2005-10-07 2008-07-22 Nokia Corporation System and method for measuring SVG document similarity
FR2911200A1 (fr) * 2007-01-09 2008-07-11 Canon Kk Procede et dispositif de traitement de documents a partir de schemas enrichis et procede et dispositif de decodage correspondants
US8347225B2 (en) * 2007-09-26 2013-01-01 Yahoo! Inc. System and method for selectively displaying web page elements
EP2187321B1 (fr) * 2008-11-13 2018-09-12 Orange Procédé et dispositif d'édition d'un objet représenté dans une page web
GB2492096B (en) * 2011-06-21 2014-02-19 Canon Kk Method for processing a structured document to render, and corresponding processor
CN106445445B (zh) * 2011-11-08 2022-06-03 苏州超擎图形软件科技发展有限公司 一种矢量数据的处理方法及装置
US9465882B2 (en) * 2012-07-19 2016-10-11 Adobe Systems Incorporated Systems and methods for efficient storage of content and animation
US10452747B2 (en) 2016-04-11 2019-10-22 Microsoft Technology Licensing, Llc Dynamically formatting scalable vector graphics
US20180032487A1 (en) * 2016-07-27 2018-02-01 Microsoft Technology Licensing, Llc Scalable vector graphics bundles
CN107239437B (zh) * 2017-06-06 2018-10-19 智为天下(北京)科技有限公司 一种文档编辑方法、装置、可读存储介质及终端设备
CN109766533B (zh) * 2018-12-19 2023-06-16 云南电网有限责任公司大理供电局 一种电网svg图纸中文本分组方法及相关产品
CN113568613A (zh) * 2021-07-08 2021-10-29 浙江浙大中控信息技术有限公司 一种svg组态流程图在线转动态可交互网页方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223062A (ja) 1996-02-16 1997-08-26 Fuji Xerox Co Ltd サービス提供形態のカスタマイズ方法およびその方法の実施に使用可能なサーバ装置
US7210095B1 (en) * 2000-10-31 2007-04-24 Cisco Technology, Inc. Techniques for binding scalable vector graphics to associated information
JP3692054B2 (ja) 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
JP3857663B2 (ja) * 2002-04-30 2006-12-13 株式会社東芝 構造化文書編集装置、構造化文書編集方法及びプログラム
CA2414053A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7644361B2 (en) * 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources

Also Published As

Publication number Publication date
ATE513265T1 (de) 2011-07-15
WO2005031598A1 (en) 2005-04-07
US20070113177A1 (en) 2007-05-17
EP1668537B1 (en) 2011-06-15
FR2860315A1 (fr) 2005-04-01
CN1860472A (zh) 2006-11-08
WO2005031598A9 (en) 2006-04-13
EP1668537A1 (en) 2006-06-14
US7765472B2 (en) 2010-07-27

Similar Documents

Publication Publication Date Title
US7143344B2 (en) Transformation stylesheet editor
US9047261B2 (en) Document editing method
JP3857663B2 (ja) 構造化文書編集装置、構造化文書編集方法及びプログラム
US8055997B2 (en) System and method for implementing dynamic forms
EP1517248A2 (en) Information processing apparatus, its control method, and program
US20110258538A1 (en) Capturing DOM Modifications Mediated by Decoupled Change Mechanism
US20060143562A1 (en) Self-describing editors for browser-based WYSIWYG XML/HTML editors
JP2007264792A (ja) 音声ブラウザプログラム
CN101937427A (zh) 一种基于浏览器的内容编辑及发布的系统及方法
JPWO2006137565A1 (ja) 文書処理装置及び文書処理方法
JP2004139466A (ja) 電子ドキュメント印刷プログラムおよび電子ドキュメント印刷システム
WO2004097656A1 (ja) コンテンツ作成システム、コンテンツ作成方法、該コンテンツ作成方法を実行させるためのコンピュータ実行可能なプログラム、該プログラムが記録されたコンピュータ可読な記憶媒体、グラフィカル・ユーザ・インタフェース・システム、および表示制御方法
EP1668537B1 (en) Method and device for editing svg digital graphical documents using a browser
JPWO2005098658A1 (ja) 文書処理装置及び文書処理方法
WO2007052680A1 (ja) 文書処理装置及び文書処理方法
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
JP3788956B2 (ja) 構造化文書表示方法、構造化文書表示装置及びプログラム
Holman What is XSLT
KR101390189B1 (ko) 도움말 파일을 형성하는 시스템 및 방법
JP2007183849A (ja) 文書処理装置
US20080005154A1 (en) Document Processing Device and Document Processing Method
Pohja et al. Web User Interaction: Comparison of Declarative Approaches
JP5232748B2 (ja) ワークフロー表示支援装置及びワークフロー表示プログラム
EP1628227A1 (en) Data processing device, data processing method, data processing program, and computer-readable recording medium containing the data processing program
JP5237875B2 (ja) 共有記事公開システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080623