[etherlab-dev] Xml output of ethercat (tool)
Erwin Burgstaller
ethercat.berknapp at spamgourmet.com
Fri Apr 24 12:26:35 CEST 2009
Hi,
as we know
ethercat -xml
produces XML output. Unfortunately, if there is more than one device
attached, it's not just one single document but a list of documents,
I'm planning to use that XML output for testing the software
without the hardware and even without the ec_master module.
I could easily write another tool for filtering that multiple
<?xml>-lines out and writing another tag around the list.
But wouldn't it better to have just one single document?
The name could be EtherCATInfoList for example, any better names?
And attached there's a little patch for the file
''tool/CommandXml.cpp'', which would solve that. The patch works from
Version 1.4 up to devel-r1713.
What do you think about?
Regards,
Erwin
--
Erwin Burgstaller
-------------- next part --------------
--- CommandXml.cpp.orig 2009-03-19 09:43:05.000000000 +0100
+++ CommandXml.cpp 2009-04-24 11:06:36.425183000 +0200
@@ -82,9 +82,16 @@
m.open(MasterDevice::Read);
slaves = selectedSlaves(m);
+ cout
+ << "<?xml version=\"1.0\" ?>" << endl
+ << "<EtherCATInfoList>" << endl;
+
for (si = slaves.begin(); si != slaves.end(); si++) {
generateSlaveXml(m, *si);
}
+
+ cout
+ << "</EtherCATInfoList>" << endl;
}
/****************************************************************************/
@@ -101,7 +108,6 @@
unsigned int i, j, k;
cout
- << "<?xml version=\"1.0\" ?>" << endl
<< " <EtherCATInfo>" << endl
<< " <!-- Slave " << slave.position << " -->" << endl
<< " <Vendor>" << endl
@@ -202,8 +208,8 @@
cout
<< " </Device>" << endl
- << " </Devices>" << endl
- << " </Descriptions>" << endl
- << "</EtherCATInfo>" << endl;
+ << " </Devices>" << endl
+ << " </Descriptions>" << endl
+ << " </EtherCATInfo>" << endl;
}
/*****************************************************************************/
More information about the etherlab-dev
mailing list