Bugzilla – Bug 514
ImageTexture url values with (? = query) values fail
Last modified: 2008-11-12 17:04:29 PST
You need to log in before you can comment on or make changes to this bug.
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
Created an attachment (id=264) [details] Example scene for ImageTexture url values with (? & =) query values that fails
Created an attachment (id=265) [details] Equivalent working example without query values
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)
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.
Than we can use query values in url. you can close this bug. Thanks again.
Just needed to use & in the url instead.