www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - rapidxml for D has been ported.

reply zoujiaqing <zoujiaqing gmail.com> writes:
RapidXml is an attempt to create the fastest XML parser possible, 
while retaining useability, portability and reasonable W3C 
compatibility. It is an in-situ parser written in modern C++, 
with parsing speed approaching that of strlen function executed 
on the same data. RapidXml has been around since 2006, and is 
being used by lots of people.


Ported rapidxml repo:
https://github.com/huntlabs/rapidxml


Example:
```D
import rapidxml;

import stdio;

void main()
{
     auto doc = new xml_document;

     string doc_text = "<single-element/>";

     doc.parse!(0)(doc_text);

     auto node = doc.first_node();

     writeln(node.m_name);

     doc.validate();
}
```
Oct 08 2019
next sibling parent reply Andrea Fontana <nospam example.com> writes:
On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
Oct 08 2019
next sibling parent Dukc <ajieskola gmail.com> writes:
On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
Huh? What's wrong with dxml[1]? (Of course it's always good to have alternatives, working or no). 1: http://code.dlang.org/packages/dxml
Oct 08 2019
prev sibling parent reply bauss <jj_1337 live.dk> writes:
On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
Oct 08 2019
next sibling parent GreatSam4sure <greatsam4sure gmail.com> writes:
On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana 
 wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
It will be nice to have a thorough tutorial on how to use it.
Oct 08 2019
prev sibling parent reply NonNull <non-null use.startmail.com> writes:
On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana 
 wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
https://diamondmvc.org/ --- certificate has expired
Oct 12 2019
parent reply bauss <jj_1337 live.dk> writes:
On Saturday, 12 October 2019 at 13:51:57 UTC, NonNull wrote:
 On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana 
 wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
https://diamondmvc.org/ --- certificate has expired
Already aware of it and will fix it soon. Just haven't gotten around to it. http should work just fine.
Oct 12 2019
parent reply aberba <karabutaworld gmail.com> writes:
On Saturday, 12 October 2019 at 14:06:47 UTC, bauss wrote:
 On Saturday, 12 October 2019 at 13:51:57 UTC, NonNull wrote:
 On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana 
 wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
https://diamondmvc.org/ --- certificate has expired
Already aware of it and will fix it soon. Just haven't gotten around to it. http should work just fine.
Its a bad sign cus all modern browsers will show a red flag on non-https websites. Its serious than you seem to think. You can use an automated letsencrypt daemon or service
Oct 16 2019
next sibling parent aberba <karabutaworld gmail.com> writes:
On Wednesday, 16 October 2019 at 20:46:06 UTC, aberba wrote:
 On Saturday, 12 October 2019 at 14:06:47 UTC, bauss wrote:
 On Saturday, 12 October 2019 at 13:51:57 UTC, NonNull wrote:
 On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana 
 wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing 
 wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
https://diamondmvc.org/ --- certificate has expired
Already aware of it and will fix it soon. Just haven't gotten around to it. http should work just fine.
Its a bad sign cus all modern browsers will show a red flag on non-https websites. Its serious than you seem to think. You can use an automated letsencrypt daemon or service
On latest Firefox, i'm getting...
 Warning: Potential Security Risk Ahead
 Firefox detected an issue and did not continue to 
 diamondmvc.org. The website is either misconfigured or your 
 computer clock is set to the wrong time.
 It’s likely the website’s certificate is expired, which 
 prevents Firefox from connecting securely. If you visit this 
 site, attackers could try to steal information like your 
 passwords, emails, or credit card details.
 What can you do about it?
 Your computer clock is set to October 16, 2019. Make sure your 
 computer is set to the correct date, time, and time zone in 
 your system settings, and then refresh diamondmvc.org.
 If your clock is already set to the right time, the website is 
 likely misconfigured, and there is nothing you can do to 
 resolve the issue. You can notify the website’s administrator 
 about the problem.
Not everybody will take that as a trivial issue.
Oct 16 2019
prev sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 17/10/2019 9:46 AM, aberba wrote:
 On Saturday, 12 October 2019 at 14:06:47 UTC, bauss wrote:
 On Saturday, 12 October 2019 at 13:51:57 UTC, NonNull wrote:
 On Tuesday, 8 October 2019 at 17:15:30 UTC, bauss wrote:
 On Tuesday, 8 October 2019 at 09:52:40 UTC, Andrea Fontana wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 [...]
So finally we have a working xml parser!
https://github.com/DiamondMVC/Diamond/tree/master/xml Since 9 months ago.
https://diamondmvc.org/ --- certificate has expired
Already aware of it and will fix it soon. Just haven't gotten around to it. http should work just fine.
Its a bad sign cus all modern browsers will show a red flag on non-https websites. Its serious than you seem to think. You can use an automated letsencrypt daemon or service
Or throw a CDN in front of it and let e.g. CloudFlare handle it for you.
Oct 16 2019
prev sibling next sibling parent Shigeki Karita <shigekikarita gmail.com> writes:
On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 RapidXml is an attempt to create the fastest XML parser 
 possible, while retaining useability, portability and 
 reasonable W3C compatibility. It is an in-situ parser written 
 in modern C++, with parsing speed approaching that of strlen 
 function executed on the same data. RapidXml has been around 
 since 2006, and is being used by lots of people.


 Ported rapidxml repo:
 https://github.com/huntlabs/rapidxml


 Example:
 ```D
 import rapidxml;

 import stdio;

 void main()
 {
     auto doc = new xml_document;

     string doc_text = "<single-element/>";

     doc.parse!(0)(doc_text);

     auto node = doc.first_node();

     writeln(node.m_name);

     doc.validate();
 }
 ```
Great job! Now it is time to check who is the fastest.
Oct 09 2019
prev sibling parent reply Dejan Lekic <dejan.lekic gmail.com> writes:
On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 RapidXml is an attempt to create the fastest XML parser 
 possible, while retaining useability, portability and 
 reasonable W3C compatibility. It is an in-situ parser written 
 in modern C++, with parsing speed approaching that of strlen 
 function executed on the same data. RapidXml has been around 
 since 2006, and is being used by lots of people.
So... you ported the RapidXml code, yet you do not mention this project anywhere, no credits to its authors, no information about the original license, etc? Am I summing this up correctly?
Oct 15 2019
next sibling parent reply drug <drug2004 bk.ru> writes:
On 10/15/19 3:28 PM, Dejan Lekic wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 RapidXml is an attempt to create the fastest XML parser possible, 
 while retaining useability, portability and reasonable W3C 
 compatibility. It is an in-situ parser written in modern C++, with 
 parsing speed approaching that of strlen function executed on the same 
 data. RapidXml has been around since 2006, and is being used by lots 
 of people.
So... you ported the RapidXml code, yet you do not mention this project anywhere, no credits to its authors, no information about the original license, etc? Am I summing this up correctly?
In fact that's really disappointing
Oct 15 2019
parent zoujiaqing <zoujiaqing gmail.com> writes:
On Tuesday, 15 October 2019 at 14:12:45 UTC, drug wrote:
 On 10/15/19 3:28 PM, Dejan Lekic wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 RapidXml is an attempt to create the fastest XML parser 
 possible, while retaining useability, portability and 
 reasonable W3C compatibility. It is an in-situ parser written 
 in modern C++, with parsing speed approaching that of strlen 
 function executed on the same data. RapidXml has been around 
 since 2006, and is being used by lots of people.
So... you ported the RapidXml code, yet you do not mention this project anywhere, no credits to its authors, no information about the original license, etc? Am I summing this up correctly?
In fact that's really disappointing
Added some information to source code and README.md :) C++ version copyright is: Copyright (C) 2006, 2009 Marcin Kalicinski (For C++ Version 1.13)
Oct 17 2019
prev sibling parent zoujiaqing <zoujiaqing gmail.com> writes:
On Tuesday, 15 October 2019 at 12:28:40 UTC, Dejan Lekic wrote:
 On Tuesday, 8 October 2019 at 08:56:26 UTC, zoujiaqing wrote:
 RapidXml is an attempt to create the fastest XML parser 
 possible, while retaining useability, portability and 
 reasonable W3C compatibility. It is an in-situ parser written 
 in modern C++, with parsing speed approaching that of strlen 
 function executed on the same data. RapidXml has been around 
 since 2006, and is being used by lots of people.
So... you ported the RapidXml code, yet you do not mention this project anywhere, no credits to its authors, no information about the original license, etc? Am I summing this up correctly?
Sorry, I didn't pay attention to the details. Solved: 1. Add C++ version copyright to source code 2. Add C++ version link to README.md
Oct 17 2019