On 8/13/15, Blondeau Vincent <[email protected]> wrote:
> Hi,
>
> Look at TabularCell>>extractFromXml: to have some hint about the standard
> values of the parameters.
I factores out self extractDataFromXml: aXMLElement.
extractFromXml: aXMLElement
self style: (aXMLElement attributeAt: 's') asString.
self type: ((aXMLElement attributeAt: 't') asString ifEmpty: [ nil ]).
self extractDataFromXml: aXMLElement.
self formula: ((aXMLElement elementAt: 'f') ifNotNil: [ :e | e
firstNode asString ])
extractDataFromXml: aXMLElement
self
data:
(self type = 's'
ifTrue: [ (self stringAt: ((aXMLElement
elementAt: 'v') ifNotNil:
[ :e | e firstNode ifNotNil: [ :s | s asString ] ])) asString ]
ifFalse: [ (aXMLElement elementAt: 'v')
ifNotNil: [ :e | e
firstNode ifNotNil: [ :s | s asString ] ] ])
type may be 's' (for shared string) or 'inline' for inline string.
But what is 'v'?
In the case of a inline string I have for example
<row r="1">
<c r="A1" t="inlineStr">
<is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
</c>
I'd like to compile a short summary of the meaning of these one-letter tags.
> Don't hesitate to put some comments in the code with the discoveries you
> made.
Sure
> Vincent
>
> > -----Message d'origine-----
> > De : Pharo-users [mailto:[email protected]] De
> la part
> > de H. Hirzel
> > Envoyé : jeudi 13 août 2015 12:39
> > À : Any question about pharo is welcome
> > Objet : Re: [Pharo-users] Tabular: XLSX import
> >
> > Answering my own question:
> >
> > Another value for t is
> >
> > t="inlineStr"
> >
> > <row r="1">
> > <c r="A1" t="inlineStr">
> > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c> </row>
> >
> > So for the export I will ignore the construction of a file
> >
> > sharedStrings.xml
> >
> > at the moment.
> >
> > On 8/13/15, H. Hirzel <[email protected]> wrote:
> > > The attribute t="s" of a cell c seems to indicate that the
> content has
> > > to be interpreted as a shared string.
> > >
> > > XLSXImporter>>resolveSharedStrings
> > > "Replace shared strings pointers to real strings"
> > > workbook worksheets do:[:worksheet|
> > > worksheet cells do:[:cell|
> > > ((cell attributeAt: #xlsx:t) = 's')
> > > ifTrue:[cell data: (sharedStrings
> at: (cell data
> > asNumber + 1))]
> > > "XLSX uses 0-based arrays"
> > > ]
> > > ]
> > >
> > > On 8/13/15, H. Hirzel <[email protected]> wrote:
> > >> For the shared strings in sheet1.xml for example
> > >>
> > >> <c r="A1" s="1" t="s">
> > >>
> > >> what do the attributes s and t stand for?
> > >>
> > >>
> > >> <row r="1" customFormat="false" ht="35.05" hidden="false"
> > >> customHeight="false" outlineLevel="0" collapsed="false"> <c
> r="A1"
> > >> s="1" t="s"> <v>0</v> </c> </row>
> > >>
> > >> <row r="5" customFormat="false" ht="79.85" hidden="false"
> > >> customHeight="false" outlineLevel="0" collapsed="false"> <c
> r="B5"
> > >> s="1" t="s"> <v>1</v> </c> </row>
> > >>
> > >>
> > >> On 8/13/15, H. Hirzel <[email protected]> wrote:
> > >>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
> > HannesHirzel.52.mcz
> > >>> 47 test run, 37 passes.
> > >>>
> > >>>
> > >>> Currently I have a fixed string
> > >>>
> > >>> TabularXSLXExport>>sharedStrings_xml
> > >>> ^'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <sst
> > >>>
> > xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
> > >>> count="1" uniqueCount="1">
> > >>> <si><t> </t></si>
> > >>> </sst>'.
> > >>>
> > >>> How far can I safely ignore constructing a proper
> > >>> xl/sharedStrings.xml in the archive?
> > >>>
> > >>>
> > >>>
> > >>> On 8/13/15, H. Hirzel <[email protected]> wrote:
> > >>>> Found a useful summary about for generating XLSX files
> > >>>>
> > >>>>
> http://stackoverflow.com/questions/6055430/how-to-create-xlsx-
> > file-
> > >>>> without-using-any-excel-library-php/18820405#18820405
> > >>>>
> > >>>> On 8/13/15, H. Hirzel <[email protected]> wrote:
> > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
> > HannesHirzel.50.m
> > >>>>> cz
> > >>>>>
> > >>>>> Another question is about the
> > >>>>>
> > >>>>> #colspan: property of a cell
> > >>>>>
> > >>>>>
> > >>>>> (wsheet cells at: 1 @ 1) colspan: 1.
> > >>>>>
> > >>>>> actually makes cell A1 span 2 columns.
> > >>>>>
> > >>>>> Is this OK according to the standard?
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> TabularXLSXExportTest>>testExport7
> > >>>>>
> > >>>>> | wbk wsheet |
> > >>>>> wbk := TabularWorkbook new.
> > >>>>> self assert: (wbk worksheets isEmpty).
> > >>>>>
> > >>>>> wsheet := TabularWorksheet new.
> > >>>>> wsheet
> > >>>>> at: 1 @ 1 putData: 'aaa';
> > >>>>> at: 3 @ 1 putData: 'ccc'.
> > >>>>> (wsheet cells at: 1 @ 1) colspan: 1.
> > >>>>>
> > >>>>> wbk worksheets add: wsheet.
> > >>>>> TabularXSLXExport workbook: wbk fileName: fname7.
> > >>>>>
> > >>>>> "manual inspection shows that the exported file is
> fine"
> > >>>>> "But is the colspan command fine? Add a colspan test
> to TabularCell"
> > >>>>>
> > >>>>>
> > >>>>> On 8/13/15, H. Hirzel <[email protected]> wrote:
> > >>>>>> Hello Jurij and Vincent
> > >>>>>>
> > >>>>>> I am working on extending the export function (export of
> several
> > >>>>>> worksheets).
> > >>>>>>
> > >>>>>> For this I am adding some more tests currently and I'd like
> to
> > >>>>>> have your feedback on some of the basic functions
> regarding
> > >>>>>> initial values.
> > >>>>>>
> > >>>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
> > HannesHirzel.49.
> > >>>>>> mcz
> > >>>>>> (41 tests run, 32 passes)
> > >>>>>>
> > >>>>>> in particular on class TabularWorksheetTest (3 tests)
> > >>>>>>
> > >>>>>> We have for example
> > >>>>>>
> > >>>>>>
> > >>>>>> Test which passes
> > >>>>>>
> > >>>>>> testCellsReadingEmptyCell0
> > >>>>>> "accessing a cell without data"
> > >>>>>>
> > >>>>>> ws col: 1 row: 1 putData: 11.
> > >>>>>> ws col: 2 row: 1 putData: 21.
> > >>>>>>
> > >>>>>> self assert: (ws col: 1 row: 1) data equals: 11.
> > >>>>>> self assert: (ws col: 2 row: 1) data equals: 21.
> > >>>>>>
> > >>>>>> self assert: ((ws col: 3 row: 1) isNil). "Is this
> OK to have
> > >>>>>> nil returned?"
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>> Test which does not pass
> > >>>>>>
> > >>>>>> testCellsReadingEmptyCell
> > >>>>>>
> > >>>>>> self assert: ((ws col: 100 row: 100) data ='').
> > >>>>>>
> > >>>>>> "probably should return an empty string"
> > >>>>>>
> > >>>>>>
> > >>>>>> Comments of others are invited as well.
> > >>>>>>
> > >>>>>> -- Hannes
> > >>>>>>
> > >>>>>> On 8/9/15, Юрий Мироненко <[email protected]> wrote:
> > >>>>>>> If your are using at least Pharo 4.0, you can use the
> catalog
> > >>>>>>> browser to load the ConfigurationOfTabular directly.
> > >>>>>>>
> > >>>>>>> You have only publish it for MetaRepoForPharo50, so it
> didn't
> > >>>>>>> work for Pharo 4.
> > >>>>>>> BUt, thanks to your explanations, I just have published
> in
> > >>>>>>> MetaRepoForPharo40 as well - works like charm!
> > >>>>>>>
> > >>>>>>> 2015-08-08 12:45 GMT+03:00 Vincent BLONDEAU <
> > >>>>>>> [email protected]>:
> > >>>>>>>
> > >>>>>>>> Hi,
> > >>>>>>>>
> > >>>>>>>> I added the dependencies to PharoExtras/XMLWriter and
> > XMLParser.
> > >>>>>>>> I didn't add the dependencies before because I used
> Tabular
> > >>>>>>>> with Moose, and Moose already loads these
> dependencies...
> > >>>>>>>>
> > >>>>>>>> Now it should work. I created the new 0.2 release with
> the
> > >>>>>>>> required dependencies.
> > >>>>>>>>
> > >>>>>>>> By the way, I used Versionner to create the
> configuration. I
> > >>>>>>>> don't know if there is a documentation but there is a
> video:
> > >>>>>>>> https://www.youtube.com/watch?v=cFRJDuWL-Q0
> > >>>>>>>>
> > >>>>>>>> It is a very fast tool to manage your projects!
> > >>>>>>>>
> > >>>>>>>> If your are using at least Pharo 4.0, you can use the
> catalog
> > >>>>>>>> browser to load the ConfigurationOfTabular directly.
> > >>>>>>>>
> > >>>>>>>> Best,
> > >>>>>>>> Vincent
> > >>>>>>>>
> > >>>>>>>> -----Message d'origine-----
> > >>>>>>>> De : Pharo-users
> [mailto:[email protected]]
> > >>>>>>>> De la part de H. Hirzel Envoyé : samedi 8 août 2015 10:34
> À :
> > >>>>>>>> Any question about pharo is welcome Objet : Re:
> [Pharo-users]
> > >>>>>>>> Tabular: XLSX import
> > >>>>>>>>
> > >>>>>>>> If I do
> > >>>>>>>>
> > >>>>>>>> ConfigurationOfXMLWriter load
> > >>>>>>>>
> > >>>>>>>> then
> > >>>>>>>>
> > >>>>>>>> TabularExperimentalExport writeTestFile
> > >>>>>>>>
> > >>>>>>>> is fine generating an Excel file.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
> > HannesHirzel.2
> > >>>>>>>> 7.mcz
> > >>>>>>>>
> > >>>>>>>> I am currently exploring the code and trying to figure
> out how
> > >>>>>>>> it works.
> > >>>>>>>>
> > >>>>>>>> --Hannes
> > >>>>>>>>
> > >>>>>>>> On 8/8/15, H. Hirzel <[email protected]> wrote:
> > >>>>>>>> > I understand that Юрий Мироненко asks how to construct
> his
> > >>>>>>>> > ConfigurationOfTabular file
> > >>>>>>>> >
> > >>>>>>>> > http://ss3.gemtalksystems.com/ss/Tabular.html
> > >>>>>>>> >
> > >>>>>>>> > So I pointed him to the Pharo By Examples book 2
> Chapter 9
> > >>>>>>>> > Managing Projects with Metacello
> > >>>>>>>> >
> > >>>>>>>> >
> > >>>>>>>> > The Tabular project needs a XMLWriter class. I assume
> the
> > >>>>>>>> > regular pharoExtras is fine. I do not know.
> > >>>>>>>> >
> > >>>>>>>> > I am just looking at the code to see how the reading
> and
> > >>>>>>>> > writing of MSOffice files, Excel in this particular
> case, is
> > >>>>>>>> > done so far.
> > >>>>>>>> >
> > >>>>>>>> > For reading a TabularSAXParser is included in the
> package.
> > >>>>>>>> > Probably
> > >>>>>>>> > not necessary.
> > >>>>>>>> >
> > >>>>>>>> > I moved it out here
> > >>>>>>>> > http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
> > HannesHirzel
> > >>>>>>>> > .26.mcz
> > >>>>>>>> >
> > >>>>>>>> > Hannes
> > >>>>>>>> >
> > >>>>>>>> >
> > >>>>>>>> >
> > >>>>>>>> > On 8/8/15, stepharo <[email protected]> wrote:
> > >>>>>>>> >>
> > >>>>>>>> >>
> > >>>>>>>> >> Le 8/8/15 09:11, H. Hirzel a écrit :
> > >>>>>>>> >>> What about
> > >>>>>>>> >>> http://rmod.lille.inria.fr/deepIntoPharo/index.html
> > >>>>>>>> >>>
> > >>>>>>>> >>> p. 163 depending on a project without Metacello
> description
> > p.
> > >>>>>>>> >>> 164,
> > >>>>>>>> >>> depending on a project with a Metacello
> configuration
> > >>>>>>>> >>>
> > >>>>>>>> >>> In the mean time just a note that Tabular needs
> XMLParser
> > >>>>>>>> >>> and XMLWriter packages on
> > >>>>>>>> >>> http://ss3.gemtalksystems.com/ss/Tabular.html.
> > >>>>>>>> >>
> > >>>>>>>> >> are you implying that there is no expression of
> dependencies
> > >>>>>>>> >> and that in addition it depend on a different XML
> > >>>>>>>> >> Parser/Writer than pharoExtras ones?
> > >>>>>>>> >>
> > >>>>>>>> >> Stef
> > >>>>>>>> >>>
> > >>>>>>>> >>> Some class comments are welcome as well :-)
> > >>>>>>>> >>>
> > >>>>>>>> >>> I understand that I can read Excel files and that you
> just
> > >>>>>>>> >>> started to check out how to write them?
> > >>>>>>>> >>>
> > >>>>>>>> >>> --Hannes
> > >>>>>>>> >>>
> > >>>>>>>> >>> On 8/4/15, Юрий Мироненко <[email protected]>
> > wrote:
> > >>>>>>>> >>>> Thank you Vincent.
> > >>>>>>>> >>>> Some things is much clearer for me now.
> > >>>>>>>> >>>>
> > >>>>>>>> >>>> *It's shame on me that I lost all this Metacello
> progress,
> > >>>>>>>> >>>> especially taking into account I was on the ESUG
> > >>>>>>>> >>>> conference where it was presented.
> > >>>>>>>> >>>> It
> > >>>>>>>> >>>> was my only conference unfortunately.*
> > >>>>>>>> >>>>
> > >>>>>>>> >>>> I see that you already started this job: you added
> > >>>>>>>> >>>> ConfigurationOfTabular.
> > >>>>>>>> >>>> What I really want to do with this configuration:
> add
> > >>>>>>>> >>>> dependencies to XMLParser and XMLWriter packages.
> Can
> > you
> > >>>>>>>> >>>> help with this, please?
> > >>>>>>>> >>>>
> > >>>>>>>> >>>> 2015-08-04 17:19 GMT+03:00 Blondeau Vincent
> > >>>>>>>> >>>> <[email protected]>
> > >>>>>>>> >>>> :
> > >>>>>>>> >>>>
> > >>>>>>>> >>>>> Hi,
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> To add a configuration in the catalog, first you
> should
> > >>>>>>>> >>>>> have a configuration for your project. You can
> create it
> > >>>>>>>> >>>>> with the versionner if needed.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Second, you have to add some methods adding
> > >>>>>>>> >>>>> meta-description to your project. The versionner do
> it
> > >>>>>>>> >>>>> for you: in the configuration list, select your
> project,
> > >>>>>>>> >>>>> do a right click and select add catalog methods.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> It creates all the mandatory methods for the
> catalog. You
> > >>>>>>>> >>>>> now have to fill them (look at the class side of
> the
> > >>>>>>>> >>>>> configuration).
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Finally, commit your configuration on your repo and
> on
> > >>>>>>>> >>>>> the
> > >>>>>>>> >>>>> MetaRepoForPharo30/40/50 depending where your
> > project is
> > >>>>>>>> >>>>> working.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> The link is here:
> > >>>>>>>> >>>>>
> > http://smalltalkhub.com/#!/~Pharo/MetaRepoForPharo50
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Once published, your project will be in the catalog
> in
> > >>>>>>>> >>>>> the image (Tools>catalog browser) and on the web
> > >>>>>>>> >>>>> http://catalog.pharo.org/.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Tell me if you need help to do it,
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Cheers,
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Vincent
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> *De :* Pharo-users
> > >>>>>>>> >>>>> [mailto:[email protected]]
> > >>>>>>>> >>>>> *De la part de* ???? ?????????
> > >>>>>>>> >>>>> *Envoyé :* dimanche 2 août 2015 10:25 *À :* Any
> > question
> > >>>>>>>> >>>>> about pharo is welcome *Objet :* Re: [Pharo-users]
> > >>>>>>>> >>>>> Tabular: XLSX import
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> It looks like I need some guidance to understand
> > >>>>>>>> >>>>> contemporary packaging/deployment/versioning
> system.
> > I
> > >>>>>>>> >>>>> know it exists, but I don't know details. Can you
> kick me
> > >>>>>>>> >>>>> in the right direction?
> > >>>>>>>> >>>>> Maybe
> > >>>>>>>> >>>>> some link?
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> 2015-08-02 11:21 GMT+03:00 Esteban Lorenzano
> > >>>>>>>> >>>>> <[email protected]>:
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Hi,
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> it would be sooo cool to have a configuration in
> the
> > >>>>>>>> >>>>> catalog…
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Esteban
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
> > >>>>>>>> >>>>> <[email protected]>
> > >>>>>>>> >>>>> wrote:
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Hello.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Some time ago I announced Tabular
> > >>>>>>>> >>>>> <http://ss3.gemtalksystems.com/ss/Tabular.html>,
> some
> > >>>>>>>> >>>>> effort to make a tool for spreadsheets
> import/export.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> This is short notice: Vincent Blondeau have added
> XLSX
> > >>>>>>>> >>>>> import functionality!
> > >>>>>>>> >>>>> It's also mostly proof-of-concept now, but even at
> this
> > >>>>>>>> >>>>> stage it's quite usable.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Thanks, Vincent!
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> ------------------------------
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> Ce message et les pièces jointes sont confidentiels
> et
> > >>>>>>>> >>>>> réservés à l'usage exclusif de ses destinataires.
> Il peut
> > >>>>>>>> >>>>> également être protégé par le secret professionnel.
> Si
> > >>>>>>>> >>>>> vous recevez ce message par erreur, merci d'en
> avertir
> > >>>>>>>> >>>>> immédiatement l'expéditeur et de le détruire.
> L'intégrité
> > >>>>>>>> >>>>> du message ne pouvant être assurée sur Internet,
> la
> > >>>>>>>> >>>>> responsabilité de Worldline ne pourra être
> recherchée
> > >>>>>>>> >>>>> quant au contenu de ce message. Bien que les
> meilleurs
> > >>>>>>>> >>>>> efforts soient faits pour maintenir cette
> transmission
> > >>>>>>>> >>>>> exempte de tout virus, l'expéditeur ne donne
> aucune
> > >>>>>>>> >>>>> garantie à cet égard et sa responsabilité ne
> saurait être
> > >>>>>>>> >>>>> recherchée pour tout dommage résultant d'un virus
> > >>>>>>>> >>>>> transmis.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>>> This e-mail and the documents attached are
> confidential
> > >>>>>>>> >>>>> and intended solely for the addressee; it may also
> be
> > privileged.
> > >>>>>>>> >>>>> If
> > >>>>>>>> >>>>> you receive this e-mail in error, please notify
> the
> > >>>>>>>> >>>>> sender immediately and destroy it.
> > >>>>>>>> >>>>> As
> > >>>>>>>> >>>>> its integrity cannot be secured on the Internet,
> the
> > >>>>>>>> >>>>> Worldline liability cannot be triggered for the
> message
> > >>>>>>>> >>>>> content.
> > >>>>>>>> >>>>> Although
> > >>>>>>>> >>>>> the sender endeavours to maintain a computer
> virus-free
> > >>>>>>>> >>>>> network, the sender does not warrant that this
> > >>>>>>>> >>>>> transmission is virus-free and will not be liable
> for any
> > >>>>>>>> >>>>> damages resulting from any virus transmitted.
> > >>>>>>>> >>>>>
> > >>>>>>>> >>>
> > >>>>>>>> >>
> > >>>>>>>> >>
> > >>>>>>>> >>
> > >>>>>>>> >
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>
> > >
>
>
>
> Ce message et les pièces jointes sont confidentiels et réservés à l'usage
> exclusif de ses destinataires. Il peut également être protégé par le secret
> professionnel. Si vous recevez ce message par erreur, merci d'en avertir
> immédiatement l'expéditeur et de le détruire. L'intégrité du message ne
> pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra
> être recherchée quant au contenu de ce message. Bien que les meilleurs
> efforts soient faits pour maintenir cette transmission exempte de tout
> virus, l'expéditeur ne donne aucune garantie à cet égard et sa
> responsabilité ne saurait être recherchée pour tout dommage résultant d'un
> virus transmis.
>
> This e-mail and the documents attached are confidential and intended solely
> for the addressee; it may also be privileged. If you receive this e-mail in
> error, please notify the sender immediately and destroy it. As its integrity
> cannot be secured on the Internet, the Worldline liability cannot be
> triggered for the message content. Although the sender endeavours to
> maintain a computer virus-free network, the sender does not warrant that
> this transmission is virus-free and will not be liable for any damages
> resulting from any virus transmitted.
>