You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Laurent Perez <ha...@gmail.com> on 2005/08/31 16:32:23 UTC

Impossible de rajouter une entité dans un catalogue

Hello

Je souhaite utiliser des entités spéciales dans un flux XML, comme par
exemple : "&LastModification;".

J'ai donc essayé de rajouter, dans /WEB-INF/entities/ISOnum.pen, cette ligne :
<!ENTITY LastModification   "LastModification" >.

Seulement dès qu'un flux aggrégé utilise "&LastModification;" je
reçois une erreur "The entity "LastModification" was referenced, but
not declared."
Comme si ISOnum.pen n'était pas chargé par le fichier "catalog",
lui-même chargé par un CatalogManager.properties présent dans le
classpath.

Quelqu'un pourrait t'il m'indiquer une piste :) ?

Laurent
-- 
<a href="http://in-pocket.blogspot.com">http://in-pocket.blogspot.com
- Mobile world, technology and more</a>

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Malo Pichot <ma...@ajlsm.com>.
Bonjour,

Laurent Perez a écrit :
<snip />
> Je ne sais pas ce qui "doit" ajouter l'entité, puisqu'il n'y en a pas
> encore, pour l'instant ce flux sans doctype est lu par un map:generate
> dans un map:match pattern dédié, avec un map:serialize en xml.

Un sérialiseur est capable d'intégrer un DOCTYPE :
http://cocoon.apache.org/2.1/userdocs/serializers/xml-serializer.html


-- 
Malo

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Sylvain Wallez <sy...@apache.org>.
Laurent Perez wrote:

>Le besoin est de pouvoir faire passer ce flux dans un pipe de Cocoon,
>sans erreurs :) Il s'agit d'un flux partenaire, et je ne peux pas
>modifier la manière dont "ils" le génèrent.
>  
>

Ah, donc l'entité est dans le flux partenaire, mais ce flux n'a pas de 
doctype ? Alors il faut leur faire lire la spec XML : le document qu'ils 
te donnent est mal formé !

>Je ne sais pas ce qui "doit" ajouter l'entité, puisqu'il n'y en a pas
>encore, pour l'instant ce flux sans doctype est lu par un map:generate
>dans un map:match pattern dédié, avec un map:serialize en xml.
>  
>

Vu la nature du problème (si je l'ai bien comprise), on ne peut pas le 
corriger au niveau du flux SAX puisque le document est incorrect et que 
donc le parser ne va pas en vouloir.

Si "ils" ne veulent pas ou ne peuvent pas corriger le flux émis, la 
seule solution est de faire un générateur spécifique, éventuellement 
dérivé du FileGenerator, qui va insérer la déclaration doctype 
nécessaire dans le flux binaire (donc au niveau de l'inputstream) passé 
au parser XML.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Laurent Perez <ha...@gmail.com>.
Le besoin est de pouvoir faire passer ce flux dans un pipe de Cocoon,
sans erreurs :) Il s'agit d'un flux partenaire, et je ne peux pas
modifier la manière dont "ils" le génèrent.

Je ne sais pas ce qui "doit" ajouter l'entité, puisqu'il n'y en a pas
encore, pour l'instant ce flux sans doctype est lu par un map:generate
dans un map:match pattern dédié, avec un map:serialize en xml.

Laurent

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Sylvain Wallez <sy...@apache.org>.
Laurent Perez wrote:

>>Est-ce que ISOnum.pen est référencé dans le doctype du fichier XML où se
>>trouve &LastModification; ?
>>    
>>
>
>J'avais oublié de préciser : ce flux n'a pas de doctype déclaré ;(
>Je pense que je vais devoir lui rajouter le doctype avant de le passer
>dans Cocoon, à tout hasard on ne peut pas demander au Generator du
>map:generate de forcer une déclaration de doctype ?
>  
>

Avant d'envisager ça, qui n'est pas forcément simple, deux questions 
(moins bêtes) :
- quel est le besoin ?
- quel composant ou élément du pipeline doit rajouter l'entité ?

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Laurent Perez <ha...@gmail.com>.
> Est-ce que ISOnum.pen est référencé dans le doctype du fichier XML où se
> trouve &LastModification; ?

J'avais oublié de préciser : ce flux n'a pas de doctype déclaré ;(
Je pense que je vais devoir lui rajouter le doctype avant de le passer
dans Cocoon, à tout hasard on ne peut pas demander au Generator du
map:generate de forcer une déclaration de doctype ?

Laurent

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: Impossible de rajouter une entité dans un catalogue

Posted by Sylvain Wallez <sy...@apache.org>.
Laurent Perez wrote:

>Hello
>
>Je souhaite utiliser des entités spéciales dans un flux XML, comme par
>exemple : "&LastModification;".
>
>J'ai donc essayé de rajouter, dans /WEB-INF/entities/ISOnum.pen, cette ligne :
><!ENTITY LastModification   "LastModification" >.
>
>Seulement dès qu'un flux aggrégé utilise "&LastModification;" je
>reçois une erreur "The entity "LastModification" was referenced, but
>not declared."
>Comme si ISOnum.pen n'était pas chargé par le fichier "catalog",
>lui-même chargé par un CatalogManager.properties présent dans le
>classpath.
>
>Quelqu'un pourrait t'il m'indiquer une piste :) ?
>  
>

<question-bête>
Est-ce que ISOnum.pen est référencé dans le doctype du fichier XML où se 
trouve &LastModification; ?
</question-bête>

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org