[
https://issues.apache.org/jira/browse/DAFFODIL-3033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18021924#comment-18021924
]
Olabusayo Kilo edited comment on DAFFODIL-3033 at 9/22/25 6:52 PM:
-------------------------------------------------------------------
So attempting to remove *SchemaSource from the TDML API proved to be difficult
causing issues with diagnostics when we tried to use just the URIForLoading.
Essentially the SchemaSource contained a diagnosticFile, which was used for
diagnostics, but when we switched to just using the URI, we ended up with /tmp/
paths in the diagnostics for Embedded schemas.
We considered passing in the diagnosticFile to the getProcessor function, then
recreating the URISChemaSource within the TDMLRunner, but we'd be essenially
creating a schemaSource, extracting the uriForLoading and the diagnosticFile,
and putting it back together. Which is a bit inefficent. (Attempt can be found
here, without the diagnosticFile changes:
https://github.com/olabusayoT/daffodil/tree/daf-3033-tdml-api)
All that to say, we think it's a lot of effort for a non-oft used API.
was (Author: [email protected]):
So attempting to remove *SchemaSource from the TDML API proved to be difficult
causing issues with diagnostics when we tried to use just the URIForLoading.
Essentially the SchemaSource contained a diagnosticFile, which was used for
diagnostics, but when we switched to just using the URI, we ended up with /tmp/
paths in the diagnostics for Embedded schemas.
We considered passing in the diagnosticFile to the getProcessor function, then
recreating the URISChemaSource within the TDMLRunner, but we'd be essenially
creating a schemaSource, extracting the uriForLoading and the diagnosticFile,
and putting it back together. Which is a bit inefficent.
All that to say, we think it's a lot of effort for a non-oft used API.
> Update TDML API to not depend on internal classes
> -------------------------------------------------
>
> Key: DAFFODIL-3033
> URL: https://issues.apache.org/jira/browse/DAFFODIL-3033
> Project: Daffodil
> Issue Type: Improvement
> Components: API
> Affects Versions: 4.0.0
> Reporter: Josh Adams
> Priority: Minor
>
> The TDML API relies on many internal classes such as:
> DaffodilSchemaSource
> EmbeddedSchemaSource
> URISchemaSource
> Diagnostic
> See https://github.com/OpenDFDL/ibmDFDLCrossTester/pull/26 for more examples
> Ideally the TDML API wouldn't rely on these internal API's.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)