[ 
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)

Reply via email to