Insérer du markup (reStructuredText)

Asked by Luc Saffre

Je voudrais insérer dans un document des paragraphes de
texte formatés en reStructuredText (docutils).

Par exemple::

  >>> from docutils.examples import html_body
  >>> s = html_body(u'''
  Hallo?
  ''')

Ce qui donne à s la valeur::

  <div class="document">
  <p>Hallo?</p>
  </div>

quand je passe cela par xhtml(), il en fait::

  <text:p><text:span><text:p>Hallo?</text:p><text:line-break/></text:span></text:p>

Dans mon template je fais une note

  do text
  from xhtml(html_body(self.goals))

(Où `self.goals` contient le texte en format rst)

Et le résultat (.odt ou .pdf) est un paragraphe contenant un line-break tout seul,
sans le texte "Hallo?"

Où est l'erreur? Je dirais que les `<text:p>` ne peuvent pas être nested?

Luc

Question information

Language:
French Edit question
Status:
Solved
For:
Appy Edit question
Assignee:
No assignee Edit question
Solved by:
Luc Saffre
Solved:
Last query:
Last reply:

This question was reopened

Revision history for this message
Gaëtan Delannay (gaetan-delannay) said :
#1

Bonjour Luc,
Oui c'est bien ça: quand OpenOffice rencontre un <p> dans un <p> il n'affiche tout simplement pas le contenu du <p> imbriqué. J'ai implémenté dans la fonction xhtml un détecteur d'imbrications foireuses, qui traficote les choses pour que ça fonctionne néanmoins. <p><div><p> a apparemment échappé à ma vigilance, je vais reproduire le test dans ma suite automatique et corriger cela.

Bonnes fêtes!
Gaetan

PS: peux-tu les prochaines fois poster questions ou bugs en anglais? D'avance merci !

Revision history for this message
Luc Saffre (luc-saffre) said :
#2

Thanks Gaëtan Delannay, that solved my question.

Revision history for this message
Luc Saffre (luc-saffre) said :
#3

Yes, sorry for the French... I was tired that day and had started in French out of habit...

So you are going to change the xhtml function so that it understands chunks of style

  <div class="document"><p>Hallo?</p></div>

Note that I didn't ask xhtml to write a nested `<p>`, and am wondering how this happens. I tried to understand by looking at `appy.pod.xhtml2odt`... but that's too much for my limited brain right now.
For the moment I trust you and am looking forward to a new version.

But don't miss Christmas and New Year's eve because of us!
Bonnes fêtes également!
Luc

Revision history for this message
Gaëtan Delannay (gaetan-delannay) said :
#4

Hi Luc,
I've tested your case, but I can't reproduce this bug with Appy 0.6.2. What version do you use?
Since versions 0.5 I think, I've improved the xhtml2odt algorithm, that solves the kinds of problems you mention.
Gaetan

Revision history for this message
Luc Saffre (luc-saffre) said :
#5

My problem occured in 0.6.0, but I now tested in 0.6.2 and it is unchanged.
I tested with the following comment:

do text
from xhtml('<div class="document">\n<p>Hallo?</p>\n</div>\n')

Good luck! Tell me ifI can help somehow!
Luc

Revision history for this message
Gaëtan Delannay (gaetan-delannay) said :
#6

Hello Luc,
Goddamned!
I've tested this and it works for me. What Python version are you using? Under what OS? I've tested it with Python2.4.4, Python2.4.6 and Python 2.6.5 under Ubuntu 9.04 32 bits.
Thanks
Gaetan

Revision history for this message
Luc Saffre (luc-saffre) said :
#7

No, don't worry: God certainly also cares about this :-)

I think I've observed this on
Windows and Debian
Python 2.5, 2.6 and 2.7
OpenOffice 3.2.1 and LibreOffice 3.3.0

But I'll try to do more systematic tests tomorrow.

I always use the pythonWithUnoPath parameter.

Luc

Revision history for this message
Gaëtan Delannay (gaetan-delannay) said :
#8

Hi Luc,
Could you execute the pod test suite and give me the generated test report?

cd <appy_path>/appy/pod/test
python2.x Tester.py -k -v

It will generate a text file Tester.report.txt in the same folder. With python 2.4.x, 58/58 tests should succeed, with 3 tests ignored. With Python >= 2.4, there is a problem with the sax expat parser and HTML entities, so less tests should succeed, I'm trying to solve this.

By the way, does the problem appear in the generated ODT file (not PDF?). An error could be present in the ODT and removed from the PDF.

Thanks a lot for your help (while waiting God's help ;-))
Gaetan

Revision history for this message
Luc Saffre (luc-saffre) said :
#9

Here is a first test report with Python 2.7.1 on Windows XP

56/58 successful test(s), but 3 ignored test(s) not counted.

Luc

On 13.02.2011 11:46, Gaëtan Delannay wrote:
> Your question #138830 on Appy changed:
> https://answers.launchpad.net/appy/+question/138830
>
> Status: Open => Needs information
>
> Gaëtan Delannay requested for more information:
> Hi Luc,
> Could you execute the pod test suite and give me the generated test report?
>
> cd <appy_path>/appy/pod/test
> python2.x Tester.py -k -v
>
> It will generate a text file Tester.report.txt in the same folder. With
> python 2.4.x, 58/58 tests should succeed, with 3 tests ignored. With
> Python >= 2.4, there is a problem with the sax expat parser and HTML
> entities, so less tests should succeed, I'm trying to solve this.
>
> By the way, does the problem appear in the generated ODT file (not
> PDF?). An error could be present in the ODT and removed from the PDF.
>
> Thanks a lot for your help (while waiting God's help ;-))
> Gaetan
>

Revision history for this message
Luc Saffre (luc-saffre) said :
#10

(Here is the full generated test report. Luc)

Parsing RTF file...
Done in 4 seconds
*******************************************************************************
* Suite PodNominal.
* Tests all functions of pod with tests that do not produce errors.

-------------------------------------------------------------------------------
- Test noPython.
- A template containing complex content (tables, inner tables, sections, etc) but containing no POD expressions is dumped. The result must be the same as the template.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test withAnImage.
- Idem, but also with a image embedded into the document.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test onlyExpressions.
- A template containing simple pod expressions is dumped.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleIfIsTrue.
- A template containing a simple if statement is dumped (the statement in the context resolves to True).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleIfIsTrue003.
- Same as simpleIfIsTrue, but with a template made with OpenOffice 3 that adds formatting within notes.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleIfIsFalse.
- A template containing a simple if statement is dumped (the statement in the context resolves to False).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleForEmptyList.
- A template containing a simple for statement is dumped (the statement in the context resolves to an empty list).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleForFilledList.
- A template containing a simple for statement is dumped (the statement in the context resolves to a list with some elements).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleForRow.
- A table row is repeated.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test ifAndFors1.
- A mix of "if" and "for" statements are used with tables and sections.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellCorrectNumber.
- A cell is repeated. The number of resulting cells is correct to produce a coherent table.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellNotEnough.
- A cell is repeated. The number of resulting cells of the last row is not sufficient to produce a coherent table, so pod adds cells.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellTooMuch1.
- A cell is repeated. The number of resulting cells of the last row is too high. So pod splits it.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellTooMuch2.
- Idem, but with a different number of (surplus) cells.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellTooMuch3.
- Idem, but with a different number of (surplus) cells.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellTooMuch4.
- Idem, but with a different number of (surplus) cells.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellOnlyOne.
- Yet another cell repetition.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forCellBug.
- Yet another cell repetition.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forTable.
- A whole one-cell table is repeated.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forTableMinus.
- A whole one-cell table is repeated, but is then removed from the result through with the "minus" operator.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forTableMinus2.
- Idem above, but an inner table is in the cell. The inner table is not "minused".

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleTest.
- A simple test used as introductory example on the website.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test headerFooter.
- Tests that pod replacements works in headers and footers.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleFromTest.
- Simple test that includes the "from" part of a statement. Includes all error cases as well.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test elseStatements.
- Tests the "else" statements (including some errors in template).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test varDef.
- Defines variables in 'do ... with' statements.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test chart1.
- Renders a simple chart.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test fieldExpression.
- Tests a new way to insert POD expressions, via a field. A field can be cut-and-pasted; this is not as easy with track-changed text.

Checking result...
Test successful.

*******************************************************************************
* Suite PodErrorsInTemplate.
* Tests errors that are generated as notes within templates.

-------------------------------------------------------------------------------
- Test errorExpression.
- A pod expression produces a Python exception.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test errorIf.
- A if statement produces a Python exception.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test errorForRuntime.
- "For" statements produce Python exceptions at "run-time" (ie no syntax error occurred while parsing the "for" statements)

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test errorForParsetime.
- "For" statements produce a Python exception at "parse-time" (ie syntax errors are present in the "for" statements)

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forTableMinusError.
- A table must be repeated through a for statement with a minus operator, but the table has a row with 2 cells. The minus operator may only be applied to one-cell tables.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test forTableMinusError2.
- A table must be repeated through a for statement with a minus operator, but the table has two rows. The minus operator may only be applied to one-cell tables.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test simpleMinusError.
- The "minus" operator is applied on a text.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlStylesErrors.
- Tests some errors on local styles mapping definitions.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test errorFooter.
- An error is generated in the page footer.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test ifElseErrors.
- Tests some more errors generated in if/else clauses ("else" without named "if"; "duplicate named if"; "if"expression (function "test")

Checking result...
Test successful.

*******************************************************************************
* Suite PodErrors.
* Tests errors that are produced as exceptions by pod.

-------------------------------------------------------------------------------
- Test wrongResultType.
- The specified result type is not supported by pod.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 345, in run
    self.finalize()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 460, in finalize
    self.result, FILE_TYPES.keys()))
 <class 'appy.pod.PodError'>: Result "L:\snapshots\appy-0.6.2\appy\pod\test\temp\wrongResultType.ort" has a wrong extension. Allowed extensions are: "['xlsx', 'docx', 'rtf', 'odp', 'htm', 'ods', 'odt', 'ppt', 'txt', 'doc', 'swf', 'html', 'pdf', 'csv', 'xls']".
Test successful.

-------------------------------------------------------------------------------
- Test hStarNotInt.
- In a global style mapping, a "h*" key does not have an integer value.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: When specifying "h*" as key in the styles mapping, you must specify an integer as value. This integer, which may be positive or negative, represents a delta that will be added to the html heading's outline level for finding an ODT style with the same outline level.
Test successful.

-------------------------------------------------------------------------------
- Test styleNameNotString.
- In a global style mapping, a style name is not a string.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: The styles mapping dictionary's keys and values must be strings.
Test successful.

-------------------------------------------------------------------------------
- Test itemNone.
- In a global style mapping, the pair (None, None) is present.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: The styles mapping dictionary's keys and values must be strings.
Test successful.

-------------------------------------------------------------------------------
- Test unstylable.
- In a global style mapping, the 'li' key is present. But at present with pod you can't specify a given ODT list style. Pod uses its own ODT list style.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: You can't associate a style to element "li". Unstylable elements are: ('ol', 'ul', 'li', 'a')
Test successful.

-------------------------------------------------------------------------------
- Test odtStyleNotFound.
- In a global style mapping, an unexisting ODT style is specified.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: OpenDocument style "tutu" was not found in your template. Note that the styles names ("Heading 1", "Standard"...) that appear when opening your template with OpenOffice, for example, are a super-set of the styles that are really recorded into your document. Indeed, only styles that are in use within your template are actually recorded into the document. You may consult the list of available styles programmatically by calling your pod renderer's "getStyles" method.
Test successful.

-------------------------------------------------------------------------------
- Test paragraphToText.
- In a global style mapping, we try to map a "paragraph" style to a "text" style.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: For XHTML element "h1", you must associate a paragraph-wide OpenDocument style. "Internet link" is a "text" style (that applies to only a chunk of text within a paragraph).
Test successful.

-------------------------------------------------------------------------------
- Test textToParagraph.
- In a global style mapping, we try to map a "text" style to a "paragraph" style.

Exception occurred:
   File "l:\snapshots\appy-0.6.2\appy\shared\test.py", line 122, in run
    self.do()
   File "Tester.py", line 126, in do
    stylesMapping=stylesMapping).run()
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 204, in __init__
    self.setStylesMapping(stylesMapping)
   File "l:\snapshots\appy-0.6.2\appy\pod\renderer.py", line 363, in setStylesMapping
    raise po
 <class 'appy.pod.PodError'>: For XHTML element "b", you must associate an OpenDocument "text" style (that applies to only a chunk of text within a paragraph). "Text body" is a paragraph-wide style.
Test successful.

*******************************************************************************
* Suite PodXhtml.
* Tests for rendering XHTML chunks in an ODT document.

-------------------------------------------------------------------------------
- Test xhtmlNominal.
- A test with a simple content coming from a Kupu field.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlComplex.
- A test with bold, italics, sup, sub elements; with headings, subheadings, bulleted and numbered lists at several levels.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlStylesMapping.
- Tests the definition of a global styles mapping and local styles mapping. The test applies only to outline-related mappings (h*).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlTables.
- Tests translation of XHTML tables.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlComplexTables.
- Tests translation of complex XHTML tables containing sub-tables, lists, etc.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlKeepWithNext.
- Tests the possibility to define paragraphs and list items (<li>) with an option "Keep with next". Useful for keeping last paragraphs together with a signature at the bottom of a page, for example (avoid having the signature alone at the top of the last page).

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlEntities.
- Tests a content that includes HTML entities.

Checking result...
Difference(s) detected between files L:\snapshots\appy-0.6.2\appy\pod\test\temp\expected.content.xml and L:\snapshots\appy-0.6.2\appy\pod\test\temp\actual.content.xml:
...
- <text:p>Some HTML entities: é: é, è: è, Atilde: Ã.
- </text:p>
- <text:p>XML entities: amp: &, quote: ", apos: ', lt: <, gt: >.
- </text:p>
...
+ <office:annotation>
+ <dc:creator>POD
+ </dc:creator>
+ <text:p>Error while evaluating the expression "xhtml(xhtmlInput)" defined in the "from" part of a statement.
- </text:p>
+ </text:p>
? ++++++

- <text:p> Para
+ </office:annotation>
Test failed.

-------------------------------------------------------------------------------
- Test xhtmlComplex2.
- More XHTML cases.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlComplex3.
- Still more XHTML cases.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhtmlComplex4.
- Still more.

Checking result...
Difference(s) detected between files L:\snapshots\appy-0.6.2\appy\pod\test\temp\expected.content.xml and L:\snapshots\appy-0.6.2\appy\pod\test\temp\actual.content.xml:
...
- <text:p>Champ FCK
- </text:p>
? -

+ <text:p>
- <text:list text:style-name="podNumberedList">
- <text:list-item>
- <text:p text:style-name="podNumberItem"> aaaa
+ <office:annotation>
+ <dc:creator>POD
+ </dc:creator>
+ <text:p>Error while evaluating the expression "xhtml(xhtmlInput)" defined in the "from" part of a statement.
...
+ </office:annotation>
- </text:list-item>
- <text:list-item>
- <text:list text:style-name="podNumberedList">
- <text:list-item>
- <text:p text:style-name="podNumberItem"> Azerty
- </text:p>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="podNumberItem"> aaaa
- </text:p>
- </text:list-item>
- </text:list>
- </text:list-item>
- <text:list-item>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="podNumberItem"> edzfrgh
- </text:p>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="podNumberItem"> Kupu
- </text:p>
- </text:list-item>
- </text:list>
- <table:table table:style-name="podTable">
- <table:table-column>
- </table:table-column>
- <table:table-column>
- </table:table-column>
- <table:table-row>
- <table:table-cell table:style-name="podCell">
- <text:p> a
- </text:p>
- </table:table-cell>
- <table:table-cell table:style-name="podCell">
- <text:p> b
- </text:p>
- </table:table-cell>
- </table:table-row>
- <table:table-row>
- <table:table-cell table:style-name="podCell">
- <text:p> x
- </text:p>
- </table:table-cell>
- <table:table-cell table:style-name="podCell">
- <text:p> vvv
- </text:p>
- </table:table-cell>
- </table:table-row>
- <table:table-row>
- <table:table-cell table:style-name="podCell">
- <text:p> bbb
- </text:p>
- </table:table-cell>
- <table:table-cell table:style-name="podCell">
- <text:p> vvvvv
- </text:p>
- </table:table-cell>
- </table:table-row>
- </table:table>
- <text:p>
- </text:p>
- <text:p> hghdghghgh
- </text:p>
- <text:list text:style-name="podBulletedList">
- <text:list-item>
- <text:p text:style-name="podBulletItem"> aaa
- </text:p>
- </text:list-item>
- <text:list-item>
- </text:list-item>
- <text:list-item>
- <text:p text:style-name="podBulletItem"> bvbb
- </text:p>
- </text:list-item>
- </text:list>
- <text:list text:style-name="podNumberedList">
- <text:list-item>
- <text:p text:style-name="podNumberItem"> regrg
- </text:p>
- </text:list-item>
- <text:list-item>
- </text:list-item>
- </text:list>
- <text:p> vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù
- </text:p>
- <text:p>
- </text:p>
- <text:p> vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@èù vghriqghrghgfd hgkll hgjkf lghjfkd slhgjfd klhgjfds klghjfds s&é@
Test failed.

-------------------------------------------------------------------------------
- Test xhtmlComplex5.
- More more.

Checking result...
Test successful.

-------------------------------------------------------------------------------
- Test xhmlIgnoreStyles.
- Checks if POD ignores style information that can come from cut/past operations from a Word processor to a browser editor like Kupu.

Checking result...
Test successful.

*******************************************************************************
* Suite PodImports.
* Tests the import of documents into a pod template.

56/58 successful test(s), but 3 ignored test(s) not counted.

Revision history for this message
Gaëtan Delannay (gaetan-delannay) said :
#11

Hi Luc,
"If you help yourself, God will help you..."
Again, thanks a lot for the debug info.
So I've published Appy 0.6.3 that should (among many other things ;-)) solve this problem.
Could you tell me if it is OK ??
Thanks!
Gaetan

Revision history for this message
Luc Saffre (luc-saffre) said :
#12

Yes it works!
Thanks for your engaged work on a gret product!
In a few days we will start to do more complex tests in the field.