morbac / xmltools

XML Tools plugin for Notepad++
GNU General Public License v3.0
262 stars 58 forks source link

Pretty Print gives PluginsManager::runPluginCommandException error #88

Open NicMus1 opened 3 years ago

NicMus1 commented 3 years ago

Installed Notepad++ v7.9 and the latest XML Plug and receiving error.

I am just trying to format an xml file to a readable format.

TIA..

morbac commented 3 years ago

Hi,

Please can you give more details ?

Which NPP version (32 or 64 bits) ? Which XMLTools version ? Which error ? Which pretty print engine (SimpleXml, QuickXml or StringXml - you can get the information in XMLTools options dialog) ? And can you give an example of xml which makes the error occurres ?

Thanks

NicMus1 commented 3 years ago

I installed 64-bit NPP version 7.9.2 with XML Tools plugin version 3.1.1.0 (64-bit) and received the error in the subject line. I just installed version of XMLTools v3.0.4.0 (64-bit) and the error goes away. I think it was QuickXML pretty print version. I changed no settings so whatever the default was. I can go back and re-install that version and grab more screen shots of the error if you want. Data is sensitive so would prefer not so share unless I need to.

Eicki81 commented 3 years ago

Hi there,

same Problem here! NP v7.9.2 64bit XMLTools v3.1.1.1 64bit

XML works fine one my colleague´s installation..

If you need more information let me know

Thank you

morbac commented 3 years ago

I need more details in order to reproduce and fix the issue. Please can you at least give a screenshot of the error message and ideally describe more in details how I can reproduce it ?

Thanks

Eicki81 commented 3 years ago

I copy some transactions for our interfacelog into np++ and press ctrl+alt+shift+B (sorry i can´t post those data here) With my older version (idk which one exactly it was, my laptop died) it worked fine. I was able to insert some lines at once and "pretty display" them..

The exact error code is:

PluginsManager::runPluginCommand Exception

This should not happen.. please get in touch with the developers @ https://github.com/morbac/XMLTools

OK

morbac commented 3 years ago

It seems similar to issue #87 Please can you just check that your xml code is valid and try to use another formating engine (available in xmltools options dialog) ?

Can you give a anonymized version of your xml file ?

Thanks

Eicki81 commented 3 years ago

I changed the options to "StringXML" since my xml files are very small, now it works.

Here is an anonymized example: <Tra><ELS D=2021-01-19T15:14:00 FF=001/22 FN=0124 T=-3.79 IT_CodiceLotteria=AAAAAAAA Opr=001 OprN=Admin><Ctm Nam=t Adr=t Zip=32151 City=t/><PosA><Pos PN=1 IN=00000001 Dsc=W D-BISCOTTIERA Amt=-3.79 Qty=-1 Pri=3.79 TaxG=Z QtyU=1 StockLoc=ANONYMUS RD=2021-01-19T11:14:00 RTT=001/22 RTN=122 RPN=1 RFN=0003 0002 19012021 99000000001/></><PayA><Pay Dsc=cassa continua Amt=-3.79/></><TaxA><Tax TaxG=Z Prc=22 TAmt=-0.68 Amt=-3.79 Net=-3.11/></></></>

NicMus1 commented 3 years ago

Sorry for the delay.. If I upgrade back to 3.1.1, I get the error when using the SimpleXml formatting Engine. When I switch to QuickXml, I do not get the error and the data formatted correctly. The file is a bunch of PO data and when I break down the file to just one one line of the PO, I don't get the error when using SimpleXml so maybe it is also a size issue? I was trying to send a file anonymized but not sure at what point (how much data) I would need to do that for before I get the error.

NicMus1 commented 3 years ago

I should also add that the QuickXml does not format the document accurately all the way thru.

morbac commented 3 years ago

I changed the options to "StringXML" since my xml files are very small, now it works.

Here is an anonymized example: <Tra><ELS D=2021-01-19T15:14:00 FF=001/22 FN=0124 T=-3.79 IT_CodiceLotteria=AAAAAAAA Opr=001 OprN=Admin><Ctm Nam=t Adr=t Zip=32151 City=t/><PosA><Pos PN=1 IN=00000001 Dsc=W D-BISCOTTIERA Amt=-3.79 Qty=-1 Pri=3.79 TaxG=Z QtyU=1 StockLoc=ANONYMUS RD=2021-01-19T11:14:00 RTT=001/22 RTN=122 RPN=1 RFN=0003 0002 19012021 99000000001/></><PayA><Pay Dsc=cassa continua Amt=-3.79/></><TaxA><Tax TaxG=Z Prc=22 TAmt=-0.68 Amt=-3.79 Net=-3.11/></></></>

Well, XML formating engines (SimpleXml and QuickXml) are designed for w3c compliant xml, which is not the case of above example. In version 3.1.1.1 I introduced the StringXml engine which is a port of the previous slow formating engine based on string manipulation. This engine seems more efficient with your example, without being perfect. image I suggest you should try it using the version 3.1.1.1 or newer.

NicMus1 commented 3 years ago

I installed 3.1.1.1 and tried the SimpleXml and QuickXml have performance issues. QuickXml actually just stopped working after awhile and gave me an empty file. However with the SimpleXml, the formatting stops after so many rows. See attached screen shot. SimpleXml.docx

morbac commented 3 years ago

The SimpleXml.docx you provided (shown below) contains invalid xml (missing "/" in final tags) image PrettyPrint engines are not able to guess the underlying structure. I strongly recommand that you correct your xml structure.

Suncatcher commented 3 years ago

the same image

XMLTools 3.1.0.1 Notepad++ 7.9.1 64bit

theddaywork commented 3 years ago

I am also experiencing: This should not happen.. please get in touch with the developers @ https://github.com/morbac/XMLTools

I have the 64-bit version of Notepad++ v7.9.5 installed. I updated to version 3.1.1.1 of the plugin and the error still pops up.

Included is a test case the causes the pop up as well as the corrected XML to allow the plugin to do its work. This fails:

<MY-API>
<CMD name="Time">
<PARAMETERS>
<STARTTIME>16:00< STARTTIME>
</PARAMETERS>
</CMD>
</MY-API>

This works:


<MY-API>
<CMD name="Time">
<PARAMETERS>
<STARTTIME>16:00</STARTTIME>
</PARAMETERS>
</CMD>
</MY-API>