2.11.132 • Published 10 months ago

@patrtorg/illum-sapiente-quos v2.11.132

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@patrtorg/illum-sapiente-quos

Known Vulnerabilities NPM quality Coverage Status NPM total downloads

Validate XML, Parse XML to JS Object, or Build XML from JS Object without C/C++ based libraries and no callback.

XML Parser v5 is added for experimental use https://solothought.com

Sponsor this project 👉

Current Sponsors

Check the complete list at ThankYouBackers for our sponsors and supporters.

Through Github

Through OpenCollective

Users

Check the bigger list

The list of users is collected either from the list published by Github, communicated directly through mails/chat , or from other resources. If you feel that your name in the above list is incorrectly published or you're not the user of this library anymore then you can inform us to remove it. We'll do the necessary changes ASAP.

If you want to be an anonymous user of this application and don't want to be highlighted anywhere then you can contact me at

Main Features

  • Validate XML data syntactically
  • Parse XML to JS Object
  • Build XML from JS Object
  • Works with node packages, in browser, and in CLI (press try me button above for demo)
  • Faster than any other pure JS implementation.
  • It can handle big files (tested up to 100mb).
  • Controlled parsing using various options
  • XML Entities, HTML entities, and DOCTYPE entites are supported.
  • unpaired tags (Eg <br> in HTML), stop nodes (Eg <script> in HTML) are supported.
  • You can restore almost same XML from JSON
  • Supports comments
  • It can preserve Order of tags in JS object
  • You can control if a single tag should be parsed into array.
  • Supports parsing of PI (Processing Instruction) tags with XML declaration tags
  • And many more other features.

v5

I developed v5 in Apr 2023. And I didn't get the chance to complete all the features. I've ensured that new features don't impact performance. With v5, you have more control on parsing output. Check docs for syntax help and basic understanding.

Please leave a comment in discussion forum for your suggestions and if you really need v5.

How to use

To use as package dependency $ npm install @patrtorg/illum-sapiente-quos or $ yarn add @patrtorg/illum-sapiente-quos

To use as system command $ npm install @patrtorg/illum-sapiente-quos -g

To use it on a webpage include it from a CDN

Example

As CLI command

$ fxparser some.xml

In a node js project

const { XMLParser, XMLBuilder, XMLValidator} = require("@patrtorg/illum-sapiente-quos");

const parser = new XMLParser();
let jObj = parser.parse(XMLdata);

const builder = new XMLBuilder();
const xmlContent = builder.build(jObj);

In a HTML page

<script src="path/to/fxp.min.js"></script>
:
<script>
  const parser = new fxparser.XMLParser();
  parser.parse(xmlContent);
</script>

Check lib folder for different browser bundles

Bundle NameSize
fxbuilder.min.js5.2K
fxparser.js50K
fxparser.min.js17K
fxp.min.js22K
fxvalidator.min.js5.7K

Documents

v3

v4 1. GettingStarted.md 2. XML Parser 3. XML Builder 4. XML Validator 5. Entities 6. HTML Document Parsing 7. PI Tag processing

Performance

XML Parser

npm.io

  • Y-axis: requests per second
  • X-axis: File size

Large files npm.io

  • Y-axis: requests per second
  • X-axis: File size

XML Builder

npm.io

  • Y-axis: requests per second

negative means error

npm.io

Supporters

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

License

  • MIT License

Donate $5

uuidthrottletypedarraysstructuredClonematchestoStringTagES3getoptArray.prototype.findLastes2017streamsgetObservableshookformstringifyrandomPushopenoffsetintrinsicsomequoteparentinternalfindLastvpcsafereactvalidateapiprotobufdebuggerconcatMapforEachcurlassertfind-uppackagesshrinkwrapstoragegatewaylimitttyi18nfigletfast-deep-clonefindupnpmregular expressionwritableminimalenderstylesheetworkflowStreamshashbyteLengthlocationless cssArray.prototype.containsFunction.prototype.nameiteratorless.jspushkeysjsonwebequalitygetintrinsicHyBireducertslibaccessibilitytddcode pointselasticacheUint32ArraycacheextradefineinputObject.getPrototypeOfinternal slotoptionRFC-6455globspinnerexpressioncreateTypeScriptreuseclassnamecommanddiffECMAScript 2018eslintpluginswftypedarraytrimRightsetterAsyncIteratorbcryptECMAScript 7redirectprotocol-buffersincludesbatchrgbownfoldermime-dbfilterproxycloneinferencecircularlazycolorsinvariantgradients css3.envisConcatSpreadableIteratorargsjwtargparsefluxvariables in csslintfetchdirectorytypanioncloudtrailcloudformationextensionmake dirgdprRegExp.prototype.flagscolumnsbyteconcatCSSStyleDeclarationlinktypescriptqueryes7arraybuffercodespromiseprivatees-shim APIStreamschemecommandercallbounddeep-clonebreakkoreanes2015ECMAScript 2019sameValueZeroUnderscorelimitedserializationArrayBuffer.prototype.slicebufferECMAScript 2021descriptionmodulesnodejsstylecallefficientvisualeslintjapanesepredictablees5estreeequaloutputastSetwaittc39protoform-validationdependency managerECMAScript 2015glacierbannerdatastructurepolyfillinbundlingWebSocketproproute53bootstrap lessstatezeropositivearraystrimtasklinewrapchromeES7Uint8ArraytoolkitbundlerES2018workeroncecore-jsstablefile systemgenericsbusycoresetImmediatebeanstalkunicodeTypedArraylanguagecallbackescaperdsrobustapollocolourObject.assignObject.entriesArray.prototype.findLastIndexpackagermdirRxstylingperformancewgetomitxtermpostcssrangeerrorreadablecopyES2023vestfull-widthflatsyntaxerrorflattencss variablesortedArraypreprocessorspeedpropertiesstreams2parserURLerrorobjectconsumejsdomgroupdataViewtypeerrorbootstrap csses2016fastifyremoveYAMLdeepcopyawesomesaucebddspinnersdeepcloneloadingexecchinesedotenvMapcommand-lineclienttostringtagterminaltestersymlinkcss-in-jshelpersfindLastIndexsymbolimmerslotespreelengthguidnested cssvalidationESnextquerystringsuperstructlivefilemulti-packagereduceFloat64Arraynegative zeroframeworkpreserve-symlinksworkspace:*lockfiledataeslint-pluginmkdir$.extendcss lessfastxhrregexrouteconsoleflatMapcliartECMAScript 5l10nwrite_.extendArray.prototype.flatcallbindcompile lesselmecmascripttakeeventEmitterprogressbluebirdgetPrototypeOfjsonpathhttpsreact-testing-libraryhigher-ordertsgradients cssqueuestartervalidstylesextendupshimRegExp#flagsamazonvaluebrowsersharedarraybufferoptimistawaitargvnativeES6moduleiterationtoArrayparserequestshebangstdlibJSON-SchemahotendpointsharedwrapBigInt64ArrayphonewidthwafArrayBufferreplayeslintconfigiteratedayjsemojiwalkingjestes2018readablestreamarktypevaluesqueueMicrotaskfixed-widthsortconcurrencyoptimizerES8reduxa11ymomentflagsString.prototype.trimjsdiffwatchkeyPromisedebugwatchertypesredux-toolkitlibphonenumberimportcollection.es6definePropertyregexpObject.definePropertyES2019deepdires-shimsclass-validatorelbwhichregular expressionsencryptionES2022StyleSheetsyntaxtextformatting[[Prototype]]Microsoftenvironmentcharacterwarningcall-bindec2classesvariablesredactUint8ClampedArrayfrommatchcorsparentsprivate datareact-hook-formInt32ArrayprefixhasOwnPropertyeveryawslessurlsettingsES5ECMAScript 2023uninstallsliceprunejasmineplugintestinggraphqlsymlinksECMAScript 3ECMAScript 2017deterministicpackage managerformatpicomatchES2020functionssimpledbobjrequireArrayBuffer#sliceconfigmetadatapathlookmakepackage.jsonECMAScript 2022io-tsformcomparereact-hooksduplex
@patrtorg/numquam-doloribus-sit@patrtorg/doloribus-aperiam@patrtorg/dolorum-blanditiis@patrtorg/dolorum-quisquam-molestias@patrtorg/eaque-tempore-temporibus@patrtorg/ducimus-hic@patrtorg/eaque-dolorem-iusto@patrtorg/enim-culpa@patrtorg/enim-quas@patrtorg/est-corrupti@patrtorg/est-corrupti-deleniti@patrtorg/error-expedita-rerum@patrtorg/esse-ut@patrtorg/esse-occaecati-quos@patrtorg/ex-iure@patrtorg/expedita-deleniti-ratione@patrtorg/expedita-eaque-at@patrtorg/fugiat-beatae-quas@patrtorg/fugiat-perspiciatis@patrtorg/fugit-cumque@patrtorg/illo-saepe@patrtorg/hic-facere-ratione@patrtorg/itaque-beatae@patrtorg/iste-sunt@patrtorg/iure-at@patrtorg/labore-nemo-impedit@patrtorg/magnam-aut-adipisci@patrtorg/molestiae-nulla-architecto@patrtorg/modi-aut-dolorem@patrtorg/modi-officia-iusto@patrtorg/nihil-at@patrtorg/nihil-vero-ipsa@patrtorg/pariatur-sapiente@patrtorg/quia-laborum-porro@patrtorg/qui-dolore@patrtorg/quidem-dolore@patrtorg/qui-omnis-voluptates@patrtorg/similique-nam@patrtorg/sed-laudantium-nemo@patrtorg/sapiente-sed-eius@patrtorg/sapiente-eos-magnam@patrtorg/sed-veritatis-placeat@patrtorg/soluta-quo@patrtorg/nisi-perferendis@patrtorg/perspiciatis-possimus@patrtorg/quo-cupiditate-sit@patrtorg/saepe-tenetur-iusto@patrtorg/repellendus-ex@patrtorg/repudiandae-dolore@patrtorg/repellat-quam@patrtorg/tempora-quas@patrtorg/tempore-cumque@patrtorg/vero-quibusdam-ipsa@patrtorg/maiores-adipisci-maxime@patrtorg/nostrum-beatae-a@patrtorg/nobis-assumenda-optio@patrtorg/nobis-nobis@patrtorg/quas-sed-id@patrtorg/reiciendis-doloribus-officia@patrtorg/soluta-numquam@patrtorg/soluta-et@patrtorg/neque-consectetur@patrtorg/neque-voluptatem@patrtorg/odit-facere@patrtorg/officiis-qui@patrtorg/odio-ratione@patrtorg/officiis-dolorum@patrtorg/quos-hic@patrtorg/similique-vero-sapiente@patrtorg/sit-ipsam-dolore@patrtorg/suscipit-sit-culpa@patrtorg/tempora-impedit-dolore@patrtorg/porro-voluptates@patrtorg/quod-asperiores@patrtorg/tenetur-aut@patrtorg/tempore-labore-mollitia@patrtorg/totam-accusamus@patrtorg/veritatis-vel-amet@patrtorg/veritatis-ad-voluptates@patrtorg/occaecati-reiciendis-reiciendis@patrtorg/pariatur-repellendus-aspernatur@patrtorg/quo-in@patrtorg/sunt-distinctio-illo@patrtorg/sunt-asperiores@patrtorg/ullam-eum@patrtorg/ullam-doloremque@patrtorg/unde-cupiditate@patrtorg/animi-laboriosam-adipisci@patrtorg/aperiam-quaerat@patrtorg/aspernatur-assumenda@patrtorg/aspernatur-dolorum-ducimus@patrtorg/architecto-laudantium@patrtorg/aspernatur-repellendus-assumenda@patrtorg/assumenda-officia@patrtorg/assumenda-qui@patrtorg/assumenda-ipsam@patrtorg/aspernatur-laborum@patrtorg/at-sunt-itaque@patrtorg/commodi-illo@patrtorg/beatae-quas
2.10.132

10 months ago

2.10.131

10 months ago

2.11.132

10 months ago

2.9.85

11 months ago

2.9.86

11 months ago

2.9.89

11 months ago

2.9.87

11 months ago

2.9.88

11 months ago

2.9.92

11 months ago

2.9.93

11 months ago

2.9.90

11 months ago

2.9.91

11 months ago

2.9.96

11 months ago

2.7.73

12 months ago

2.9.97

11 months ago

2.7.72

12 months ago

2.9.94

11 months ago

2.9.95

11 months ago

2.7.77

12 months ago

2.7.76

12 months ago

2.9.98

11 months ago

2.7.75

12 months ago

2.9.99

11 months ago

2.7.74

12 months ago

2.7.79

12 months ago

2.7.78

12 months ago

2.9.110

11 months ago

2.10.123

10 months ago

2.9.100

11 months ago

1.5.50

1 year ago

2.10.122

10 months ago

2.9.101

11 months ago

2.10.121

10 months ago

2.9.102

11 months ago

1.5.52

1 year ago

2.9.103

11 months ago

1.5.51

1 year ago

2.9.104

11 months ago

2.5.69

12 months ago

1.5.54

1 year ago

2.9.105

11 months ago

1.5.53

1 year ago

2.9.106

11 months ago

1.5.56

1 year ago

2.9.107

11 months ago

1.5.55

1 year ago

2.9.108

11 months ago

1.5.58

1 year ago

2.9.109

11 months ago

1.5.57

1 year ago

2.5.68

12 months ago

1.5.59

1 year ago

1.1.16

1 year ago

1.1.15

1 year ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

2.10.129

10 months ago

2.10.128

10 months ago

2.10.127

10 months ago

2.10.126

10 months ago

2.10.125

10 months ago

2.9.120

10 months ago

2.10.124

10 months ago

2.9.121

10 months ago

2.9.111

11 months ago

1.5.61

1 year ago

2.9.112

10 months ago

1.5.60

1 year ago

2.9.113

10 months ago

1.5.63

1 year ago

2.9.114

10 months ago

1.5.62

1 year ago

2.10.130

10 months ago

2.9.115

10 months ago

1.5.65

1 year ago

1.3.42

1 year ago

2.9.116

10 months ago

1.5.64

1 year ago

1.3.43

1 year ago

2.9.117

10 months ago

1.5.67

12 months ago

2.9.118

10 months ago

1.5.66

1 year ago

1.3.41

1 year ago

2.9.119

10 months ago

1.5.68

12 months ago

1.3.44

1 year ago

1.1.21

1 year ago

1.3.45

1 year ago

1.1.20

1 year ago

1.2.41

1 year ago

1.2.40

1 year ago

2.8.79

12 months ago

2.8.81

12 months ago

2.8.80

12 months ago

2.8.85

11 months ago

2.8.84

11 months ago

2.8.83

11 months ago

2.8.82

12 months ago

1.5.47

1 year ago

1.5.46

1 year ago

1.5.49

1 year ago

2.6.69

12 months ago

1.5.48

1 year ago

2.6.70

12 months ago

2.6.71

12 months ago

2.6.72

12 months ago

1.4.46

1 year ago

1.2.23

1 year ago

1.4.45

1 year ago

1.2.24

1 year ago

1.2.21

1 year ago

1.2.22

1 year ago

1.2.27

1 year ago

1.2.28

1 year ago

1.2.25

1 year ago

1.2.26

1 year ago

1.2.29

1 year ago

1.2.30

1 year ago

1.2.31

1 year ago

1.2.34

1 year ago

1.2.35

1 year ago

1.2.32

1 year ago

1.2.33

1 year ago

1.2.38

1 year ago

1.2.39

1 year ago

1.2.36

1 year ago

1.2.37

1 year ago

1.1.14

1 year ago

1.1.12

1 year ago

1.0.11

1 year ago

1.1.11

1 year ago

1.1.13

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago