Bug 514 - ImageTexture url values with (? = query) values fail
: ImageTexture url values with (? = query) values fail
Status: RESOLVED WONTFIX
Product: Xj3D Toolkit
Node Implementation - Core Nodes
: 2.0 M1
: PC Windows XP
: P5 normal
Assigned To: Alan Hudson
:
:
:
  Show dependency treegraph
 
Reported: 2008-11-12 09:14 PST by Don Brutzman
Modified: 2008-11-12 17:04 PST (History)
2 users (show)

See Also:


Attachments
Example scene for ImageTexture url values with (? & =) query values that fails (9.18 KB, model/x3d+xml)
2008-11-12 12:48 PST, Byounghyun Yoo
Details
Equivalent working example without query values (9.17 KB, model/x3d+xml)
2008-11-12 12:50 PST, Byounghyun Yoo
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description Don Brutzman 2008-11-12 09:14:18 PST
ImageTexture url values with (? & =) query values fail

Impact:  this is blocking us from experimenting with different X3D-Earth
archive schemes.

Example url of interest:  http://x3d-earth.nps.edu/php/image.php?t=0&p=m

Equivalent (for current testing purposes): http://x3d-earth.nps.edu/0m.png

Use of the Java class java.net.URL (and related classes) should be able to
handle URL values correctly, so if the ImageTexture implementation utilizes
this class (or similar) then further prohibitions are likely unnecessary.

Legal URL constructions are governed by RFC 1738
http://www.faqs.org/rfcs/rfc1738.html

Xj3D Version: 2_M1_DEV_2008-06_02
Comment 1 Byounghyun Yoo 2008-11-12 12:48:40 PST
Created an attachment (id=264) [details]
Example scene for ImageTexture url values with (? & =) query values that fails
Comment 2 Byounghyun Yoo 2008-11-12 12:50:27 PST
Created an attachment (id=265) [details]
Equivalent working example without query values
Comment 3 Byounghyun Yoo 2008-11-12 12:53:45 PST
Error message from Xj3D console

-----------------------------------------------------

Xj3D Version: 2_M1_DEV_2008-09-05

Initializing Browser
Device found: Mouse-0
Device found: Keyboard-0
System.out: org.web3d.vrml.renderer.common.nodes.shape.useMipMaps set to: true
Fatal Error: URI=null Line=26: The reference to entity "p" must end with the
';' delimiter.
The reference to entity "p" must end with the ';' delimiter.
org.xml.sax.SAXParseException: The reference to entity "p" must end with the
';' delimiter.
    at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
    at org.web3d.parser.GeneralisedReader.parse(GeneralisedReader.java:264)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:155)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:201)
    at
org.xj3d.impl.core.loading.WorldLoadHandler.processLoadRequest(WorldLoadHandler.java:181)
    at org.xj3d.core.loading.ContentLoader.run(ContentLoader.java:126)
    at java.lang.Thread.run(Unknown Source)
Error: Error parsing XML
URI=null Line=26: The reference to entity "p" must end with the ';' delimiter.
org.xml.sax.SAXException: URI=null Line=26: The reference to entity "p" must
end with the ';' delimiter.
    at org.web3d.x3d.jaxp.X3DErrorHandler.fatalError(X3DErrorHandler.java:87)
    at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
Source)
    at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
    at org.web3d.parser.GeneralisedReader.parse(GeneralisedReader.java:264)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:155)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:201)
    at
org.xj3d.impl.core.loading.WorldLoadHandler.processLoadRequest(WorldLoadHandler.java:181)
    at org.xj3d.core.loading.ContentLoader.run(ContentLoader.java:126)
    at java.lang.Thread.run(Unknown Source)
Error: Unknown error in content loading process
Failed to parse file
org.web3d.vrml.lang.VRMLException: Failed to parse file
    at org.web3d.parser.GeneralisedReader.parse(GeneralisedReader.java:272)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:155)
    at
org.xj3d.impl.core.loading.DefaultWorldLoader.loadNow(DefaultWorldLoader.java:201)
    at
org.xj3d.impl.core.loading.WorldLoadHandler.processLoadRequest(WorldLoadHandler.java:181)
    at org.xj3d.core.loading.ContentLoader.run(ContentLoader.java:126)
    at java.lang.Thread.run(Unknown Source)
Comment 4 Alan Hudson 2008-11-12 12:59:41 PST
Ampersands in XML attributes must be escaped.

See:
http://www.w3.org/TR/xhtml1/#C_12

Here is a corrected form of the url:

url="http://x3d-earth.nps.edu/php/image.php?t=0&p=m"

I will keep this bug report open.  If you disagree then give us references,
otherwise we'll close this.
Comment 5 Byounghyun Yoo 2008-11-12 17:01:58 PST
Than we can use query values in url. you can close this bug.
Thanks again.
Comment 6 Alan Hudson 2008-11-12 17:04:29 PST
Just needed to use & in the url instead.