<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta name="Microsoft Theme 2.00" content="Arctic 011">
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Verdana","sans-serif";
        color:black;}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        margin-top:24.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:16.0pt;
        font-family:"Verdana","sans-serif";
        color:black;}
h2
        {mso-style-priority:9;
        mso-style-link:"Heading 2 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:normal;}
h3
        {mso-style-priority:9;
        mso-style-link:"Heading 3 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:normal;}
h4
        {mso-style-priority:9;
        mso-style-link:"Heading 4 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:normal;}
h5
        {mso-style-priority:9;
        mso-style-link:"Heading 5 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:normal;}
h6
        {mso-style-priority:9;
        mso-style-link:"Heading 6 Char";
        margin-top:10.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:0in;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:11.0pt;
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:normal;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#9D454F;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#814E95;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        color:black;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Verdana","sans-serif";
        color:black;
        font-weight:bold;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Heading3Char
        {mso-style-name:"Heading 3 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 3";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Heading4Char
        {mso-style-name:"Heading 4 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 4";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Heading5Char
        {mso-style-name:"Heading 5 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 5";
        font-family:"Verdana","sans-serif";
        color:black;}
span.Heading6Char
        {mso-style-name:"Heading 6 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 6";
        font-family:"Verdana","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=white background="cid:image001.gif@01CB406D.E221CCF0" lang=EN-US
link="#9D454F" vlink="#814E95">
<img src="cid:image001.gif@01CB406D.E221CCF0"
v:src="cid:image001.gif@01CB406D.E221CCF0" v:shapes="_x0000_Mail" width=0
height=0 class=shape style='display:none;width:0;height:0'><!--[if gte mso 9]><xml>
<v:background id="_x0000_s1025" o:bwmode="white" o:targetscreensize="1920,1200">
<v:fill src="cid:image001.gif@01CB406D.E221CCF0" o:title="background_arctic"
type="frame" />
</v:background></xml><![endif]-->
<div class=WordSection1>
<p class=MsoNormal>Kevin Brown at RenderX asked me to post this solution, also
posted to DITA-USERS at Yahoo.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>My company uses oXygen and the DITA-OT to produce
documentation in XHTML and PDF. We're starting to use Flash on the XHTML side.
One of the content producers I work with asked if we could use Flash in PDF,
which seemed reasonable, since PDF supports Flash. The DITA-OT, however, was
having none of it.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I spoke with Radu Coravu at SyncRO Soft (oXygen,
oxygenxml.com) about this, and he came up with a neat solution. Here is his
message, followed by some additional tweaking I did.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>---------------<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Oxygen uses the DITA Open Toolkit to process DITA Maps and Topics
to different output formats.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>You are using an older version of Oxygen which is bundled
with DITA OT 1.4.3. [EDIT: I had replaced that version with 1.5, but Radu
didn't know that. -DG] This older version of Oxygen also has the particularity
that the topic to PDF transformation is not performed using the DITA OT ANT
scripts but by applying a stylesheet. So for example if in your topic you have
content references they will not show up correctly if the topic gets
transformed directly to PDF. But if you transform a DITA Map in the DITA Maps
Manager view which links to this topic, the output should be correct.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>But from what I see (not even in the newest DITA OT version)
the DITA to PDF output does not treat <object> elements at all when
building the FO file.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>For example open in Oxygen the following file:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/demo/fo/xsl/fo/commons.xsl<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>It has a template which matches objects:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><xsl:template match="*[contains(@class,'
topic/object ')]"> <fo:inline xsl:use-attribute-sets="object"
id="{@id}"> </fo:inline> </xsl:template><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>but which does not output anything from them. You can try
changing this template to something like:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><xsl:template match="*[contains(@class,'
topic/object ')]"> <fo:block xsl:use-attribute-sets="object"
id="{@id}"> <rx:media-object
xmlns:rx="http://www.renderx.com/XSL/Extensions"<o:p></o:p></p>
<p class=MsoNormal>
src="{@data}"<o:p></o:p></p>
<p class=MsoNormal>
embed="true"<o:p></o:p></p>
<p class=MsoNormal>
content-width="{@width}px"<o:p></o:p></p>
<p class=MsoNormal>
content-height="{@height}px"<o:p></o:p></p>
<p class=MsoNormal>
content-type="auto"<o:p></o:p></p>
<p class=MsoNormal> show-controls="true"/><o:p></o:p></p>
<p class=MsoNormal></fo:block><o:p></o:p></p>
<p class=MsoNormal></xsl:template><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The transformation should then produce a FO output which
contains the extension object specified correctly.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Regards,<o:p></o:p></p>
<p class=MsoNormal>Radu Coravu<o:p></o:p></p>
<p class=MsoNormal><oXygen/> XML Editor, Schema Editor and
XSLT Editor/Debugger<o:p></o:p></p>
<p class=MsoNormal>http://www.oxygenxml.com<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>---------------<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I made that change ran the transformation through XEP to
produce a PDF. It worked perfectly.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Here is the code I used in the XML source file:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> <object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"<o:p></o:p></p>
<p class=MsoNormal>
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"<o:p></o:p></p>
<p class=MsoNormal>
data="url(file:///c:\pdf2\movie1.swf)"<o:p></o:p></p>
<p class=MsoNormal>
type="application/x-shockwave-flash"<o:p></o:p></p>
<p class=MsoNormal>
height="800"<o:p></o:p></p>
<p class=MsoNormal>
width="1000"<o:p></o:p></p>
<p class=MsoNormal>
id="movie1"><o:p></o:p></p>
<p class=MsoNormal>
<desc>A description of the task</desc><o:p></o:p></p>
<p class=MsoNormal> <param
name="movie" value="c:\pdf2\movie1.swf"/><o:p></o:p></p>
<p class=MsoNormal> <param
name="quality" value="high"/><o:p></o:p></p>
<p class=MsoNormal> <param
name="bgcolor" value="#FFFFFF"/><o:p></o:p></p>
<p class=MsoNormal> </object><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The problem I found was that the Flash content dimensions
the content producers preferred for the Web were too wide for our default PDF
pages. I added attributes to the <object> element ("pdfheight"
and "pdfwidth") in commonelementsmod.xsd and commonelements.mod, and
changed Radu's code in commons.xsl to output those values instead of the regular
height and width values. <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> content-width="{@pdfwidth}px"<o:p></o:p></p>
<p class=MsoNormal> content-height="{@pdfheight}px"<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I added these attributes to the <object> element
above:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> pdfheight="650"<o:p></o:p></p>
<p class=MsoNormal> pdfwidth="800"<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>That worked perfectly, too. The DITA source files validate
correctly in oXygen and ANT, and the FO file that is produced works seamlessly
with XEP.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I suspect a more elegant solution would be to scale the
height and width values in the XSLT, and I'll probably try that next. Ideas and
feedback welcome, of course.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The PDFs look beautiful through XEP, and the multimedia
elements (screen shots with mouseovers, mostly) are getting raves from everyone
who sees them.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>-Dave Gibbons<o:p></o:p></p>
<p class=MsoNormal>Fiserv<span style='font-size:7.0pt;color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>