PHPを使用したSVGのプログラムによる操作のためのInkscapeの代替

EDIT: I originally stated that I was unable to manipulate Inkscape SVGs with JavaScript; this was an error on my part, owing to my failure (in my joy over discovering this site) to revisit the project which had been dormant for over a year. I would actually like to do some server-side manipulation with PHP; this is where the issue arises.

I'm looking to create javascriptable SVG images for a web dashboard project, and would like to initialize them using server-side PHP before they load. The last time I looked at Inkscape it was burying crucial attributes like stroke width, fill colour, font &c in the style attribute rather than in individual element attributes; this makes programmatic manipulation a serious PITA.

誰もが、個々の要素属性の要素特性を設定する優れたオープンソースSVGエディタ、またはInkscapeファイルを変換できるツールを知っていますか?

私が理解しているように、長方形の塗りつぶしを変更するために JavaScript PHP /XML DOMを(例えば)使用するには、


  

Inkscapeはそれを


  

JavaScript PHP style 属性の個々の要素にアクセスすることはできません。

3
本気ですか? SVG標準でリンクしているページにはスタイル属性が記述されていますが、問題はないようですが、個々のスタイルはDOM内からアクセスできるようにも見える
追加された 著者 Rena,
document.getElementById( 'temp_level')。style.fill = 'red';
追加された 著者 Rena,
私がしたいのは、オブジェクトの塗りつぶしの色や大きさなどを操作するためにjavascriptのDOM関数を使用することです。表示される値に応じて拡大、縮小、色が変化する色付きの列を持つ体温計ウィジェットです。 W3 SVG標準では、これらをプレゼンテーション属性に設定する必要があります。それらをDOMの一部にします。 Inkscapeはそれらをインラインスタイルに置きます。これはDOMの外にあり、アニメーション化するのがはるかに難しくなります。
追加された 著者 Chris Browne,
元の質問にサンプルXMLを追加しました。たとえば、変更できるサンプルJavaScriptを表示できますか?矩形の塗りつぶし色?あなたができるなら、私は最も感謝するだろう。私が解決しようとしている問題は、SVGの操作ではなく、Inkscapeによって作成されたSVGの操作です。
追加された 著者 Chris Browne,
プロジェクトを見直すと、私の問題はJavaScriptではなくPHPであることが分かりました。私はこれを反映するために私の質問を更新しました。
追加された 著者 Chris Browne,

1 答え

はい、これは実際には PHP DOMライブラリ。 Inkscape側で簡単に修正できます。 「最適化されたsvg」として保存するかを選択します。

Inkscape save as optimized svg

そして、 "XMLへのスタイル"ボックスがチェックされていることを確認してください。

enter image description here

4
追加された
テスラによって、それはうまくいった!ありがとうございました。
追加された 著者 Chris Browne,