- 
                Notifications
    
You must be signed in to change notification settings  - Fork 92
 
Closed
Description
A partial fix was added to #93 for handling XML names starting with a colon.
@som-snytt raises the issue that colons may not be fully corrected.
Here is an empty element:
scala> val x = <:/>
<console>:10: error: not found: value <:/>
       val x = <:/>
               ^
Here is a name with a letter, but starting with a colon:
scala> val a = <:a/>
<console>:1: error: illegal start of simple expression
val a = <:a/>
        ^
Trying with a string doesn't work much better
scala> val a = "<:a/>"
a: String = <:a/>
scala> val x = scala.xml.XML.loadString(a)
java.lang.IllegalArgumentException: prefix of zero length, use null instead
  at scala.xml.Elem.<init>(Elem.scala:102)
  at scala.xml.Elem$.apply(Elem.scala:34)
  at scala.xml.parsing.NoBindingFactoryAdapter.createNode(NoBindingFactoryAdapter.scala:30)
  at scala.xml.parsing.NoBindingFactoryAdapter.createNode(NoBindingFactoryAdapter.scala:19)
  at scala.xml.parsing.FactoryAdapter.endElement(FactoryAdapter.scala:182)
  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
  at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
  at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:766)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1292)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3138)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
  at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
  at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
  at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
  at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:41)
  at scala.xml.XML$.loadXML(XML.scala:60)
  at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:60)
  at scala.xml.XML$.loadString(XML.scala:60)
  ... 43 elided
Metadata
Metadata
Assignees
Labels
No labels