Thank for the reply. To be clear, you use another service to read which takes some content stream + the REL-EXT stream. This service then pulls the PID of the object with the XSLT from some relationship within RELS-EXT. It then retrieves that through the REST API, runs the transform, and returns it through the SOAP service defined in the sDep. I know you said it's been some time, but just wondering if that sounds roughly correct.
I've been playing around with it some and XML is not one of my strongest skills. I was hoping that I could use an XPath expression, but I'm not sure how URI resolution works within FC. Using the internal URI (info:fedora/pid:001/dsFoo) didn't work for adding "external" datastreams. I'm wondering even if pulling out that path was possible from the RELS-EXT, if the service could actually resolve the content. Sorry, just thinking out loud.
----- Original Message -----
From: "Scott Prater" <prater@...>
To: "Support and info exchange list for Fedora users." <fedora-commons-users@...>
Sent: Thursday, January 31, 2013 9:35:43 PM
Subject: Re: [fcrepo-user] Digital Object Reuse in Service Deployment
Hello, Ryan --
We're doing something similar in our setup. We create digital objects that contain a XSLT datastream, and then link the xml *object* to be transformed to the XSLT *object* (not XSLT datastream) in the xml object's RELS-EXT. We have a disseminator that links to a webservice which reads the RELS-EXT, retrieves the XSLT datatstream, and does the transform.
It's been some years since I set it up, so I may not have the details right. Let me know if you'd like more info.
On 01/31/13, Ryan Ward wrote:
> We have a large number of items in our repository that all need a common XSL applied to them for certain kind of display. In the demo objects, there is something similar to what I am trying to create. In that case, there is a digital object which contains both the datastream to be transformed and the xlst as datastreams.
> This seems excessive to me when I will have potentially tens of thousands of objects that could all use the same xslt. I have a couple of approaches in mind, but I am not sure what would work. I wanted to define the xslt as a datastream in an object of its own, then point a datasream on each object to this one object's datastream. However, if I use the internal uri (info:fedora/foo:001/bazDatastream) it throws an error. I can use the URL reference to the datastream and get that to work (http://hostname/fedora/objects/foo:001/datastreams/bazDatastream/content). This just struck me as poor practice potentially. I did not know if there was a better way to link to a datastream of another object.
> Alternatively, I thought maybe I could define a relationship to the datastream in RELS-EXT and then pull that datastream out as a parameter in the sDep. However, I cannot find any good info on if the is possible or how to accomplish that. So I am wondering if there are any good resources besides the base documentation on creating service deployments. I haven't found much in my Googling.
> Ryan Ward
Library, Instructional, and Research Applications (LIRA)
Division of Information Technology (DoIT)
University of Wisconsin - Madison
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
Fedora-commons-users mailing list