diff options
author | Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> | 2013-02-13 12:15:13 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-02-14 09:33:33 +0100 |
commit | d696047efe8d7356f441a52b43a531e6ca8ad3c7 (patch) | |
tree | 51363605ba54b46eb4da54571d2ce24fc08a6b9d | |
parent | c6aeca496fc747066ad09ac76c1fc281a948cd68 (diff) |
src: change XML output format to use element instead of attributes
There are some problems in using attributes:
* they cannot contain multiple values (child elements can)
* they are not easily expandable (for future changes)
* they cannot describe structures (child elements can)
* they are more difficult to manipulate by program code
* attribute values are not easy to test against a DTD
Extracted from "XML Elements vs. Attributes" at:
http://www.w3schools.com/dtd/dtd_el_vs_attr.asp
For more information.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/chain.c | 16 | ||||
-rw-r--r-- | src/table.c | 5 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/chain.c b/src/chain.c index 3c83e6d..1b1c3fe 100644 --- a/src/chain.c +++ b/src/chain.c @@ -443,14 +443,14 @@ static int nft_chain_snprintf_xml(char *buf, size_t size, struct nft_chain *c) "<chain name=\"%s\" handle=\"%lu\"" " bytes=\"%lu\" packets=\"%lu\" >\n" "\t<properties>\n" - "\t\t<flags value=\"%d\" />\n" - "\t\t<type value=\"%s\" />\n" - "\t\t<table value=\"%s\" />\n" - "\t\t<prio value=\"%d\" />\n" - "\t\t<use value=\"%d\" />\n" - "\t\t<hooknum value=\"%d\" />\n" - "\t\t<policy value=\"%d\" />\n" - "\t\t<family value=\"%d\" />\n" + "\t\t<flags>%d</flags>\n" + "\t\t<type>%s</type>\n" + "\t\t<table>%s</table>\n" + "\t\t<prio>%d</prio>\n" + "\t\t<use>%d</use>\n" + "\t\t<hooknum>%d</hooknum>\n" + "\t\t<policy>%d</policy>\n" + "\t\t<family>%d</family>\n" "\t</properties>\n" "</chain>\n", c->name, c->handle, c->bytes, c->packets, diff --git a/src/table.c b/src/table.c index eb485b2..d2e07db 100644 --- a/src/table.c +++ b/src/table.c @@ -179,8 +179,9 @@ static int nft_table_snprintf_xml(char *buf, size_t size, struct nft_table *t) return snprintf(buf, size, "<table name=\"%s\" >\n" "\t<properties>\n" - "\t\t<family value=\"%u\" />\n" - "\t\t<flags value=\"%d\" table_flags=\"%d\" />\n" + "\t\t<family>%u</family>\n" + "\t\t<flags>%d</flags>\n" + "\t\t<table_flags>%d</table_flags>\n" "\t</properties>\n" "</table>\n" , t->name, t->family, t->flags, t->table_flags); |