我有一個SVG文檔,SVG樣式元素具有屬性xml:space =「preserve」。SAXParseException命名空間xml undefined使用Scala
當嘗試使用Scala的這個文件解析,一個例外是線程拋出與堆棧跟蹤 異常「主要」 org.xml.sax.SAXParseException:XML命名空間未定義 在com.dautelle.xml.sax.RealtimeParser .parseError(Unknown Source) at com.dautelle.xml.sax.RealtimeParser.processAttribute(Unknown Source) at com.dautelle.xml.sax.RealtimeParser.parseContent(Unknown Source) at com.dautelle.xml.sax。 RealtimeParser.parse(Unknown Source) at com.dautelle.xml.sax.XMLReaderImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at scala.xml.factory。 XMLLoader $ class.loadXML(XMLLoader.sc ala:40) at scala.xml.XML $ .loadXML(XML.scala:40) at scalaapplication11.Main $ .main(Main.scala:144) at scalaapplication11.Main.main(Main.scala) Java結果:1
這裏的SVG元素 < SVG的xmlns = 「http://www.w3.org/2000/svg」 的xmlns的頂部:jdipNS =「http://jdip.sourceforge.org/jdipNS 「xmlns:xlink =」http://www.w3.org/1999/xlink「color-rendering =」optimizeQuality「contentScriptType =」text/ecmascript「contentStyleType =」text/css「height =」680px「preserveAspectRatio =」xMinYMin 「version =」1.0「viewBox =」0 0 1835 1360「width =」918px「zoomAndPan =」magnify「>
和這裏的風格元素 <風格類型= 「文/ CSS」 XML:空間= 「保存」 > < [CDATA [
/* text */
.titletext {text-anchor:middle;stroke-width:0.3;font-family:sansserif;font-size:12;stroke:black;fill:black;}
.provtext {text-anchor:middle;stroke-width:0.3;font-family:sansserif;font-size:12;stroke:black;fill:black;}
.labeltext {stroke-width:0.1;stroke:black;fill:black;}
.unordered {fill:red; stroke:black; stroke-width:1;fill-opacity:0.90;}
.labeltext
,我能夠使用Java的DocumentBuilderFactory可以追加的xmlns:jdipNS屬性到文檔的根。但xmlns:xml不會被追加(可能是因爲它是一個標準的命名空間)。我不知道如何讓Scala處理xml命名空間。
謝謝。我加載了Apache的Xerces實現,並解決了這個問題。 – DetriusXii