Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Background (Working with Arbortext 6.1 M030 w/Print Composer for PDFs and Mil-Std 40051-2B DTD-Stylesheets)
Since the latest US Army LOGSA update round to Version 5.0, it seems that the Abortext ''New Page' command ( <?Pub _newpage?> ) either no longer works or is severely curtailed. We typically used this command in the past, to help format content somewhat, as the LOGSA DTD / Stylesheet combo produces a pretty abysmal output to PDF using Print Composer.
However, in the latest interation, the PDFs look really awful (pages break wherever, in between warning icons and warning text, between figures and the preceding steps, with no rhyme nor reason to content organization, hierarchy, dependency, or even Mazlov's hierarchy of needs.... (just checking).
Questions:
1. I'm looking for a way to 'right the ship' and get back to providing quality PDF (deliverable requirement) back to the soldiers. Anyone else experiencing (or have experienced) this and has any thoughts or suggestions?
2. Does the print server version (instead of Print Composer) do this too with Mil-Std 40051-2B and Arbortext 6.1? Or is this just a 'feature' for small shops and Print Composer only PDF-ing?
3. Is there a (not too convoluted - temporary) way to delve into the stylesheet files, and prevent the stylesheet from ignoring the <?Pub _newpage?> ?
Any/all thoughts, insights or suggestions greatly appreciated. Thanks for reading.
Regards all,
Bob Williams
Bristol RI
Hi Bob,
It sounds like the real issue is a stylesheet problem. The stylesheet should be handling page breaking, so manual page breaks with <?Pub _newpage?> are not needed.
What kind of stylesheet are you using? FOSI, XSL-FO, Styler, APP?
Suzanne Napoleon
www.FOSIexpert.com
"WYSIWYG is last-century technology!"
Suzanne,
Thanks for the read and reply. As this is a DoD Mil-Std TM for the Army from LOGSA, all of our DTD and Stylesheet files are gov't provided ( we generally are not allowed to monkey with, touch, or otherwise molest the GFE/GFI files, under pain of death or infliction of hangnails as 'aggressive questioning techniques.')
Looking at the directory of .xsl files that make up the 'stylesheet', and they lead off with "xslfo-main-v5_0.xsl" (that's the file we point Arbortext Print Composer at, to create the PDF, it would appear that this is XLS-FO.
So, essentially, if it's not paginating properly to PDF (and now ignoring our crude attempts to 'help' it with <?Pub _newpage?> commands), I guess we might as well simply scrub out the <?Pub _newpage?> commands from the XML book file and let it do whatever it decides to do, no?
Ideas?
Regards,
Bob W
Bristol RI
Hi Bob,
I would expect the Army-provided stylesheets to work better than you describe. I am wondering if an authoring/screen stylesheet (.fos or .style file) is being used accidentally instead of a stylesheet for print/PDF. An authoring stylesheet would not have code for keeping element content together, which is what you are seeing.
FWIW, I cannot find any documentation in the Help Center on how Arbortext XSL-FO handles Touchup processing instructions.
Suzanne
Suzanne,
Though (biting lip and keyboard to not say anything snarky about what the Army DTD and Stylesheets do and don't do... but I digress. (lip's a bit sore, tho)
Thanks. If there's some way that I could be inadvertently pointing (not just me, several of us) at the wrong root file in the stylesheet folder to initiate Print Composer PDF creation? Not sure...
Funny thing is, we've always (to PDF) simply pointed Arbortext at at File > Publish > PDF File > U.S. Army MIL-STD-2361D XSL-FO (xslfo-main-v5_0.xsl) Then it goes off, chugs awhile (smoke... creaky noises) and dumps out ugly PDF.
So, how could this be dorked up? Any other settings I should be aware of?
Regards and thanks. If there's nothing easy left to look at, I may engage the tech support folks to look at this for me.
Bob Williams
Bristol RI
Hi Bob,
You may have already done this. Be sure all warnings, errors, and messages are set to be reported and check for anything stylesheet-related or about missing files. Also, check the 6.1 M030 release notes for anything related to Touchup.
Suzanne
Suzanne,
Well, without continuing to belabor the board with this issue, I've copied off the Event Log and Formatter Messages as PDFs, but I really don't know what they are telling me. There are warnings, faults and errors in there.. but most are page and column width stuff... the other one (Event Log) has some file location issues, but again, I really don't know what it's telling me (I've long ago moved away from keeping all files in the C://Program Files/TPC directory structure.... simply have copies of the file structures (boilerplate, charent, etc.) dumped in with the XML Book file I'm working on at that moment.
Think tomorrow I'll open a ticket with PTC and have one of their folks look this over, see if I've got something wrong with my setup. Too late in the day to do that now (don't really feel like fielding PTC calls at home at night.)
Thanks again for the help.
Regards,
Bob W
Bristol RI
Just curious do you happen to have deepcontentsplitting on?
Also I thought there was a way to disable touchups but I can't seem to find how.
Just checked - I do indeed have 'deepcontentsplitting' Value=on
Set it to off, reran it, made no difference (PDF still paginates pretty ugly, breaks where ever (in middle of warnings, in the middle of randlists, between steps and between figure graphic and figure titles. AAARRRGGGHHH
Should I put it back to on? Does it matter in any other ways?
Think I'll give it a quick try and see what happens (this is something that we've never changed in the past.)
Appreciate ideas, thanks.
Bob W
Bristol RI
I finally figured out where to disable touchups. You do that in your DCF file in the stylesheet directory.
Hi Bob,
XSL-FO uses the TeX-based formatting engine, as FOSI does. So I'm inclined to think Touchup PIs are handled the same with XSL-FO as with FOSI, although I cannot find any documentation on that for XSL-FO. In case it may help, I have attached PDF with everything I know about Touchup PIs and FOSI.
Good luck!
Suzanne
Hi Bob--
To get your <?Pub _newline?> PI's to work with an XSL stylesheet, you will probably need to add something explicit for that. Try adding this template to your stylesheet:
<xsl:template match="processing-instruction('Pub')[.='_newpage']">
<fo:block break-after="page"/>
</xsl:template>
That should generate a page break for each instance of the PI.
--Clay
You might even be able to make it work by just making sure the PI's get copied through during the XSLT phase. Unfortunately, PI's don't get copied by default, so you would again need an explicit template to do so. Try a template like this:
<xsl:template match="processing-instruction('Pub')">
<xsl:copy-of select="."/>
</xsl:template>
See if that makes your touchup instuctions work.
--Clay
Clay,
Thanks - Had not tried this yet because, frankly, I don't know how.
Will have to check back in next few days and see if I can use your info.
Thanks for the thought though - I will continue to pursue this.
Regards,
Bob Williams
Bristol RI
Hi Bob--
I know XSL-FO can be daunting when you are first digging into it, but my suggestions are not too complicated to implement. Basically, you would do this:
1) Make a backup of your XSL-FO stylesheet
2) Open the stylesheet in a text editor
3) You will see a lot of templates in the stylesheet, of the form:
<xsl:template match="...">
...bunch of stuff here...
</xsl:template>
You may have to skip down a way into the file to skip over some variable and parameter declarations at the top of the file. If you want to make things easy to find, you can skip to the very end, just before the </xsl:stylesheet> end tag.
4) Find a spot in between two of these existing <xsl:template> elements, and insert one or the other of the two examples I included above.
5) Save the stylesheet
6) Restart Editor, and do a test publish
7) If the first example you tried didn't work, take it out and try the other one.
Hope that helps you get over the hump.
--Clay
Hi Bob,
Just following up on this issue to see if any specific action, or combination of actions, recommended by the group was able to help in this?
We like to keep track of the outcomes of these things, so please let us know if the Community was helpful. Thanks!
Thx Rafael - Had to back burner this one a bit - busy (work is such), but also that Clay (and some others) are simply over my head - Arbortext skill-wise.
I'll try to continue to pursue this in a few days.
Thanks for checking up.
Regards,
Bob Williams
Bristol RI
Ok Gang, so here's what I tried (thanks Clay)...
My LOGSA stylesheet file(s) group is made up of 107 files in a directory (listed below). I invoke the stylesheet when I go to publish a PDF by selecting the last file in the batch ( xslfo-main-v5_0.xsl).
So, following Clay's tips, I went into the xslfo-main-v5_0.xsl file and selectively tried to insert (separately, one at a time) the explicit xsl template snippets that Clay provided, to no avail. Didn't 'break' anything (so I apparently didn't insert it incorrectly - it ran). But neither one inserted in xslfo-main file had any impact that I could detect with new page touch up command. (I tried several different tagging options and locations to see if that would make a difference - all are ignored. The funny thing is, it seems that they are recognized and accepted in some places, but not in others - go figure.)
Perhaps the xslfo-main is not the right file to try this in? Looking down the list at how this batch of stylesheet files are organized/arranged, does anyone have a better suggestion on where / which one might be a better candidate file to insert this explicit template snippet?
If anyone's got a clue on this, I can provide copies of the files and sample xml separately via email rather than bogging down the board. Or if there's a way to attach the files here for folks to perouse, educate me pls.
Thanks in advance for all reads/insights and replies. Appreciate this - as I'm in a bit over my head, but I'd like to restore some output pagination, as the PDFs created as is with the LOGSA files as I'm presently using them look pretty abysmal (as stated previously.)
Regards all,
Bob Williams
Bristol RI
aalwp-v5_0.xsl |
alert-templ-v5_0.xsl |
ammo.markingwp-v5_0.xsl |
ammowp-v5_0.xsl |
attribute-set-v5_0.xsl |
auxeqpwp-v5_0.xsl |
basicpara-v5_0.xsl |
bdar_geninfowp-v5_0.xsl |
bdartoolswp-v5_0.xsl |
bim-v5_0.xsl |
brim-v5_0.xsl |
bulk_itemswp-v5_0.xsl |
chapter_titlepg-v5_0.xsl |
chgsheet-v5_0.xsl |
coeibiiwp-v5_0.xsl |
common-templ-v5_0.xsl |
compchklistwp-v5_0.xsl |
contents-v5_0.xsl |
csi.wp-v5_0.xsl |
ctrlindwp-v5_0.xsl |
damage-assesswp-v5_0.xsl |
descwp-v5_0.xsl |
destruct_introwp-v5_0.xsl |
destruct_materialwp-v5_0.xsl |
dim-v5_0.xsl |
distribution-v5_0.xsl |
dmwr_ammo-v5_0.xsl |
emergencywp-v5_0.xsl |
eqploadwp-v5_0.xsl |
explistwp-v5_0.xsl |
facilwp-v5_0.xsl |
figure-graphic-v5_0.xsl |
figure-graphic-v5_0_org.xsl |
frntcover-v5_0.xsl |
genrepairwp-v5_0.xsl |
genwp-v5_0.xsl |
ginfowp-v5_0.xsl |
initial_setup-templ-v5_0.xsl |
introwp-v5_0.xsl |
inventorywp-v5_0.xsl |
loepwp-v5_0.xsl |
lubeorder-pageset-templ-v5_0.xsl |
lubewp-v5_0.xsl |
macintrowp-v5_0.xsl |
macwp-v5_0.xsl |
maintwp-v5_0.xsl |
manu_items_introwp-v5_0.xsl |
manuwp-v5_0.xsl |
mim-v5_0.xsl |
mobilwp-v5_0.xsl |
mrplwp-v5_0.xsl |
natowp-v5_0.xsl |
nsnindxwp-v5_0.xsl |
oipwp-v5_0.xsl |
opcheck-tswp-v5_0.xsl |
opcheckwp-v5_0.xsl |
opunuwp-v5_0.xsl |
opusualwp-v5_0.xsl |
orschwp-v5_0.xsl |
pageset-templ-v5_0.xsl |
param-variable-v5_0.xsl |
para-seqlist-step-v5_0.xsl |
perseqpwp-v5_0.xsl |
pim-v5_0.xsl |
pi-v5_0.xsl |
plwp-v5_0.xsl |
pmcsintrowp-v5_0.xsl |
pmcswp-v5_0.xsl |
pmc-table-v5_0.xsl |
pm-ginfowp-v5_0.xsl |
pmi-cklistwp-v5_0.xsl |
pmiwp-v5_0.xsl |
pms-ginfowp-v5_0.xsl |
pms-inspecwp-v5_0.xsl |
pnindxwp-v5_0.xsl |
pshopanalwp-v5_0.xsl |
qawp-v5_0.xsl |
readmechg-2B_v5_0.txt |
rear-templ-v5_0.xsl |
refdesindxwp-v5_0.xsl |
refwp-v5_0.xsl |
slash2.gif |
slashrt.gif |
stlwp-v5_0.xsl |
storagewp-v5_0.xsl |
stowagewp-v5_0.xsl |
substitute-matwp-v5_0.xsl |
supitemwp-v5_0.xsl |
surwp-v5_0.xsl |
table-v5_0.xsl |
techdescwp-v5_0.xsl |
thrywp-v5_0.xsl |
tim-v5_0.xsl |
titleblk-v5_0.xsl |
title-v5_0.xsl |
toolidwp-v5_0.xsl |
torquewp-v5_0.xsl |
tsindxwp-v5_0.xsl |
tsintrowp-v5_0.xsl |
tswp-v5_0.xsl |
warnsum-v5_0.xsl |
wiringwp-v5_0.xsl |
wpidinfo-templ-v5_0.xsl |
wtloadwp-v5_0.xsl |
xrefs-v5_0.xsl |
xslfo-main-v5_0.xsl |
xslfo-main-v5_0-source-do-not-modify.xsl |
Ok, so I tried dropping in those snippets into the opsusual file (opusualwp-v5_0.xsl), and it ran, did not correct anything (still no pagination effects), but kicked some errors about finding the processing instructions in multiple locations or something, which led me to (a) remove the snippet, and (b) look inside the 'pi-v5_0.xsl' file, where I find that there are allowances made for (what appears to be) Arbortext touch up commands like newpage, etc.
So, now I think I'm going to say uncle at this point. Maybe I'm causing problems by not sticking to the PTC/Arbortext/custom/doctypes/catalog file structure. Quite awhile back (working with multiple Mil-Stds and stylesheets), I started simply dropping a copy of the DTD and stylesheet files co-located with the XML that I was working on (seemed to make it easier at that time.)
Now I'm wondering if I simply go back to a standard catalog/dtd/stylesheet file structure setup.... if this problem may simply resolve itself. If that doesn't work, I'm game to try something else.
I take it that because this would (obviously) be a (use of/setup for) LOGSA stylesheet related issue, that PTC/Arbortext tech support would be unlikely to help, yes? no?
Thanks for the help all.
Regards,
Bob W
Bristol RI
I see you are trying to compose using LOGSA's XSL-FO. We use them extensively. I have a web site that has all the config files set up for the 40051 E 5.0 DTD. I am not sure if this will resolve you issues with pagnination. We work with LOGSA to document and get the XSL-FO fixed. I post updates regularly on our web site at pubsweb.redston.army.mil/DTD-FOSI. YOu can subscirbe to our web site and get notificaiton of updates.
Thanks. Tried to connect but the infernal CAC hell of certificates and browsers and resetting stuff... never actually could get your url to load in Chrome or IE.
I'll try to contact you for further thoughts separately.
Regards, Bob W. Bristol RI
I've been using the MIL-STD-40051-2B DTD and XLST for several years which includes the latest versions (LOGSA XSLT 5.0). The manuals I create are the -10 and -24&P. I create and edit the XML files in Oxygen XML Editor and publish to PDF and have used Arbortext Editor 6.0 and 6.1, currenlty I am using 7.0 - all with Print Composer. I haven't had the issues you described, especially since LOGSA XSLT 5.0 came out. There were some bugs in the earlier XSLT and I collaborated with LOGSA to get those corrected which were incorporated in 5.0 release. I only use Arbortext PIs sparingly because, generally speaking, the default Arbortext FOSI file with the LOGSA XSLT 5.0 produces a highly accurate PDF output. Most of my outputs are 300-1500 pages per manual.
The only error I still run into is the table caption does not span multiple pages as required by the standard and LOGSA is aware of that issue. I will gladly assist with code review or other things.
Best regards, David
Hi Robert,
Between Alissa's comments and David, how have things proceeded in this?
Any more questions, or lessons learned, to share with the Community?
Thanks!
Hi Robert and David and community at large,
Have you experienced issues with step 1, 2, 3, etc. list items being out of alignment? My team is currently updating a -10 and -23&P using Rev E of 40051-2B (40051E_5_0), and we are experiencing some formatting issues, including step and sub-step alignment. Any help is appreciated!
Thank you,
Amy
It looks like you are using the XSLT files on the AMCOM website. I did a compare between the "40051E_5_0.dtd" and "production-v5_0.dtd" that I use and found no code differences. I do not have alignment issues with step/sub-step numbering in my PDF output. What I use to produce my PDF output is ArborText Editor 7 with Print Composer. When I publish to PDF, I use the "production-v5_0.dtd" and "xslfo-main-v5_0.xsl" files provided by LOGSA and the default "standard.pdfcf" file by Arbortext. I do not use the FOSI files provided by LOGSA.
Be happy to look at code if you think it will help.
David
David,
Thank you for the response. I downloaded tm_5_0 from the LOGSA site. It contains "production.dtd." Is there another download link for "production-v5_0.dtd" that you mention?
I published a PDF using "production.dtd," "xslfo-main-v5_0.xsl," and "standard.pdfcf" with Arbortext 6.1, and am still having alignment issues, as shown in the image below:
Here is the code I'm using in my XML file:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="xslfo-main-v5_0.xsl" type="text/xsl" media="print,pdf" alternate="yes"?>
<!--Arbortext, Inc., 1988-2015, v.4002-->
<!DOCTYPE maintwp PUBLIC "-//USA-DOD//DTD MIL-STD-2361 TM Assembly REV E 5.0 20131101//EN"
"./tm_5_0/production.dtd" [
Any ideas?
production.dtd is correct. I just renamed it to reflect the version used to be in sync with XSL files' version.
To be honest, my customer was not concerned with it looking out of alignment because it was consistently displayed in that format throughout the manuals.
Unfortunately, MIL-STD-40051-2B, MIL-HDBK-1222E, MIL-HDBK-2361C, and MIL-STD-2361C does not specifically state where to place each step in the body, only a generic description. These standards reference ISO 10179 and I do not have a copy of it.
In order to get it aligned as displayed in the MIL-STD-40051-2B example on page 36, I had to modify the para-seqlist-step-v5_0.xsl file to get the numbered list to line up like it is. A screenshot of my published PDF results:
If you are interested in getting the modified XSL file, send me an email at david.coe@gdit.com.