stevedlawrence commented on code in PR #1451:
URL: https://github.com/apache/daffodil/pull/1451#discussion_r1984084922
##########
daffodil-lib/src/main/scala/org/apache/daffodil/lib/exceptions/SchemaFileLocatable.scala:
##########
@@ -125,7 +125,12 @@ class XercesSchemaFileLocation(
) extends SchemaFileLocation(
(if (xercesError.getLineNumber > 0)
Some(xercesError.getLineNumber.toString) else None),
(if (xercesError.getColumnNumber > 0)
Some(xercesError.getColumnNumber.toString) else None),
- schemaFileLocation.diagnosticFile,
+ (if (
+ xercesError.getSystemId != null &&
+ // only set to systemId if it's different from the diagnosticFile path
+
!xercesError.getSystemId.endsWith(schemaFileLocation.diagnosticFile.getPath)
+ ) new File(xercesError.getSystemId)
+ else schemaFileLocation.diagnosticFile),
Review Comment:
Kindof. I'm suggesting that when we load XMLSchema_for_DFDL.xsd, not when we
validate with it, we need to detect that it wasn't loaded.
I was hoping we could wrap this line in a try/catch block:
https://github.com/apache/daffodil/blob/main/daffodil-lib/src/main/scala/org/apache/daffodil/lib/xml/DaffodilXMLLoader.scala#L737
And throw an assertion when it fails, but i'm not sure if that actually
throws an exception on failure. Might need a different approach if that doesn't
work.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]