Configuration file parser like Config::General for perl

Hello,
I have the problem, that in a project I am working in the configuration
files are in a apache config file like format. This is a mixture of
XML-Format and normal config format like
<id>
  name example
  use "for test"
<id>

The normal used language is perl, where the format, with some extensions, is
supported by the Config::General Package.
Is the something similar existing for Ruby? I have already searched in
rubyforge, but I could not find something fitting. Somehow xmldigest or
digestr seems partly to fit, but I am unsure if they support the whole
range of the config-file. Or are there some settings existing for the
xml-libraries like rexml to support this uncomliant kind of XML?

Best regards,
Tammo

I know nothing of the sort. However, if should be pretty easy to use
REXML to loop through the XML elements and apply a parser to each
sections text.

T.

···

On Sep 4, 11:35 am, Tammo Tjarks <ta...@tammo-tjarks.de> wrote:

Hello,
I have the problem, that in a project I am working in the configuration
files are in a apache config file like format. This is a mixture of
XML-Format and normal config format like
<id>
  name example
  use "for test"
<id>

The normal used language is perl, where the format, with some extensions, is
supported by the Config::General Package.
Is the something similar existing for Ruby? I have already searched in
rubyforge, but I could not find something fitting. Somehow xmldigest or
digestr seems partly to fit, but I am unsure if they support the whole
range of the config-file. Or are there some settings existing for the
xml-libraries like rexml to support this uncomliant kind of XML?

Trans wrote:

Hello,
I have the problem, that in a project I am working in the configuration
files are in a apache config file like format. This is a mixture of
XML-Format and normal config format like
<id>
  name example
  use "for test"
<id>

The normal used language is perl, where the format, with some extensions,
is supported by the Config::General Package.
Is the something similar existing for Ruby? I have already searched in
rubyforge, but I could not find something fitting. Somehow xmldigest or
digestr seems partly to fit, but I am unsure if they support the whole
range of the config-file. Or are there some settings existing for the
xml-libraries like rexml to support this uncomliant kind of XML?

I know nothing of the sort. However, if should be pretty easy to use
REXML to loop through the XML elements and apply a parser to each
sections text.

T.

Thanks for your answer. But I am not sure if that works without workaround.
The Problem is, that the apache config file format allowas also things
like:

···

On Sep 4, 11:35 am, Tammo Tjarks <ta...@tammo-tjarks.de> wrote:

---------------------

version 1.0

root "not existing"

<display>
driver X11
name test
</display>

<modules>
perl 5.8.2
ruby 1.8.6
</modules>

--------------------

I should mention that this is a meaningless example. The important point is,
that you do not have proper xpaths and root-nodes. I have tried it once
with rexml and it was somehow complaining (I have to look, but it was
something with a line in rexml with <<)

What I can try is to surround it by a master-node before read-in but that is
a hack and I am not sure if it will work. Anyway I will try.

Regards,
Tammo

If they are only using Xml to do dead simple <x> ... </x> braketing,
then you could write a parser for that too. As long as there is no
nesting of identically named nodes, it is very simple parsing and
Regexp's can be used to do it.

Just a thought.
T.

···

On Sep 4, 1:21 pm, Tammo Tjarks <ta...@tammo-tjarks.de> wrote:

Trans wrote:

> On Sep 4, 11:35 am, Tammo Tjarks <ta...@tammo-tjarks.de> wrote:
>> Hello,
>> I have the problem, that in a project I am working in the configuration
>> files are in a apache config file like format. This is a mixture of
>> XML-Format and normal config format like
>> <id>
>> name example
>> use "for test"
>> <id>

>> The normal used language is perl, where the format, with some extensions,
>> is supported by the Config::General Package.
>> Is the something similar existing for Ruby? I have already searched in
>> rubyforge, but I could not find something fitting. Somehow xmldigest or
>> digestr seems partly to fit, but I am unsure if they support the whole
>> range of the config-file. Or are there some settings existing for the
>> xml-libraries like rexml to support this uncomliant kind of XML?

> I know nothing of the sort. However, if should be pretty easy to use
> REXML to loop through the XML elements and apply a parser to each
> sections text.

> T.

Thanks for your answer. But I am not sure if that works without workaround.
The Problem is, that the apache config file format allowas also things
like:
---------------------

version 1.0

root "not existing"

<display>
driver X11
name test
</display>

<modules>
perl 5.8.2
ruby 1.8.6
</modules>

--------------------

I should mention that this is a meaningless example. The important point is,
that you do not have proper xpaths and root-nodes. I have tried it once
with rexml and it was somehow complaining (I have to look, but it was
something with a line in rexml with <<)

What I can try is to surround it by a master-node before read-in but that is
a hack and I am not sure if it will work. Anyway I will try.