diff --git a/internal/fan/jx.go b/internal/fan/jx.go index 43a26c5..0f9a134 100644 --- a/internal/fan/jx.go +++ b/internal/fan/jx.go @@ -149,12 +149,16 @@ func (j *JxFile) Extract(resourceSource data.Resource, filter data.ElementSelect } uri := resourceSource.URI() - if folio.DocumentRegistry.HasDocument(folio.URI(uri)) { - uri = fmt.Sprintf("%s?index=%d", uri, j.index) + documentIndexUri := fmt.Sprintf("%s?index=%d", uri, j.index) + + doc = folio.DocumentRegistry.NewDocument(folio.URI(documentIndexUri)) + if ! folio.DocumentRegistry.HasDocument(folio.URI(uri)) { + folio.DocumentRegistry.SetDocument(folio.URI(uri), doc.(*folio.Document)) + doc.(*folio.Document).SetURI(uri) } - doc = folio.DocumentRegistry.NewDocument(folio.URI(uri)) + err = j.decoder.Decode(doc) - slog.Info("JxFile.Extract()", "doc", doc, "jxfile", j, "error", err) + slog.Info("JxFile.Extract()", "uri", uri, "doc", doc, "jxfile", j, "error", err) j.index++ if err != nil { return