Scenarios are pure xml style text files.
Great thing about this is that you can make git repositories for your scenario files, no changes get lost etc.
Campaigns are pure xml style text files which just point into individual scenarios this campaign contains. Scenario files listed in campaign need to be in the current campaigns directory.
In one way it makes sense, you can have 100's of scenarios in your scenario dir and then just re-use them by copying selected scenarios over to campaign directory and creating a campaign file.
However it somehow would feel more "full & compact" (difficult to explain) that campaign would be self contained package and not relying on other files, like what happens if one of these scenarios are renamed or deleted? Yep you have to copy them over and change file names in campaign etc.