You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by COGOLUEGNES Arnaud <AC...@aston.fr> on 2005/01/17 08:34:38 UTC

Divide config files

Hi all,

Does anyone has means of dividing Struts config files into separate files,
so that one main file can include all separate files?

I've been working on quite big applications where some code is automatically
generated. Sometimes Struts config files (struts-config.xml, validator.xml
and tiles-defs.xml for example) grow fast and developpers must add their own
stuff in middle of automatically generated stuff, which becomes messy.

I thought about Struts module but actually it doesn't really suit my needs.
So I tried to divide the files into separate files thanks to XML entities.
So I can have one main struts-config.xml where developpers can work on and
this file can include other files (to define action mappings or forms). Here
is what I did:

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" [
	  <!ENTITY generated-forms SYSTEM "generated-forms.xml">
]>

...

<form-beans> 
	<!-- my generated forms -->
	&generated-forms;

	<!-- developpers' forms -->
...


It works quite well and really clean the mess. I tried the same thing with
tiles-defs.xml but it seems the XML parsing is different: it was trying to
get the included file in my IDE (Eclipse) directory and actually does the
same thing if I change the DTD to SYSTEM. So it's useless as it can look in
the project WEB-INF directory. With validation.xml, it doesn't have any DTD,
so my trick can't work. I also tried XInclude with something like:

<xi:include href="myFile.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>

but it doesn't include anything.

Does anyone tried to divide their config files like this and managed to do
it? Or has a XML guru any mean to include XML into another?

Thanks,
Arno

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Divide config files

Posted by Kishore Senji <ks...@gmail.com>.
On Mon, 17 Jan 2005 08:34:38 +0100, COGOLUEGNES Arnaud
<AC...@aston.fr> wrote:
> Hi all,
> 
> Does anyone has means of dividing Struts config files into separate files,
> so that one main file can include all separate files?
> 
> I've been working on quite big applications where some code is automatically
> generated. Sometimes Struts config files (struts-config.xml, validator.xml
> and tiles-defs.xml for example) grow fast and developpers must add their own
> stuff in middle of automatically generated stuff, which becomes messy.
> 
> I thought about Struts module but actually it doesn't really suit my needs.
> So I tried to divide the files into separate files thanks to XML entities.
> So I can have one main struts-config.xml where developpers can work on and
> this file can include other files (to define action mappings or forms). Here
> is what I did:
> 
> <!DOCTYPE struts-config PUBLIC
>          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
>          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" [
>          <!ENTITY generated-forms SYSTEM "generated-forms.xml">
> ]>
> 
> ...
> 
> <form-beans>
>        <!-- my generated forms -->
>        &generated-forms;
> 
>        <!-- developpers' forms -->
> ...
> 
> It works quite well and really clean the mess. I tried the same thing with
> tiles-defs.xml but it seems the XML parsing is different: it was trying to
> get the included file in my IDE (Eclipse) directory and actually does the
> same thing if I change the DTD to SYSTEM. So it's useless as it can look in
> the project WEB-INF directory. With validation.xml, it doesn't have any DTD,
> so my trick can't work. I also tried XInclude with something like:

You can solve the problem of merging the generated content with the
developer content by keeping the files separate.

You can specify multiple tiles-def.xml for the "definitions-config"
property like so
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs-generated.xml,/WEB-INF/tiles-defs.xml" />

You can have a tiles definition xml file dedicated for the auto
generation and as many required for developer definitions.

Similarly for Validation you can specify multiple xml files like so

<set-property property="pathnames"
                    value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml-generated.xml, /WEB-INF/validation.xml"/>

You have have the same thing for struts-config.xml; ("comma specifying
multiple struts-config files") which effectively fall under a single
module (and are called segments)

So, keeping the files separate and specifying as a comma separated
list is one of the solutions to consider

> 
> <xi:include href="myFile.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
> 
> but it doesn't include anything.
> 
> Does anyone tried to divide their config files like this and managed to do
> it? Or has a XML guru any mean to include XML into another?
> 
> Thanks,
> Arno
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Divide config files

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
You can have multiple struts-config files - just specify a comma separated
list in the web.xml

See section 5.3.1 Module Configuratiin Files in the user guide:

http://struts.apache.org/userGuide/configuration.html#module_config-files
http://struts.apache.org/userGuide/configuration.html#dd_config_servlet

Niall

----- Original Message ----- 
From: "COGOLUEGNES Arnaud" <AC...@aston.fr>
To: <us...@struts.apache.org>
Sent: Monday, January 17, 2005 7:34 AM
Subject: Divide config files


> Hi all,
>
> Does anyone has means of dividing Struts config files into separate files,
> so that one main file can include all separate files?
>
> I've been working on quite big applications where some code is
automatically
> generated. Sometimes Struts config files (struts-config.xml, validator.xml
> and tiles-defs.xml for example) grow fast and developpers must add their
own
> stuff in middle of automatically generated stuff, which becomes messy.
>
> I thought about Struts module but actually it doesn't really suit my
needs.
> So I tried to divide the files into separate files thanks to XML entities.
> So I can have one main struts-config.xml where developpers can work on and
> this file can include other files (to define action mappings or forms).
Here
> is what I did:
>
> <!DOCTYPE struts-config PUBLIC
>           "-//Apache Software Foundation//DTD Struts Configuration
1.1//EN"
>           "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" [
>   <!ENTITY generated-forms SYSTEM "generated-forms.xml">
> ]>
>
> ...
>
> <form-beans>
> <!-- my generated forms -->
> &generated-forms;
>
> <!-- developpers' forms -->
> ...
>
>
> It works quite well and really clean the mess. I tried the same thing with
> tiles-defs.xml but it seems the XML parsing is different: it was trying to
> get the included file in my IDE (Eclipse) directory and actually does the
> same thing if I change the DTD to SYSTEM. So it's useless as it can look
in
> the project WEB-INF directory. With validation.xml, it doesn't have any
DTD,
> so my trick can't work. I also tried XInclude with something like:
>
> <xi:include href="myFile.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
>
> but it doesn't include anything.
>
> Does anyone tried to divide their config files like this and managed to do
> it? Or has a XML guru any mean to include XML into another?
>
> Thanks,
> Arno
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org