Page 1 of 1

Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Wed Feb 26, 2020 6:19 pm
by Simcha
When I create FO with tables that start with fo:table-column in 22.0 and open it in Oxygen Developer, I get the message:
An empty sequence is not allowed as the first argument of ahf:parser-runner()

I don't get this message with the same FO in 21.1. If I click on the message, it opens up C:\Program Files\Oxygen XML Developer 22\frameworks\focheck\schematron\focheck.sch

I am able to replicate this when I open C:\Program Files\Oxygen XML Developer 22\samples\fo\Miscellaneous\table.fo

Commenting out the fo-table-column elements gets rid of the error (also makes my tables format incorrectly, but . . .).

Re: Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Thu Feb 27, 2020 10:29 am
by Radu
Hi,

In Oxygen 22.0 we updated the XSL-FO validation engine and possibly this added the problem you report.
Can you post a small sample XSL-FO file exhibiting the problem? I cannot reproduce this on my side with the XSL-FO sample I created:

Code: Select all

.....
<fo:table>
                        <fo:table-column />
                        <fo:table-body></fo:table-body>
                    </fo:table>
                    ....
                    
Regards,
Radu

Re: Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Thu Feb 27, 2020 4:11 pm
by Simcha
Hi Radu, it fails for me with both of these:

My test case:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
   <fo:layout-master-set>
      <fo:simple-page-master master-name="MainDocument" page-width="8.5in" page-height="11in"
         margin-top="10mm" margin-bottom="10mm" margin-left=".5in" margin-right=".5in">
         <fo:region-body margin-top="12mm" margin-bottom="9mm"/>
      </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="MainDocument" initial-page-number="1"
      force-page-count="no-force">
      <fo:flow flow-name="xsl-region-body">
         <fo:table width="100%" table-layout="fixed">
            <fo:table-column column-width="proportional-column-width(20)"/>
            <fo:table-column column-width="proportional-column-width(55)"/>
            <fo:table-body>
               <fo:table-row>
                  <fo:table-cell>
                     <fo:block>Cell 1</fo:block>
                  </fo:table-cell>
                  <fo:table-cell>
                     <fo:block>Cell 2</fo:block>
                  </fo:table-cell>
               </fo:table-row>
            </fo:table-body>
         </fo:table>
      </fo:flow>
   </fo:page-sequence>
</fo:root>
tables.fo from your samples:

Code: Select all

<?xml version="1.0" encoding="iso-8859-1"?>

<!-- Example from: http://www.renderx.net
    Copyright © 2004 RenderX, Inc.-->

<fo:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="my-page">
      <fo:region-body margin="1in"/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="my-page">
    <fo:flow flow-name="xsl-region-body">
      <fo:table border="0.5pt solid black" text-align="center" border-spacing="3pt">
        <fo:table-column column-width="1in"/>
        <fo:table-column column-width="0.5in" number-columns-repeated="2"/>
        <fo:table-header>
          <fo:table-row>
            <fo:table-cell padding="6pt" border="1pt solid blue" background-color="silver"
              number-columns-spanned="3">
              <fo:block text-align="center" font-weight="bold"> Header </fo:block>
            </fo:table-cell>
          </fo:table-row>
        </fo:table-header>
        <fo:table-body>
          <fo:table-row>
            <fo:table-cell padding="6pt" border="1pt solid blue" background-color="silver"
              number-rows-spanned="2">
              <fo:block text-align="end" font-weight="bold"> Items: </fo:block>
            </fo:table-cell>
            <fo:table-cell padding="6pt" border="0.5pt solid black">
              <fo:block> 1 : 1 </fo:block>
            </fo:table-cell>
            <fo:table-cell padding="6pt" border="0.5pt solid black">
              <fo:block> 1 : 2 </fo:block>
            </fo:table-cell>
          </fo:table-row>
          <fo:table-row>
            <fo:table-cell padding="6pt" border="0.5pt solid black">
              <fo:block> 2 : 1 </fo:block>
            </fo:table-cell>
            <fo:table-cell padding="6pt" border="0.5pt solid black">
              <fo:block> 2 : 2 </fo:block>
            </fo:table-cell>
          </fo:table-row>
        </fo:table-body>
      </fo:table>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

Re: Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Fri Feb 28, 2020 9:50 am
by Radu
Hi,

Thanks for the samples, we will have a fix for this in the next Oxygen 22.0 minor bug fix release, in a couple of weeks.
We reported the fix on the "focheck" project and it was also fixed there:

https://github.com/AntennaHouse/focheck/issues/41

Regards,
Radu

Re: Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Fri Feb 28, 2020 4:55 pm
by Simcha
Thanks so much, Radu. I have included the changes and I no longer get the error.

Re: Empty sequence error from fo:table-column when editing FO with 22.0

Posted: Wed May 20, 2020 2:02 pm
by Radu
Hi,

As an update, the recently released Oxygen version 22.1 has an update fo check framework which no longer has the original problem.

Regards,
Radu