Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

The PTC Community email address has changed to Learn more.

From a publication module, how to print a set of xml Documents?


From a publication module, how to print a set of xml Documents?

I have a publication module which contains references to xml documents.

From the Publication Module, how to create a book?

What is the FOSI methodology to display in a book, the content of the XML documents using the references of the Publication module?


Is the publication module an xml document?

Is there a dtd or schema that describes the structure of these xml documents and/or the publication module?

Is your book based on PDF output, Postscript output, HTML output, other?

A FOSI is a document used to style the elements of your documents.

The FOSI can style for the view in the Editor window, and other forms of output.

It is used to describe page layout, vertical spacing of elements, line indent, alignment, character font, size, weight, color, etc.




It's the same principle as the DITA model. In a Ditamap or a Bookmap document, there are references to Topics. I'd like to understand the mechanism that displays the contents of the Topic document when I print a Bookmap.


For DITA, a resolved document is created from the map file (referencing file).

The resolution of the referenced topics, concepts, etc. are then processed to follow the structure defined by the ditabase dtd. The resolved document is passed to the composition engine pipeline. In the pipeline graphics formats are converted as needed, profiling is processed, and the styling is applied to the elements, which includes the building and formatting of TOCs, list of Tables, Figures, Indexes, etc.. The styling is defined by the FOSI. Each element has styling of some sort applied to it. The formatted material is paged and the final result is generated output. The output can be Postscript, PDF, HTML, RTF, etc.

FOSIs can be very complex, as can book content.

Do you have specific areas of interest?


The mechanism is similar to an XInclude or File Entity. The DITA map will reference a number of topics. The map is resolved by "flattening" to one monolithic XML file containing all content. This monolithic file is then what is published.

I assume by Publication Module you are talking S1000D. So, you could apply the same concept to S1000D PMs in order to flatten it and bring in all the DMs but that would require custom code to be written to do the resolving. Did you know PTC has a line of S1000D software that already does all this?

Yes, I talk about S1000D and Publication module.

I want to "flatten" the PM in one monolithic XML file.

I know PTC has a line of S1000D software but it's very expensive.

How to "flatten" the PM in one monolithic XML file in Arbortext Editor?

What is the process? Is it necessary to use the ACL language to do it or then using FOSI techniques...

There are a variety of methods to achieve this. The first thing I would try is to use XInclude, as this is built-in to Arbortext. The process would be to transform the PM into an XInclude-PM (eg. all DM references are modelled via XInclude). The OOTB Arbortext functionality would then resolve the XInclude references. Similar idea would work with XML file entities.

If that approach fails, then you could try XSLT. XSLT is very good at transforming XML and would be able to resolve and flatten the PM. If that is no good, try Java. If that fails, try Perl or ACL. There are many different ways to achieve your requirement.

BTW, I think the OOTB Arbortext DITA functionality uses ACL to achieve the flattening, but I highly doubt you could re-use any of that code for a custom S1000D resolver.

This is a good question to which I'd also like an answer. In the S1000D Issue 4.1 Bike Data Samples you have "PMC-BRAKE-C3002-EPWG1-00_000-01_EN-US.XML" for example which contains references data modules via pmEntry, here's the first entry:


<dmRef xlink:actuate="onRequest"


xlink:show="replace" xlink:type="simple">


<dmCode assyCode="00" disassyCode="00" disassyCodeVariant="AA"

infoCode="00W" infoCodeVariant="A" itemLocationCode="D"

modelIdentCode="BRAKE" subSubSystemCode="0" subSystemCode="0"

systemCode="D00" systemDiffCode="AAA"/>

<issueInfo inWork="00" issueNumber="001"/>

<language countryIsoCode="US" languageIsoCode="en"/></dmRefIdent>



<techName>Mountain bicycle</techName>

<infoName>Applicability cross-reference table</infoName>


<issueDate day="31" month="12" year="2012"/></dmRefAddressItems>



I would like to know how to resolve the dmCode entry and publish the PMC file in Styler. That way I can open a Data Module in Styler and publish to Web or HTML from the file menu in Arbortext Editor.

By the way I realize that the URN is there "DMC-BRAKE-AAA-D00-00-00-00AA-00WA-D_001-00" but the question is, how does one make use of the pmEntry in Styler where we want to publish to web for example and capture all of the the DMs in the PMC in the publication?

You know David, it seems that the PMC is little more than a file list. One strategy would be to not combine it at all and instead transform it into a menu or list of links; in that scenario, each Data Module referred to by the PMC would need to be converted to HTML separately.