35

私はFritzingというプログラムを使用して、いくつかの基本的なArduino回路図を描画し、出力をSVGとしてエクスポートしました。これは期待どおりに機能しますが、SVG出力は一部のブラウザーでのみ問題なく表示され、Firefoxの一部のバージョンでのみ問題がないことに気付きました。

Fritzingはオープンソースアプリなので、コードを調べることができると思いました(そしておそらく少し役立つかもしれません)。

しかし、質問に移りますが、正しいSVGはどのように見えると思われますか?W3Cのどのベリファイアを使用してファイルをチェックできますか?

このページにあるバリデーターを使用しようとしました:http://validator.w3.org/dev/tests/

しかし、彼らは皆、特にSVGバージョンについて多くの不満を持っていました。ベリファイアはバージョン1.0と1.1が好きなようですが、このファイルの上部を見ると、バージョン1.2を使用しているようです。

これは、問題のあるファイルの上位3行です(読みやすくするために再フォーマットされています)。

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created with Fritzing (http://www.fritzing.org/) -->
<svg width="3.50927in"
     x="0in"
     version="1.2"
     y="0in"
     xmlns="http://www.w3.org/2000/svg"
     height="2.81713in"
     viewBox="0 0 252.667 202.833"
     baseProfile="tiny"
     xmlns:svg="http://www.w3.org/2000/svg">

使用できる特定のSVG1.2ベリファイアはありますか?

それとも、SVGを従来のXMLファイルであるかのように検証しようとしますか?

(ちなみに、FritzingはQtを使用しているようですので、QTestがあれば、それが役立つかもしれません。)

4

3 に答える 3

24

たとえば、http: //validator.nuを使用できます。ファイルはスタンドアロンなので、xml解析を選択し、スキーマテキストフィールドにRNG URLを貼り付けます(探しているスキーマURLは、関連する仕様、この場合はSVG 1.2 Tinyにあります:http ://www.w3.org /TR/SVGTiny12/relaxng/Tiny-1.2.rng)。

3行のスニペットでさえ有効なSVG1.2Tinyコンテンツではありません(Tinyの<svg>要素ではx属性とy属性は許可されていません)。ファイルへのリンクをどこかに追加する必要があります。そうしないと、ファイルがどのように表示されるかを判断するのが困難になります。

于 2012-09-24T08:24:14.557 に答える
3

ターミナルsvgcheckにはpythonユーティリティがあり、draft-7996-bisで定義されているように、バージョン1.2をターゲットにしていると主張しています。有望なユーティリティ、IMHO。

SVGチェック手順。

pip install svgcheck
svgcheck ~/path/to/mysvgfile.svg

適切な標準のsvgファイルは次のようになります。

$ svgcheck alert-circle.svg
Parsing file alert-circle.svg
INFO: File conforms to SVG requirements.
  • pipインストールしてPythonが正しく構成されていることを確認してください
于 2020-09-04T08:00:45.977 に答える
1

たとえばメッセージ識別用のブランドインジケーター(BIMI)で使用されるサブセットSVG Tiny 1.2 Portable / Secure(SVG P / S)については、RNCスキーマを使用したBIMISVGイメージの検証を参照してください。コマンドラインでRelaxNGCompact (RNC)XMLスキーマ検証を実行する方法を示します。

pip3 install jingtrang
wget 'https://bimigroup.org/resources/SVG_PS-latest.rnc.txt'
pyjing -c SVG_PS-latest.rnc.txt my-image.svg

私のユースケースでは、PNGロゴタイプを使用してSVG Tiny 1.2に変換しましたpng2svgが、これが出力でした。

my-image.svg:1:159: error: value of attribute "baseProfile" is invalid; must be equal to "tiny-ps"
my-image.svg:1:174: error: element "g" not allowed yet; missing required element "title"

baseProfile値を編​​集して。を追加することで、エラーを簡単に修正できました<title>A very nice image title</title>

于 2021-09-27T12:07:07.143 に答える