11 Replies Latest reply on Jul 21, 2017 9:48 AM by Jason C Hoyt

    Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages

    Jason C Hoyt

      Hello Indesign Community, I have a problem handing off a large InDesign CC 2017 file to a client due to hundreds image links and XML (using XSLT transformation files). When the client gets a zip of the 312 page INDD file along with a relatively similar folder structure of AI files. The content all comes from 104 XML files published from their Content Management System (write once, publish everywhere model) and pulled down to my computer. The XML is mapped to tags in InDesign via two XSLT transformation files (which does a decent job, even with large tables). I do not have access to their filesystem network in order to move the files without InDesign thinking that the files have been modified. The client gets the following error when opening up the InDesign document:

      Stylesheet '/my/path/to/file.xslt', specified in the XSLT processing instruction can not be found. File was imported without any transformations performed.

       

      Packaging the file does not help as Packaging does not include the XML files in the Links folder and in the Links Panel it keeps the location before packaging which does not help the client.

       

      Does anyone in the community have experience transferring a large InDesign document with XML/XSLT content to a client/coworker?

       

      Would Adobe Drive address this? I've sent an email to Adobe regarding my interest in Adobe Drive but they haven't gotten back to me and it has been weeks. Although the client is happy to have me make the latest edition of updates, eventually they should be able to update/import the content from their CMS in-house.

       

      They would like to use Dropbox or something similar to version the image assets as well. Has anyone ever used the Silicon Connector for InDesign/Illustrator/Photoshop by Silicon Publishing? It looks promising and the cost isn't too bad.

       

      Thanks for any help beforehand,

      Jason H.

        • 1. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
          srishtib8795206 Adobe Employee

          Hi Jason Hoyt,

           

          Please refer below mentioned link for Adobe Drive.

          Adobe Availability Notification

           

          Sign up on this link, an Adobe representative will contact you to understand your interest and needs around Adobe Drive

           

          Regards

          Srishti

          1 person found this helpful
          • 2. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
            Jason C Hoyt Level 1

            Thanks for your response Srishti,

             

            However, that is now the 3rd time that i have filled out that form in about a month because I haven't heard back from Adobe (and I use the same email as my Adobe CC account email) regarding Drive.

             

            I'm definitely interested in getting various clients onboard with InDesign and Drive more and more - but this large InDesign file transfer is my biggest demand at the moment.

             

            Thanks,

            Jason

            • 3. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
              ohmnath Adobe Employee

              Hi Jason,

               

              Adobe Drive is end of life. You can use Dropbox. It's a third party solution, however people have use it and got good feedback.

              Adobe Drive CC is Incompatible with Creative Cloud 2017 Desktop Apps

               

               

              Regards,

              Om

              • 4. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                Jason C Hoyt Level 1

                Oh, that's good to know now... I guess.

                 

                Can someone from Adobe address the biggest issue which is: when I transfer the Package and/or zipped directory of InDesign and asset files that they get the XSLT transformation file issue regarding 100+ XML files that are 100% of the content of the document? We can't use Dropbox because of the different Operating System paths used by everyone on their team (Mac vs Windows and so Dropbox paths will not be the same). Once they 'update' link with their OS path most formatting gets destroyed because of this XSLT error - even though the XSLT is in the same relative path. This InDesign document is over 300 pages. I pitched InDesign as a solution because of the XML/XSLT capability.

                 

                Thanks,

                Jason

                • 5. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                  Loic.Aigon Adobe Community Professional

                  Hi,

                   

                  When you apply XSLT transformation on InDesign XML import, there are some possible side effects. The biggest one is that if you choose "Create Link" when you imported the XML (so later any changes in the XML can be dynamically updated in the layout), the document will always try to access to the initial XSLT file location. If not found, you will be warned that the XSLT file were not found.

                  I think the only way to fix it is to edit the file through IDML from my memories.

                  So I tend not to choose "Create Link" If I ever have to use the file on another computer.

                   

                  FWIW

                   

                  Loic

                  1 person found this helpful
                  • 6. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                    Dirk Becker Level 4

                    You are too much stressing the size aspect while this is a general half-implemented functionality problem. XML is an exotic area that hasn't seen much attention after approximately CS4. Just attempting to reproduce your problem has shown me several more:

                    • The link information pointing to the style sheet probably won't survive an IDML roundtrip
                    • You can't reach the link import options thru scripting
                    • "Show import options" from the relink dialog is ignored.
                    • As you found out the hard way, the XSLT path is absolute and not adjusted. I had a look at it from within a plugin.

                     

                    I see the following approaches:

                    • File a bug report and wait for a fix. Even if you can get attention from the development team it will take multiple days to clue them in on the actual problem. Getting it fixed within reasonable time - CC.2018 or maybe 2019? Hmm, I'd be surprised.
                    • You were getting pretty close with the idea of taking your document to some service, but that stil won't fix the InDesign problem. Actually you only need a volume that you can control, e.g. use a disk image. Easily done on a Mac, probably requires drivers and other hassles on Windows, and you'd have to provide a separate copy of the InDesign document. Not sure whether you could construct a path that would work on both systems.
                    • Use XML to your advantage. This will work everywhere, but it needs some preparation. Assuming you know your way around in XSL.

                     

                    In my testing scenario, the linked XML file is a stub just pointing to the xsl and the actual data.xml. No absolute paths used here ;-)

                     

                    <?xml version="1.0" encoding="UTF-8"?>
                    <?xml-stylesheet type="text/xsl" href="link.xsl"?>
                    <link>data.xml</link>

                     

                    The style sheet encounters the link and feeds the referenced document into the xslt processor. Yess, document() works!

                     

                    <?xml version="1.0"?>
                    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
                    <xsl:template match="link">
                    <xsl:apply-templates select="document(text())"/>
                    </xsl:template>
                    <xsl:template match="@*|node()">
                    <xsl:copy>
                    <xsl:apply-templates select="@*|node()"/>
                    </xsl:copy>
                    </xsl:template>
                    </xsl:stylesheet>

                     

                    For testing sake, this is my data

                    <?xml version="1.0" encoding="UTF-8"?>
                    <data>Data</data>

                     

                    I tried to use a URL instead of that data.xml, but got an error message that the external entity could not get resolved. Would have been neat...

                    2 people found this helpful
                    • 7. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                      Dirk Becker Level 4

                      Loic.Aigon the only place in IDML where I could find an explicitly specified XSL was in preferences/XMLImportPreference, that would be used for new links. Might even work for pre-existing links in the IDML until you use different XSL files per link. Those subtle bugs ...

                      1 person found this helpful
                      • 8. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                        Jason C Hoyt Level 1

                        Dirk,

                         

                        I really appreciate the time that you took looking into this and the time to respond.

                         

                        Looking back I suppose I should have written a script that placed a relative link in each XML to (only one of two) XSLT files as you showed in your example:

                        <?xml-stylesheet type="text/xsl" href="mystylesheet.xsl"?>

                         

                        The client is making some changes to the content in their CMS and i'll try this relative method using an inline <?xml-stylesheet?> tag on the next round of updates.

                         

                        I still want to report this has a bug/feature request in the off-chance that it gets addressed in the future to help other teams.

                         

                        If we are able to utilize some cloud/DAM solution I will update this with any new findings.

                         

                        Thank you/Merci,

                        Jason H.

                        • 9. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                          Loic Aigon Level 2

                          Dirk Becker Hi Dirk, to be honest I couldn't remember where I could find something that useful in the idml. It was years ago and it wasn't a viable fix anyway so the lesson I got from then as "don't use Create link with XML import in combination with XSLT

                          • 10. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                            Max Dunn Level 1

                            I saw a reference to our Silicon Connector. While it is extremely well-proven (1000s of happy users for 6+ years across 20+ DAMs), the focus is very narrow, really. It manages URL-based links consistent with what InDesign handles as links. It certainly does not make InDesign's extremely bizarre "XML support" (I could tell you some fascinating stories of how this came about offline) functional.

                             

                            We work intensely with InDesign and XML, never touching InDesign's XML features. I would say the great power of InDesign is its exposure to automation (coupled of course with its supremacy as a page composition engine), but all XML/XSLT should be outside of it.

                            2 people found this helpful
                            • 11. Re: Best Method to Hand Off InDesign File to Client With Hundreds of XML Pages
                              Jason C Hoyt Level 1

                              Max,

                              Thanks for taking the time to respond.

                              When importing XML content I used the "append" method and created a "link" to the file. When the file changes (pushed from their CMS) on my local location, InDesign warns me that a link has been modified (just like the image files that are linked) and it updates the Document Structure and content.

                               

                              Would the Silicon Connector work similarly with the linked XML files as it does with image assets? See screenshot.

                              Screen Shot 2017-07-21 at 6.42.54 PM.png