in reply to Re^4: the annoying keys "key" and "value"
in thread the annoying keys "key" and "value"

> The non-pathological representation would have: $hash{$key}=[$value1, $value2, $value3,...] and the distinction between array and scalar fields would be handled by the schema.

I don't understand what you want or mean, sorry.

Could you give me an example of a non trivial XML with a reversable mapping to a nested perl data structure?

For my amateur understanding each XML-tag is from a perl perspective a hash with attributes as keys additionally to tag name and an ordered list of children tags. And the list part can only be represented as an array or a scalar if it's just one element (like a text-string).

The example you gave in the OP is only a special case of a simple schema, where "key" was the tag-name and "value" was a (one element) string.

For sure many DTDs might be much easier - or in your word "non-pathologically" - represented, but thats the general case we are talking about.

Cheers Rolf