0

状況:

私の顧客は、ページ内に SVG 図面を配置するように求めています。だから私の部分は

<svg ..> 
    ..
</svg>

<script>..</script>

私はいくつかのプライベート(つまり、std.attrなし)情報を図面に追加したい(必要です)(私は今charlyと呼んでいます):これ(この2つのバリアント)はfirefoxでうまく機能します:

<svg id='myHorribleDrawing' xmlns='http://www.w3.org/2000/svg' ....>
...
<g id='000000000230865' charly ='xxx' ... >
    <charlydata charly ='xxx '/>
    <use x='304.0' y='74.5'  width='30' height='30'  xlink:href='#path'  />
</g>
...
</svg>

両方とも正常に動作します - 属性または不明な要素を押し付けるだけです。Firefox (たとえば) は、何も問題がなかったかのようにそれを食べます。

しかし、これは - ただ - 間違っていると確信しています。

私の研究では、DTD を変更することになりました (難しいことです) が、私は DOCTYPE の所有者ではありません! だから別の試み

2番目の試みは、プライベート名前空間(mycharly)を宣言することでした

<svg xmlns='http://www.w3.org/2000/svg'  version='1.2'....
  xmlns:mycharly='http://www.example.org/charles'>
...
<g ...>
<mycharly:charlydata charly='blind'>  
(and close it all)

正常に動作し、ブラウザは何の抗議もなしに受け入れます。唯一の違いは、jQuery が 'mycharly:charlydata' セレクターを好まないことです ...

私は何時間も探していましたが、これを行う正しい方法は何であるか、そして私は、方法がないという考えに行き着いていますか、それとも「すべての木のために木が見えない」だけですか? (オーストリアの格言)

4

1 に答える 1