<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:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 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:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.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;}
/* List Definitions */
@list l0
        {mso-list-id:798379121;
        mso-list-type:hybrid;
        mso-list-template-ids:999174010 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:1937862897;
        mso-list-type:hybrid;
        mso-list-template-ids:890003202 1005249754 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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 lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I thought it best to post some information here on the new Section 508/tagged PDF capabilities.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Now, the first thing to keep in mind with Section 508/tagged PDF support, we are generating the PDF from the XEP Intermediate Format (XEPOUT). These means that all of these attributes really only have direct meaning *<b>if</b>* they are placed on the object that has the content. If you placed these on objects without content, they would lead to no <xep:text> element in the XEPOUT to carry the attribute. Thus, take for instance this example:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><fo:table-cell rx:pdf-structure-tag=”TH”><fo:block>I am a table header</fo:block></fo:table-cell><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The <table-cell> has no textual content in the XEPOUT, the <block> inside it does. Thus, the use of @pdf-structure-tag in this instance would not yield what you want. You will only hit this is a few places, most commonly you would be attempting to do that very example to override a table-cell to a table header. Another would be for marking “chunks” of things as artifacts (omitted from the structure). Since things are not inherited and must be on the textual content elements, for artifacts you will need to mark all the objects that lead to textual content as such. We’ll get to some examples later.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The only real exception to this is the role-map that was mentioned in the first emails to xep-support. This is new to XEP for this release. It provides two basic functions:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Specifying what tags you would like for common structures in the PDF, these will be the actual tags used inside the PDF (unless very specific structures are overridden using the @rx:pdf-structure-tag attribute)<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Specifying what tags you would like omitted from the PDF.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This second item is very important. XSL FO tagging is by nature very verbose and is used both for structure and for presentation. Proper PDF tagging for screen readers is for structure only and should not contains unneeded tags/hierarchy. A portion rolemap might look like this below (note: this is but one example in which this was the tagging desired by this customer, most notably is the fact that they only wanted the items in lists and no labels, this example does that very thing).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This portion is mapping the common fo structures to tags in the PDF structure. Thus, the <root> becomes <Document> in PDF tags, <block> becomes <P> and so on. You would also note that there are a few structures here that are contextual combinations, namely “header-table-cell”, “body-table-cell”. They have obvious meaning, a “header-table-cell” is a <table-cell> whose ancestor is <table-header>.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-elements><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="root" role-mapping="Document"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="block" role-mapping="P"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="page-number" role-mapping="Artifact"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="page-number-citation" role-mapping="PageNumberCitation"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="page-number-citation-last" role-mapping="PageNumberCitationLast"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="external-graphic" role-mapping="ExternalGraphic"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="instream-foreign-object" role-mapping="InstreamForeignObject"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="basic-link" role-mapping="Link"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="footnote" role-mapping="Footnote"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="footnote-label" role-mapping="FootnoteLabel"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="footnote-body" role-mapping="FootnoteBody"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="list-block" role-mapping="L"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="list-item" role-mapping="LI"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="table" role-mapping="T"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="table-row" role-mapping="TR"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="header-table-cell" role-mapping="TH"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="body-table-cell" role-mapping="TD"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="footer-table-cell" role-mapping="TD"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="ruler" role-mapping="Ruler"/> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </structure-elements><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This section is the rollup section, this means these tags are complete omitted from the structure. The @role-mapping here is really meaningless but we leave it is to be able to copy from this area to the previous area if we want to include/exclude tags. So, given this below, tags in FO like <flow>, <flow-section>, <block-container> will have no structure in the PDF at all, their children “rolled-up” to the parent structure.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-elements roll-up="true"><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="leader" role-mapping="Artifact"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="list-item-label" role-mapping="P"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="list-item-body" role-mapping="P"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="page-sequence" role-mapping="Sect"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="flow" role-mapping="Flow"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="flow-section" role-mapping="Flow"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="static-content" role-mapping="StaticContent"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="block-container" role-mapping="BlockContainer"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="inline" role-mapping="Span"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="wrapper" role-mapping="Wrapper"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="table-header" role-mapping="TableHeader"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="table-body" role-mapping="TableBody"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <structure-element name="table-footer" role-mapping="TableFooter"/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </structure-elements><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So, to set up your environment for tagging PDF, the first step is to decide what tags you want in the PDF and adjust your rolemap appropriately.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Next, let’s cover @rx:pdf-structure-tag and the special case of artifacts.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>@rx:pdf-structure-tag provides a way to specify a very specific tag for content. The most common use is for marking the heading structure in tagged PDF. Tagged PDF normally has heading structures (like H1…H9) so that screen readers can navigate the PDF. Now, there are no direct equivalents to this is FO nor could one use rolemap to say “all of something would be an H1” for example. Now remember that structures with direct textual content are the targets for these attributes, one would normally be putting this @rx:pdf-structure-tag on the <block> element. For example:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><fo:block rx:pdf-structure-tag=”H1”>I am Section Heading 1</fo:block><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Would lead to:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><H1>I am Section Heading 1</H1> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In the Tagged PDF.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And because it’s direct content items, be careful in how you create structures … for example:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><fo:block rx:pdf-structure-tag=”H1”><fo:inline font-weight=”bold”>I am Section Heading 1</fo:inline></fo:block><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Will not yield what you think, the <block> has no content. The <inline> tag is what yielded the textual content. Also, moving the @rx:pdf-structure-tag to the <inline> would also not be right solution because the tagged PDF would be <P><H1>I am a Section Heading</H1></P>. So you would need to move the @font-weight to the <block> tag or at least ensure some non-space textual content exists inside the <fo:block> for this to work.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Now, there are two special cases of @rx:pdf-structure-tag, first we will cover “Artifact”. An artifact in PDF structure tags means that the content is to be omitted completely. This is typically used for content like headers and footers. Using @rx:pdf-structure-tag=”Artifact” does just that. The other special case we created to allow PDF tagging of table-headers *<b>within</b>* the table-body. PDF structure tagging allows any cell to be called a TH. Normally, these are the top of the table. In XSL FO, this is easy because they are the <table-cell> that are the descendants of <table-header>. But PDF structure tagging also allows something like the left column to be table-cells marked also as TH … specifically row-headers. There is no FO construct for this. To overcome this, when producing the PDF output, RenderX will look at the child elements to any table-cell. If any child has @rx:pdf-structure-tag=”TH”, then it will mark that cell as a TH in the structure. If the table cell occurs in the table-body, it is marked with scope=”row”, if it occurs in the table-header it is marked as scope=”both” (because omitting them in the table header marks them already as scope=”column”). This allows you to create TH cells in a TR structure that can be row headers or column headers to meet complete Section 508 requirements.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The three attributes for marking content to be read differently (or to provide content to be read in absence of any like on an image) are fairly straight forward. These are @rx:alt-description, @rx:actual-text and @rx:abbreviation. One would use any one of them like this:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><fo:external-image src=”url(‘logo.jpg’)” rx:alt-description=”An image of the logo of the company.”/><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The other two attributes allow further classification of Artifacts and are placed on the same element as rx:pdf-structure-tag=”Artifact” if required.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Our services team worked extensively on a few recent projects for the US Government to assist them to create XSL FO that would produce PDFs that meet their needs and agency requirements. We are happy to assist anyone who has similar needs, just ask us directly.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Kevin Brown<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>RenderX<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Daniel Boughton [mailto:daniel.r.boughton@rrd.com] <br><b>Sent:</b> Thursday, November 01, 2012 7:39 AM<br><b>To:</b> kevin@renderx.com<br><b>Cc:</b> Charles B Porter<br><b>Subject:</b> Re: [xep-support] Re: Problem rendering a tagged PDF<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi Kevin,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I was wondering if you could also provide some documentation on the new extensions for tagged documents. You did send Charles Porter (another member of our team) a sample SBC document showing the use of <i>rx:alt-description</i> and <i>rx:pdf-structure-tag</i>, but I still have questions on the use of the other extensions: <em><span style='font-size:8.5pt;font-family:"Verdana","sans-serif";background:white'>rx:pdf-structure-type</span></em><span style='font-size:8.5pt;font-family:"Verdana","sans-serif";background:white'>, <em><span style='font-family:"Verdana","sans-serif"'>rx:alt-description</span></em>, <em><span style='font-family:"Verdana","sans-serif"'>rx:actual-text</span></em>, <em><span style='font-family:"Verdana","sans-serif"'>rx:abbreviation</span></em>, <em><span style='font-family:"Verdana","sans-serif"'>rx:pdf-artifact-type</span></em> and <em><span style='font-family:"Verdana","sans-serif"'>rx:pdf-artifact-subtype. </span></em></span>The section on Accessibility Support in the documentation is not very helpful.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Is there any difference between using the attribute <i>role</i> and <i>rx:alt-description</i>?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks,<o:p></o:p></p><div><p style='line-height:12.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white'>__________________________________________________________________________________</span><span style='color:#333333;background:white'><br></span><strong><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white'>Daniel Boughton | Technical Analyst IV | RR Donnelley</span></strong><span style='color:#333333;background:white'><br></span><span style='font-family:"Arial","sans-serif";color:#333333;background:white'>W6545 Quality Dr | Greenville, WI 54942 <br>Office: 920.997.3635 | Mobile: 920.450.3581 | Fax: 920.997.3754<br><a href="http://inside.rrd.net/insiderrd/pages/google/rrd_google_signature.aspx" target="_blank"><span style='color:#000099'>daniel.r.boughton@rrd.com</span></a><br><a href="http://www.rrdonnelley.com/" target="_blank"><span style='color:#000099'>http://www.rrdonnelley.com</span></a></span><span style='color:#333333;background:white'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><o:p></o:p></p><div><p class=MsoNormal>On Wed, Oct 31, 2012 at 4:25 PM, Kevin Brown <<a href="mailto:kevin@renderx.com" target="_blank">kevin@renderx.com</a>> wrote:<o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Daniel:</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I spoke with the developer and yes this change was made at the release (moving from an inclusion to using an <option>). So you are correct that it is an option and he also confirms the bug that relative paths do not work.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>We will patch *<b>very fast</b>* and get you a new version of software to test.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Kevin Brown</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>RenderX</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:xep-support-bounces@renderx.com" target="_blank">xep-support-bounces@renderx.com</a> [mailto:<a href="mailto:xep-support-bounces@renderx.com" target="_blank">xep-support-bounces@renderx.com</a>] <b>On Behalf Of </b>Kevin Brown<br><b>Sent:</b> Wednesday, October 31, 2012 1:53 PM<br><b>To:</b> 'RenderX Community Support List'; <a href="mailto:daniel.r.boughton@rrd.com" target="_blank">daniel.r.boughton@rrd.com</a><br><b>Subject:</b> [xep-support] Re: Problem rendering a tagged PDF</span><o:p></o:p></p></div></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am confused at best. I guess I need to examine an installation but I did not think ROLE_MAP was an option. It is implemented just like any section of xep.xml which can be either internal or external. Meaning that xep.xml should have:</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><role-map href="rolemap.xml"/></span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Kevin Brown</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:xep-support-bounces@renderx.com" target="_blank">xep-support-bounces@renderx.com</a> [<a href="mailto:xep-support-bounces@renderx.com" target="_blank">mailto:xep-support-bounces@renderx.com</a>] <b>On Behalf Of </b>Daniel Boughton<br><b>Sent:</b> Wednesday, October 31, 2012 8:23 AM<br><b>To:</b> <a href="mailto:xep-support@renderx.com" target="_blank">xep-support@renderx.com</a><br><b>Subject:</b> [xep-support] Problem rendering a tagged PDF</span><o:p></o:p></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I ran into a problem testing the new version of XEP (version 4.21) when trying to generate a tagged PDF. I get two different errors depending on the environment. <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Running under the server configuration I get the error:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> "PDFException - Pdflib internal error. Broken xref. Please report to manufacturer!.". <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Running under Oxygen I get the warning:<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> "com.renderx.util.RoleMapConfigurationException: Cannot parse rolemap.xml: java.net.MalformedURLException: Invalid URL or non-existent file: rolemap.xml; PDF accessibility turned off!"<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I found that change the ROLL_MAP option to use an absolute path <option name="ROLE_MAP" value="C:\Program Files\RenderX\XEP\rolemap.xml"/>, it works.<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt'>I am assuming that this is a bug because fonts use relative paths and so does the SPOT_COLOR_TRANSLATION_TABLE option. Its not a problem using the absolute path running under Oxygen, but it would be a problem trying to handle that in our server configuration.<br clear=all><o:p></o:p></p><p style='line-height:12.0pt'><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white'>__________________________________________________________________________________</span><span style='color:#333333;background:white'><br></span><strong><span style='font-size:9.0pt;font-family:"Arial","sans-serif";color:#333333;background:white'>Daniel Boughton | Technical Analyst IV | RR Donnelley</span></strong><span style='color:#333333;background:white'><br></span><span style='font-family:"Arial","sans-serif";color:#333333;background:white'>W6545 Quality Dr | Greenville, WI 54942 <br>Office: <a href="tel:920.997.3635" target="_blank">920.997.3635</a> | Mobile: <a href="tel:920.450.3581" target="_blank">920.450.3581</a> | Fax: <a href="tel:920.997.3754" target="_blank">920.997.3754</a><br><a href="http://inside.rrd.net/insiderrd/pages/google/rrd_google_signature.aspx" target="_blank"><span style='color:#000099'>daniel.r.boughton@rrd.com</span></a><br><a href="http://www.rrdonnelley.com/" target="_blank"><span style='color:#000099'>http://www.rrdonnelley.com</span></a></span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>!DSPAM:87,5091428963731835264450! <o:p></o:p></p></div></div></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></body></html>