.svg ファイルを開けません: XML 解析エラー

.svg ファイルを開けません: XML 解析エラー

今日 20.04 にアップグレードしましたが、どういうわけか、ドキュメント ビューアーでファイルを開くことができません.svg。このエラーが繰り返し発生します。以前、18.04 を使用していたときは、すべて正常に動作していました。このようなエラーは発生しませんでした。

XML parse error: error code=201 (3) in (null):606:15: Namespace prefix xlink for href on image is not defined

編集

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="200" height="200">
  <image id="image0" width="200" height="200" x="0" y="0"
    xlink:href="data:image/png;base64

答え1

ドキュメント ビューアーは、svgファイルのどこかに宣言されていない表記があるとエラーを出しますxlink。つまり、ファイルsvgは有効ではなくxml、ドキュメント ビューアーは正しくエラーを出します。新しいバージョンでは、この点についてより厳格になっている可能性があります。

ファイルを修正するには、エディターでファイルを開き、ファイルの先頭のタグxlinkに宣言が含まれていることを確認します。次のようになります。<svg>

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

アップデート: ファイルの場合は、次の行を変更します。

<svg width="200" height="200">

これに:

<svg width="200" height="200"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

答え2

見る:<svg> - SVG: スケーラブル ベクター グラフィックス | MDN

要素svgは、新しい座標系とビューポートを定義するコンテナです。SVG ドキュメントの最も外側の要素として使用されますが、SVG または HTML ドキュメント内に SVG フラグメントを埋め込むためにも使用できます。

注記:属性xmlns必須SVG ドキュメントの最も外側の svg 要素に使用します。内側の svg 要素や HTML ドキュメント内では必要ありません。


svgほとんどの場合、タグには次の属性xmlnsviewBox; オプションでwidthおよびheight: があれば十分です。

<svg xmlns="http://www.w3.org/2000/svg"
     viewBox="0 0 16 16" width="50" height="50">
  <g>
    <path d=". . ."></path>
  </g>
</svg>

関連情報