diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-08 03:22:01 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-08 12:29:44 +0100 |
commit | 752afa1c4c5caf59a3b510a7fae3a1995c4b5b02 (patch) | |
tree | 08c56a8b57aeab25fbfffc12bc78bad48ed3b1da | |
parent | 573a4ff44e0ae70a479637cd26de33e7568d7987 (diff) | |
download | msitools-752afa1c4c5caf59a3b510a7fae3a1995c4b5b02.tar.gz msitools-752afa1c4c5caf59a3b510a7fae3a1995c4b5b02.tar.xz msitools-752afa1c4c5caf59a3b510a7fae3a1995c4b5b02.zip |
Allow multiple root elements in wxs
-rw-r--r-- | src/builder.vala | 15 | ||||
-rw-r--r-- | src/wix.vala | 13 |
2 files changed, 12 insertions, 16 deletions
diff --git a/src/builder.vala b/src/builder.vala index ef41d56..c29d357 100644 --- a/src/builder.vala +++ b/src/builder.vala @@ -18,9 +18,18 @@ namespace Wixl { List<WixRoot> roots; public void load_xml (string data) throws GLib.Error { var doc = Xml.Parser.read_memory (data, data.length); - var root = new WixRoot (); - root.load_xml (doc); - roots.append (root); + + for (var child = doc->children; child != null; child = child->next) { + switch (child->type) { + case Xml.ElementType.ELEMENT_NODE: + if (child->name != "Wix") + warning ("unhandled node %s", child->name); + var root = new WixRoot (); + root.load (child); + roots.append (root); + break; + } + } } public G? find_element<G> (string Id) { diff --git a/src/wix.vala b/src/wix.vala index 50a53ad..d44c8af 100644 --- a/src/wix.vala +++ b/src/wix.vala @@ -469,19 +469,6 @@ namespace Wixl { typeof (WixFragment), }); } - - public string xmlns { get; set; } - - public WixRoot () { - } - - public void load_xml (Xml.Doc *doc) throws Wixl.Error { - var root = doc->children; - load (root); - - if (root->ns != null) - xmlns = root->ns->href; - } } } // Wixl
\ No newline at end of file |