Skip to content

XML tag starting with a colon #94

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ashawley opened this issue Feb 15, 2016 · 3 comments
Closed

XML tag starting with a colon #94

ashawley opened this issue Feb 15, 2016 · 3 comments

Comments

@ashawley
Copy link
Member

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
@hosamaly
Copy link
Contributor

It looks like this is an issue for tags ending with a colon as well.

@ashawley
Copy link
Member Author

@hosamaly Thanks, Hosam!

@ashawley
Copy link
Member Author

Part of this would need to be fixed in the compiler. It's not a big concern, so closing since there's no big need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants