2017-07-12 10 views
1

javaまたはgroovyでSVGコードの検証を行う方法やコードスニペットはありますか?JavaでのSVG検証

コードは、間違ったSVGコードがアップロードされているかどうかをチェックする必要があります。

例:以下のコードには閉じたシンボルタグ(</symbol>)がありませんので、フォームからのデータ保存時にエラーが発生します。 Groovyで

<symbol id="sym01" viewBox="0 0 150 110"> 
    <circle cx="50" cy="50" r="40" stroke-width="8" 
     stroke="red" fill="red"/> 
    <circle cx="90" cy="60" r="40" stroke-width="8" 
     stroke="green" fill="white"/> 
+0

すべてのXMLパーサーは、何かが有効なXMLであることを検証できます。 –

答えて

0

それはよく、例えば形成されていない場合は、ちょうどXmlSlurperでフラグメントを解析しようとすると失敗しますキャッチ

def badXml = '''<symbol id="sym01" viewBox="0 0 150 110"> 
    <circle cx="50" cy="50" r="40" stroke-width="8" 
     stroke="red" fill="red"/> 
    <circle cx="90" cy="60" r="40" stroke-width="8" 
     stroke="green" fill="white"/>''' 

def x = new XmlSlurper().parseText(badXml) 

は、次の例外がスローされますorg.xml.sax.SAXParseExceptionを。 lineNumber:5; columnNumber: 36; XML文書構造は、同じエンティティ内で開始し、終了する必要があります。