Return-Path: Delivered-To: apmail-cocoon-users-archive@www.apache.org Received: (qmail 52284 invoked from network); 24 May 2006 16:04:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 May 2006 16:04:50 -0000 Received: (qmail 9405 invoked by uid 500); 24 May 2006 16:04:43 -0000 Delivered-To: apmail-cocoon-users-archive@cocoon.apache.org Received: (qmail 9353 invoked by uid 500); 24 May 2006 16:04:43 -0000 Mailing-List: contact users-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: users@cocoon.apache.org List-Id: Delivered-To: mailing list users@cocoon.apache.org Received: (qmail 9335 invoked by uid 99); 24 May 2006 16:04:43 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 May 2006 09:04:43 -0700 X-ASF-Spam-Status: No, hits=1.4 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_WHOIS,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [209.191.85.128] (HELO web37209.mail.mud.yahoo.com) (209.191.85.128) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 24 May 2006 09:04:41 -0700 Received: (qmail 22622 invoked by uid 60001); 24 May 2006 16:04:20 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ju2o0uIpsgc1198NqF1nwIZPQQIIWe17E7RWQlb2LoiVLVwkGAH32cZ0n3W1iM+addryvypQvNQx9u8dJyi8VGlV4+fRzFaaNxjNJt/w+IMYQRlfHlxANR0CZ3I56eSNUoehCVA9x0YhooP7nxc/KBGbNPzT/4ZuGbXVZshS3mc= ; Message-ID: <20060524160420.22620.qmail@web37209.mail.mud.yahoo.com> Received: from [80.191.15.7] by web37209.mail.mud.yahoo.com via HTTP; Wed, 24 May 2006 09:04:20 PDT Date: Wed, 24 May 2006 09:04:20 -0700 (PDT) From: Abbas Mousavi Subject: Re: AW: AW: encoding problem with eXist database To: users@cocoon.apache.org In-Reply-To: <004e01c67f48$31906f80$1401a8c0@univativ.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1553406503-1148486660=:21116" Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --0-1553406503-1148486660=:21116 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi I dont know how to use String.getBytes(encoding) or XMLResourc.setContent(xml-string) , I explain my whole word: I have this in the sitemap that reads a html file from the disk and generates an xml and I have this function in my flowscript. I call it when I want to write to a source. function write(){ var home = cocoon.parameters.home; var name = cocoon.parameters.name; //writeDoc('webdav://admin@localhost:8080/exist-webdav/db/'+home+'/'+name+'.xml',name+'.xml'); writeDoc('xmldb:exist:///db/'+home+'/'+name+'.xml',name+'.xml'); writeDoc(name+'.htm',name+'.htm'); cocoon.redirectTo(""); } function writeDoc(doc, pipeline) { var resolver = null; var source = null; var output = null; try { resolver = cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE); source = resolver.resolveURI(doc); if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource) { output = source.getOutputStream(); cocoon.processPipelineTo(pipeline, {}, output); output.close(); } else { cocoon.log.error("Cannot write to " + doc + ": not a modifiable source"); } } catch (error) { cocoon.log.error("Error getting output stream: " + error); } finally { if (source != null) resolver.release(source); cocoon.releaseComponent(resolver); if (output != null) { try { output.close(); } catch (error) { cocoon.log.error("Error closing output stream: " + error); } } } } as I said the first and second writeDoc() work but write wrong encoding and the next writeDoc() works correct. and another thing: org.exist.cocoon.XMLDBSource has a setEncoding() method that sets the default encoding of outputstream but the cocoon source resolver returns org.apache.cocoon.components.source.impl.XMLDBSource which has not such method. Is there any way to use org.exist.cocoon.XMLDBSource instead of org.apache.cocoon.components.source.impl.XMLDBSource ? thanks. Abbas Christofer Dutz wrote: v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} st1\:*{behavior:url(#default#ieooui) } How exactly do you stroe your data? Do you use XMLResourc.setContent(xml-string)? You could try explicitly seting the input-Strings encoding using the String.getBytes(encoding) method. If this doesn’t help. I’d try the exist mailinglist, the guys there should be able to help you solve your problems. Chris [ c h r i s t o f e r d u t z ] IT-Berater univativ GmbH & Co. KG Robert-Bosch-Str. 7, 64293 Darmstadt fon: 0 61 51 / 66 717 -0 fax: 0 61 51 / 66 717 -29 email: christofer.dutz@univativ.de http://www.univativ.de Darmstadt, Stuttgart, Karlsruhe, Düsseldorf --------------------------------- Von: Abbas Mousavi [mailto:abbasmousavi@yahoo.com] Gesendet: Mittwoch, 24. Mai 2006 16:59 An: users@cocoon.apache.org Betreff: Re: AW: encoding problem with eXist database Hi chris I have set container-encoding and form encoding and serializer encoding to utf-8. also I can write the same pipeline to other sources (for example to hard disk) truly by the same mechanism. I think this problem has some thing related to eXist because I have tested the webdav interface to eXist and it was the same as xmldb: protocol: wrong encoding. Christofer Dutz wrote: Hi Abbas, I think you should check the settings in your web.xml (container-encoding and form-encoding) and the serializer settings in the sitemap.xmap. I think I remember having some encoding-problems with CForms. I guess cocoon will provide content encoded in the format set here. And since you are using cocoon to generate the document stored in the db, I’d give it a try. Chris [ c h r i s t o f e r d u t z ] IT-Berater univativ GmbH & Co. KG Robert-Bosch-Str. 7, 64293 Darmstadt fon: 0 61 51 / 66 717 -0 fax: 0 61 51 / 66 717 -29 email: christofer.dutz@univativ.de http://www.univativ.de Darmstadt, Stuttgart, Karlsruhe, D�sseldorf --------------------------------- Von: Abbas Mousavi [mailto:abbasmousavi@yahoo.com] Gesendet: Mittwoch, 24. Mai 2006 15:11 An: users@cocoon.apache.org Betreff: encoding problem with eXist database Hi I am using eXist with cocoon as my xml database. I can copy xml documents to eXist by a webdav client and exist admin client, and also can retrieve them correctly by xmldb:exist:// protocol, but when I want to write documents to exist with flowscript it does not writes the unicode documents correctly. I use resolver = cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE); source = resolver.resolveURI('xmldb:exist:///db/collection/document.xml'); if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource) { output = source.getOutputStream(); cocoon.processPipelineTo(pipeline, {}, output); output.close(); } It writes the document to the database but with wrong encoding. is there any way for fixing this problem? --------------------------------- Blab-away for as little as 1�/min. Make PC-to-Phone Calls using Yahoo! Messenger with Voice. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------- How low will we go? Check out Yahoo! Messenger�s low PC-to-Phone call rates. --0-1553406503-1148486660=:21116 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi

I dont know how to use String.getBytes(encoding) or XMLResourc.setContent(xml-string) , I explain my whole word:

I have this in the sitemap

<map:match pattern="*/*.xml">
                <map:generate type="html" src="{1}/{2}.html"/>
                <map:transform src="../style/math/article-to-page.xsl"/>
                <map:serialize type="xml"/>
            </map:match>
that reads a html file from the disk and generates an xml

and I have this function in my flowscript. I call it when I want to
write to a source.

function write(){
var home = cocoon.parameters.home;
var name = cocoon.parameters.name;
//writeDoc('webdav://admin@localhost:8080/exist-webdav/db/'+home+'/'+name+'.xml',name+'.xml');
writeDoc('xmldb:exist:///db/'+home+'/'+name+'.xml',name+'.xml');
writeDoc(name+'.htm',name+'.htm');
cocoon.redirectTo("");
}

function writeDoc(doc, pipeline) {
    var resolver = null;
    var source = null;
    var output = null;
   
    try {
        resolver = cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE);
        source = resolver.resolveURI(doc);


        if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource) {
            output = source.getOutputStream();
            cocoon.processPipelineTo(pipeline, {}, output);
            output.close();
        } else {
            cocoon.log.error("Cannot write to " + doc + ": not a modifiable source");
        }
    } catch (error) {
        cocoon.log.error("Error getting output stream: " + error);
    } finally {
        if (source != null) resolver.release(source);
        cocoon.releaseComponent(resolver);
        if (output != null) {
            try {
                output.close();
            } catch (error) {
                cocoon.log.error("Error closing output stream: " + error);
            }
        }
    }
}

as I said the first and second writeDoc() work but write wrong encoding
and the next writeDoc() works correct.


and another thing:

org.exist.cocoon.XMLDBSource has a setEncoding() method that sets the default encoding of outputstream
but the cocoon source resolver returns  
org.apache.cocoon.components.source.impl.XMLDBSource
which has not such method. Is there any way to use
org.exist.cocoon.XMLDBSource
instead of
org.apache.cocoon.components.source.impl.XMLDBSource ?
thanks.
Abbas





Christofer Dutz <dutz@c-ware.de> wrote:
How exactly do you stroe your data? Do you use XMLResourc.setContent(xml-string)? You could try explicitly seting the input-Strings encoding using the String.getBytes(encoding) method.
 
If this doesn’t help. I’d try the exist mailinglist, the guys there should be able to help you solve your problems.
 
Chris
 
[ c h r i s t o f e r   d u t z ]

IT-Berater
univativ GmbH & Co. KG
Robert-Bosch-Str.
7, 64293 Darmstadt

fon:  0 61 51 / 66 717 -0
fax:  0 61 51 / 66 717 -29
email:  christofer.dutz@univativ.de
http://www.univativ.de

Darmstadt, Stuttgart, Karlsruhe, Düsseldorf
 
 

Von: Abbas Mousavi [mailto:abbasmousavi@yahoo.com]
Gesendet: Mittwoch, 24. Mai 2006 16:59
An: users@cocoon.apache.org
Betreff: Re: AW: encoding problem with eXist database
 
Hi chris

I have set container-encoding and form encoding and serializer encoding to utf-8.

also I can write the same pipeline to other sources (for example to hard disk)
truly by the same mechanism.

I think this problem has some thing related to eXist because I have tested the webdav interface to eXist and it was the same as xmldb: protocol: wrong encoding.

Christofer Dutz <dutz@c-ware.de> wrote:
Hi Abbas,
 
I think you should check the settings in your web.xml (container-encoding and form-encoding) and the serializer settings in the sitemap.xmap. I think I remember having some encoding-problems with CForms. I guess cocoon will provide content encoded in the format set here. And since you are using cocoon to generate the document stored in the db, I’d give it a try.
 
Chris
 
[ c h r i s t o f e r   d u t z ]

IT-Berater
univativ GmbH & Co. KG
Robert-Bosch-Str.
7, 64293 Darmstadt

fon:  0 61 51 / 66 717 -0
fax:  0 61 51 / 66 717 -29
email:  christofer.dutz@univativ.de
http://www.univativ.de

Darmstadt, Stuttgart, Karlsruhe, D�sseldorf
 
 

Von: Abbas Mousavi [mailto:abbasmousavi@yahoo.com]
Gesendet: Mittwoch, 24. Mai 2006 15:11
An: users@cocoon.apache.org
Betreff: encoding problem with eXist database
 
Hi

I am using eXist with cocoon as my xml database. I can copy xml documents to eXist by a webdav client and exist admin client, and also can retrieve them correctly
by xmldb:exist://  protocol, but when I want to write documents to exist with flowscript it does not writes the unicode documents correctly.

I use

 resolver = cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE);
        source = resolver.resolveURI('xmldb:exist:///db/collection/document.xml');

 if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource) {
            output = source.getOutputStream();
            cocoon.processPipelineTo(pipeline, {}, output);
            output.close();
        }

It writes the document to the database but with wrong encoding.
is there any way for fixing this problem?

Blab-away for as little as 1�/min. Make PC-to-Phone Calls using Yahoo! Messenger with Voice.
 
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


How low will we go? Check out Yahoo! Messenger�s low PC-to-Phone call rates. --0-1553406503-1148486660=:21116--