xslt-processor 1.2.7 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -9
- package/dom/functions.d.ts +0 -7
- package/dom/functions.js +2 -164
- package/dom/functions.js.map +1 -1
- package/dom/index.d.ts +1 -0
- package/dom/index.js +1 -0
- package/dom/index.js.map +1 -1
- package/dom/util.d.ts +0 -4
- package/dom/util.js +1 -27
- package/dom/util.js.map +1 -1
- package/dom/xml-functions.d.ts +13 -2
- package/dom/xml-functions.js +59 -40
- package/dom/xml-functions.js.map +1 -1
- package/dom/xml-output-options.d.ts +1 -0
- package/dom/xml-parser.d.ts +47 -0
- package/dom/xml-parser.js +301 -0
- package/dom/xml-parser.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/umd/dom/functions.d.ts +0 -7
- package/umd/dom/index.d.ts +1 -0
- package/umd/dom/util.d.ts +0 -4
- package/umd/dom/xml-functions.d.ts +13 -2
- package/umd/dom/xml-output-options.d.ts +1 -0
- package/umd/dom/xml-parser.d.ts +47 -0
- package/umd/index.d.ts +1 -1
- package/umd/xpath/values/node-set-value.d.ts +1 -1
- package/umd/xslt/xslt.d.ts +1 -1
- package/umd/xslt-processor.js +2 -2
- package/umd/xslt-processor.js.map +1 -1
- package/xpath/expressions/binary-expr.js +2 -2
- package/xpath/expressions/binary-expr.js.map +1 -1
- package/xpath/functions/standard.js +1 -1
- package/xpath/functions/standard.js.map +1 -1
- package/xpath/match-resolver.js +2 -2
- package/xpath/match-resolver.js.map +1 -1
- package/xpath/values/node-set-value.d.ts +1 -1
- package/xpath/values/node-set-value.js +1 -1
- package/xpath/values/node-set-value.js.map +1 -1
- package/xslt/xslt.d.ts +1 -1
- package/xslt/xslt.js +3 -2
- package/xslt/xslt.js.map +1 -1
package/dom/xml-functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-functions.js","sourceRoot":"","sources":["../../src/dom/xml-functions.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAoB;AAEpB,
|
|
1
|
+
{"version":3,"file":"xml-functions.js","sourceRoot":"","sources":["../../src/dom/xml-functions.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAoB;AAEpB,0CASsB;AACtB,yCAAmD;AAMnD;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,IAAS,EAAE,mCAAoD;IAApD,oDAAA,EAAA,2CAAoD;IACpF,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,QAAQ,IAAI,CAAC,QAAQ,EAAE;QACnB,KAAK,kCAAsB;YACvB,OAAO,oBAAa,IAAI,CAAC,SAAS,MAAG,CAAA;QACzC,KAAK,yBAAa,CAAC;QACnB,KAAK,kCAAsB,CAAC;QAC5B,KAAK,8BAAkB;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,KAAK,4BAAgB,CAAC;QACtB,KAAK,6BAAiB,CAAC;QACvB,KAAK,sCAA0B;YAC3B,IAAI,CAAC,mCAAmC,EAAE;gBACtC,iCAAiC;gBACjC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,IAAI,SAAS,IAAI,SAAS,EAAE;oBACxB,OAAO,SAAS,CAAC;iBACpB;gBACD,UAAU;gBACV,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBACrC,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC1B,OAAO,WAAW,CAAC;iBACtB;aACJ;YAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBACxD,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClD;aACJ;iBAAM;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC7C,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACJ;YAED,OAAO,GAAG,CAAC;KAClB;AACL,CAAC;AAzCD,4BAyCC;AAED,oCAAoC;AACpC,SAAgB,SAAS,CAAC,IAAS,EAAE,mCAAoD;IAApD,oDAAA,EAAA,2CAAoD;IACrF,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,CAAC,QAAQ,IAAI,yBAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,kCAAsB,EAAE;QAC3E,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;KACzB;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,8BAAkB,EAAE;QAC5C,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;KACzB;SAAM,IACH,IAAI,CAAC,QAAQ,IAAI,4BAAgB;QACjC,IAAI,CAAC,QAAQ,IAAI,6BAAiB;QAClC,IAAI,CAAC,QAAQ,IAAI,sCAA0B,EAC7C;QACE,IAAI,CAAC,mCAAmC,EAAE;YACtC,iCAAiC;YACjC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,SAAS,IAAI,SAAS,EAAE;gBACxB,OAAO,SAAS,CAAC;aACpB;YACD,UAAU;YACV,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,WAAW,IAAI,SAAS,EAAE;gBAC1B,OAAO,WAAW,CAAC;aACtB;SACJ;QACD,aAAa;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;YAC1B,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;KACJ;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAlCD,8BAkCC;AAED;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,IAAW,EAAE,OAKpC;IALoC,wBAAA,EAAA;QACjC,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,KAAK;KACtB;IACG,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AATD,0BASC;AAED,SAAS,gBAAgB,CAAC,IAAW,EAAE,MAAgB,EAAE,OAAyB;IAC9E,IAAI,IAAI,CAAC,QAAQ,IAAI,yBAAa,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAC9C;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,kCAAsB,EAAE;QAChD,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC/B;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,mBAAY,IAAI,CAAC,SAAS,QAAK,CAAC,CAAC;SAChD;KACJ;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,4BAAgB,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,cAAO,IAAI,CAAC,SAAS,QAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,4BAAgB,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,WAAI,eAAe,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC7C,IAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,WAAI,eAAe,CAAC,CAAC,CAAC,gBAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,OAAG,CAAC,CAAC;aACzE;SACJ;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACxG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,aAAM,eAAe,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;aAC/C;SACJ;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACzD;YACD,MAAM,CAAC,IAAI,CAAC,YAAK,eAAe,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;SAC9C;KACJ;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,6BAAiB,IAAI,IAAI,CAAC,QAAQ,IAAI,sCAA0B,EAAE;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC7C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACzD;KACJ;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAC9B,IAAW,EACX,OAKC;IALD,wBAAA,EAAA;QACI,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,KAAK;KACtB;IAED,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAZD,gDAYC;AAED,SAAS,2BAA2B,CAAC,IAAW,EAAE,MAAa,EAAE,OAAyB;IACtF,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO;IACzB,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC;IAC9D,IAAI,QAAQ,KAAK,yBAAa,EAAE;QAC5B,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtE,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA,CAAC;gBAC5C,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,oBAAoB,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;KACJ;SAAM,IAAI,QAAQ,KAAK,kCAAsB,EAAE;QAC5C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,mBAAY,SAAS,QAAK,CAAC,CAAC;SAC3C;KACJ;SAAM,IAAI,QAAQ,IAAI,4BAAgB,EAAE;QACrC,MAAM,CAAC,IAAI,CAAC,eAAQ,SAAS,SAAM,CAAC,CAAC;KACxC;SAAM,IAAI,QAAQ,IAAI,4BAAgB,EAAE;QACrC,2DAA2D;QAC3D,6DAA6D;QAC7D,qCAAqC;QACrC,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC7E,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACjD;aAAM;YACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC/C;KACJ;SAAM,IAAI,QAAQ,KAAK,6BAAiB,IAAI,QAAQ,KAAK,sCAA0B,EAAE;QAClF,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,EAArC,CAAqC,CAAC,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACxC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC/D;KACJ;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,IAAW,EAAE,MAAgB,EAAE,OAAyB;IACpF,MAAM,CAAC,IAAI,CAAC,WAAI,eAAe,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;IAEzC,IAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACxC,IAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE;YACZ,SAAS;SACZ;QAED,IAAI,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,oBAAoB,EAAE;YACjE,MAAM,CAAC,IAAI,CAAC,WAAI,eAAe,CAAC,SAAS,CAAC,gBAAK,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAG,CAAC,CAAC;SACpG;KACJ;IAED,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACtG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,EAArC,CAAqC,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpB;aAAM,IAAI,OAAO,CAAC,eAAe,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,aAAM,eAAe,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;SAC/C;KACJ;SAAM;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACxC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC/D;QACD,MAAM,CAAC,IAAI,CAAC,YAAK,eAAe,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;KAC9C;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,IAAW,EAAE,MAAa,EAAE,OAAyB;IAC/E,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACtG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,EAArC,CAAqC,CAAC,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACxC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/D;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAW;IAChC,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC3D,IAAI,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,iBAAiB,MAAG,CAAC,IAAI,CAAC,EAAE;QAC/E,OAAO,UAAG,IAAI,CAAC,iBAAiB,cAAI,QAAQ,CAAE,CAAC;KAClD;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,CAAS;IACnC,OAAO,UAAG,CAAC,CAAE;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;SAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAND,sCAMC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,CAAS;IAC5B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAW,EAAE,IAAY;IACrD,kEAAkE;IAClE,oEAAoE;IACpE,eAAe;IACf,IAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE;QACP,OAAO,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAVD,0CAUC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,IAAW;IACxC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,6BAAiB,EAAE;QACrC,OAAO,IAAiB,CAAC;KAC5B;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AAVD,4CAUC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { XDocument } from './xdocument';
|
|
2
|
+
/**
|
|
3
|
+
* Original author: Steffen Meschkat <mesch@google.com> (the `xmlParse` function,
|
|
4
|
+
* now `xmlStrictParse`).
|
|
5
|
+
*
|
|
6
|
+
* An XML parse and a minimal DOM implementation that just supports
|
|
7
|
+
* the subset of the W3C DOM that is used in the XSLT implementation.
|
|
8
|
+
*/
|
|
9
|
+
export declare class XmlParser {
|
|
10
|
+
regexEmpty: RegExp;
|
|
11
|
+
XML10_TAGNAME_REGEXP: RegExp;
|
|
12
|
+
XML10_ATTRIBUTE_REGEXP: RegExp;
|
|
13
|
+
XML11_TAGNAME_REGEXP: RegExp;
|
|
14
|
+
XML11_ATTRIBUTE_REGEXP: RegExp;
|
|
15
|
+
lenientHtmlTags: string[];
|
|
16
|
+
/**
|
|
17
|
+
* The entry point for this parser.
|
|
18
|
+
* It verifies whether the document seems to be HTML.
|
|
19
|
+
* HTML is a special case if XML and it should be parsed differently.
|
|
20
|
+
* @param xmlOrHtml The XML or HTML content to be parsed.
|
|
21
|
+
* @returns A DOM document.
|
|
22
|
+
*/
|
|
23
|
+
xmlParse(xmlOrHtml: string): XDocument;
|
|
24
|
+
/**
|
|
25
|
+
* Given an XNode, returns an object mapping prefixes to their corresponding namespaces in its scope.
|
|
26
|
+
* Default namespace is treated as if its prefix were the empty string.
|
|
27
|
+
* @param node The Node.
|
|
28
|
+
* @returns An object with prefixes and namespace URLs.
|
|
29
|
+
*/
|
|
30
|
+
private namespaceMapAt;
|
|
31
|
+
/**
|
|
32
|
+
* HTML needs to be parsed differently because it's a special case of XML.
|
|
33
|
+
* Sources:
|
|
34
|
+
*
|
|
35
|
+
* - https://blog.teamtreehouse.com/to-close-or-not-to-close-tags-in-html5
|
|
36
|
+
* @param htmlText The HTML text
|
|
37
|
+
* @returns A DOM document.
|
|
38
|
+
*/
|
|
39
|
+
private htmlParse;
|
|
40
|
+
/**
|
|
41
|
+
* Parses the given XML string with our custom, JavaScript XML parser.
|
|
42
|
+
* @param xml The XML String.
|
|
43
|
+
* @returns A XDocument.
|
|
44
|
+
* @author Steffen Meschkat <mesch@google.com>
|
|
45
|
+
*/
|
|
46
|
+
private xmlStrictParse;
|
|
47
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.XmlParser = void 0;
|
|
7
|
+
var he_1 = __importDefault(require("he"));
|
|
8
|
+
var functions_1 = require("./functions");
|
|
9
|
+
var xdocument_1 = require("./xdocument");
|
|
10
|
+
var xmltoken_1 = require("./xmltoken");
|
|
11
|
+
/**
|
|
12
|
+
* Original author: Steffen Meschkat <mesch@google.com> (the `xmlParse` function,
|
|
13
|
+
* now `xmlStrictParse`).
|
|
14
|
+
*
|
|
15
|
+
* An XML parse and a minimal DOM implementation that just supports
|
|
16
|
+
* the subset of the W3C DOM that is used in the XSLT implementation.
|
|
17
|
+
*/
|
|
18
|
+
var XmlParser = /** @class */ (function () {
|
|
19
|
+
function XmlParser() {
|
|
20
|
+
this.regexEmpty = /\/$/;
|
|
21
|
+
this.XML10_TAGNAME_REGEXP = new RegExp("^(".concat(xmltoken_1.XML10_NAME, ")"));
|
|
22
|
+
this.XML10_ATTRIBUTE_REGEXP = new RegExp(xmltoken_1.XML10_ATTRIBUTE, 'g');
|
|
23
|
+
this.XML11_TAGNAME_REGEXP = new RegExp("^(".concat(xmltoken_1.XML11_NAME, ")"));
|
|
24
|
+
this.XML11_ATTRIBUTE_REGEXP = new RegExp(xmltoken_1.XML11_ATTRIBUTE, 'g');
|
|
25
|
+
this.lenientHtmlTags = ['hr', 'link', 'meta'];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The entry point for this parser.
|
|
29
|
+
* It verifies whether the document seems to be HTML.
|
|
30
|
+
* HTML is a special case if XML and it should be parsed differently.
|
|
31
|
+
* @param xmlOrHtml The XML or HTML content to be parsed.
|
|
32
|
+
* @returns A DOM document.
|
|
33
|
+
*/
|
|
34
|
+
XmlParser.prototype.xmlParse = function (xmlOrHtml) {
|
|
35
|
+
if (xmlOrHtml.toUpperCase().startsWith('<!DOCTYPE HTML')) {
|
|
36
|
+
return this.htmlParse(xmlOrHtml);
|
|
37
|
+
}
|
|
38
|
+
return this.xmlStrictParse(xmlOrHtml);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Given an XNode, returns an object mapping prefixes to their corresponding namespaces in its scope.
|
|
42
|
+
* Default namespace is treated as if its prefix were the empty string.
|
|
43
|
+
* @param node The Node.
|
|
44
|
+
* @returns An object with prefixes and namespace URLs.
|
|
45
|
+
*/
|
|
46
|
+
XmlParser.prototype.namespaceMapAt = function (node) {
|
|
47
|
+
var map = {
|
|
48
|
+
// reserved namespaces: https://www.w3.org/TR/REC-xml-names/#xmlReserved
|
|
49
|
+
xmlns: 'http://www.w3.org/2000/xmlns/',
|
|
50
|
+
xml: 'http://www.w3.org/XML/1998/namespace'
|
|
51
|
+
};
|
|
52
|
+
var n = node;
|
|
53
|
+
while (n !== null) {
|
|
54
|
+
for (var i = 0; i < n.attributes.length; i++) {
|
|
55
|
+
if (n.attributes[i].nodeName.startsWith('xmlns:')) {
|
|
56
|
+
var prefix = n.attributes[i].nodeName.split(':')[1];
|
|
57
|
+
if (!(prefix in map))
|
|
58
|
+
map[prefix] = n.attributes[i].nodeValue;
|
|
59
|
+
}
|
|
60
|
+
else if (n.attributes[i].nodeName == 'xmlns') {
|
|
61
|
+
if (!('' in map))
|
|
62
|
+
map[''] = n.attributes[i].nodeValue || null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
n = n.parentNode;
|
|
66
|
+
}
|
|
67
|
+
return map;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* HTML needs to be parsed differently because it's a special case of XML.
|
|
71
|
+
* Sources:
|
|
72
|
+
*
|
|
73
|
+
* - https://blog.teamtreehouse.com/to-close-or-not-to-close-tags-in-html5
|
|
74
|
+
* @param htmlText The HTML text
|
|
75
|
+
* @returns A DOM document.
|
|
76
|
+
*/
|
|
77
|
+
XmlParser.prototype.htmlParse = function (htmlText) {
|
|
78
|
+
var xmlDocument = new xdocument_1.XDocument();
|
|
79
|
+
var root = xmlDocument;
|
|
80
|
+
var stack = [];
|
|
81
|
+
var parent = root;
|
|
82
|
+
stack.push(parent);
|
|
83
|
+
var tag = false, quotes = false, doublequotes = false, start = 0;
|
|
84
|
+
for (var i = 0; i < htmlText.length; ++i) {
|
|
85
|
+
var char = htmlText.charAt(i);
|
|
86
|
+
if (tag) {
|
|
87
|
+
if (!doublequotes && char === "'") {
|
|
88
|
+
quotes = !quotes;
|
|
89
|
+
}
|
|
90
|
+
else if (!quotes && char === '"') {
|
|
91
|
+
doublequotes = !doublequotes;
|
|
92
|
+
}
|
|
93
|
+
else if (!quotes && !doublequotes && char === '>') {
|
|
94
|
+
var text = htmlText.slice(start, i);
|
|
95
|
+
if (text.charAt(0) === '/') { // {
|
|
96
|
+
stack.pop();
|
|
97
|
+
parent = stack[stack.length - 1];
|
|
98
|
+
}
|
|
99
|
+
else if (text.charAt(0) === '!') {
|
|
100
|
+
// Ignore comments
|
|
101
|
+
// console.log(`Ignored ${text}`);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
var empty = text.match(this.regexEmpty);
|
|
105
|
+
var tagName = this.XML10_TAGNAME_REGEXP.exec(text)[1];
|
|
106
|
+
var node = (0, functions_1.domCreateElement)(xmlDocument, tagName);
|
|
107
|
+
var attribute = void 0;
|
|
108
|
+
while ((attribute = this.XML10_ATTRIBUTE_REGEXP.exec(text))) {
|
|
109
|
+
var val = he_1.default.decode(attribute[5] || attribute[7] || '');
|
|
110
|
+
(0, functions_1.domSetAttribute)(node, attribute[1], val);
|
|
111
|
+
}
|
|
112
|
+
node.siblingPosition = parent.childNodes.length;
|
|
113
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
114
|
+
// The fundamental difference between this parse function
|
|
115
|
+
// and the strict XML parse is here:
|
|
116
|
+
// HTML is lenient with certain tags, that don't need to be closed.
|
|
117
|
+
if (!empty && !this.lenientHtmlTags.includes(tagName)) {
|
|
118
|
+
parent = node;
|
|
119
|
+
stack.push(node);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
start = i + 1;
|
|
123
|
+
tag = false;
|
|
124
|
+
quotes = false;
|
|
125
|
+
doublequotes = false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
if (char === '<') {
|
|
130
|
+
var text = htmlText.slice(start, i);
|
|
131
|
+
if (text && parent !== root) {
|
|
132
|
+
(0, functions_1.domAppendChild)(parent, (0, functions_1.domCreateTextNode)(xmlDocument, text));
|
|
133
|
+
}
|
|
134
|
+
if (htmlText.slice(i + 1, i + 4) === '!--') {
|
|
135
|
+
var endTagIndex = htmlText.slice(i + 4).indexOf('-->');
|
|
136
|
+
if (endTagIndex) {
|
|
137
|
+
var node = (0, functions_1.domCreateComment)(xmlDocument, htmlText.slice(i + 4, i + endTagIndex + 4));
|
|
138
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
139
|
+
i += endTagIndex + 6;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (htmlText.slice(i + 1, i + 9) === '!DOCTYPE') {
|
|
143
|
+
var endTagIndex = htmlText.slice(i + 9).indexOf('>');
|
|
144
|
+
if (endTagIndex) {
|
|
145
|
+
var dtdValue = htmlText.slice(i + 9, i + endTagIndex + 9).trimStart();
|
|
146
|
+
// TODO: Not sure if this is a good solution.
|
|
147
|
+
// Trying to implement this: https://github.com/DesignLiquido/xslt-processor/issues/30
|
|
148
|
+
var node = (0, functions_1.domCreateDTDSection)(xmlDocument, dtdValue);
|
|
149
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
150
|
+
i += endTagIndex + dtdValue.length + 5;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
tag = true;
|
|
155
|
+
}
|
|
156
|
+
start = i + 1;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return xmlDocument;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Parses the given XML string with our custom, JavaScript XML parser.
|
|
164
|
+
* @param xml The XML String.
|
|
165
|
+
* @returns A XDocument.
|
|
166
|
+
* @author Steffen Meschkat <mesch@google.com>
|
|
167
|
+
*/
|
|
168
|
+
XmlParser.prototype.xmlStrictParse = function (xml) {
|
|
169
|
+
var regexTagname;
|
|
170
|
+
var regexAttribute;
|
|
171
|
+
if (xml.match(/^<\?xml/)) {
|
|
172
|
+
// When an XML document begins with an XML declaration
|
|
173
|
+
// VersionInfo must appear.
|
|
174
|
+
if (xml.search(new RegExp(xmltoken_1.XML10_VERSION_INFO)) === 5) {
|
|
175
|
+
regexTagname = this.XML10_TAGNAME_REGEXP;
|
|
176
|
+
regexAttribute = this.XML10_ATTRIBUTE_REGEXP;
|
|
177
|
+
}
|
|
178
|
+
else if (xml.search(new RegExp(xmltoken_1.XML11_VERSION_INFO)) === 5) {
|
|
179
|
+
regexTagname = this.XML11_TAGNAME_REGEXP;
|
|
180
|
+
regexAttribute = this.XML11_ATTRIBUTE_REGEXP;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
throw new Error('XML VersionInfo has an unknown version number.');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
// When an XML declaration is missing it's an XML 1.0 document.
|
|
188
|
+
regexTagname = this.XML10_TAGNAME_REGEXP;
|
|
189
|
+
regexAttribute = this.XML10_ATTRIBUTE_REGEXP;
|
|
190
|
+
}
|
|
191
|
+
var xmlDocument = new xdocument_1.XDocument();
|
|
192
|
+
var root = xmlDocument;
|
|
193
|
+
var stack = [];
|
|
194
|
+
var parent = root;
|
|
195
|
+
stack.push(parent);
|
|
196
|
+
var tag = false, quotes = false, doublequotes = false, start = 0;
|
|
197
|
+
for (var i = 0; i < xml.length; ++i) {
|
|
198
|
+
var char = xml.charAt(i);
|
|
199
|
+
if (tag && !doublequotes && char === "'") {
|
|
200
|
+
quotes = !quotes;
|
|
201
|
+
}
|
|
202
|
+
else if (tag && !quotes && char === '"') {
|
|
203
|
+
doublequotes = !doublequotes;
|
|
204
|
+
}
|
|
205
|
+
else if (tag && char === '>' && !quotes && !doublequotes) {
|
|
206
|
+
var text = xml.slice(start, i);
|
|
207
|
+
if (text.charAt(0) === '/') {
|
|
208
|
+
stack.pop();
|
|
209
|
+
parent = stack[stack.length - 1];
|
|
210
|
+
}
|
|
211
|
+
else if (text.charAt(0) === '?') {
|
|
212
|
+
// Ignore XML declaration and processing instructions
|
|
213
|
+
}
|
|
214
|
+
else if (text.charAt(0) === '!') {
|
|
215
|
+
// Ignore comments
|
|
216
|
+
// console.log(`Ignored ${text}`);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
var empty = text.match(this.regexEmpty);
|
|
220
|
+
var tagname = regexTagname.exec(text)[1];
|
|
221
|
+
var node = (0, functions_1.domCreateElement)(xmlDocument, tagname);
|
|
222
|
+
var attribute = void 0;
|
|
223
|
+
while ((attribute = regexAttribute.exec(text))) {
|
|
224
|
+
var val = he_1.default.decode(attribute[5] || attribute[7] || '');
|
|
225
|
+
(0, functions_1.domSetAttribute)(node, attribute[1], val);
|
|
226
|
+
}
|
|
227
|
+
node.siblingPosition = parent.childNodes.length;
|
|
228
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
229
|
+
if (!empty) {
|
|
230
|
+
parent = node;
|
|
231
|
+
stack.push(node);
|
|
232
|
+
}
|
|
233
|
+
var namespaceMap = this.namespaceMapAt(node);
|
|
234
|
+
if (node.prefix !== null) {
|
|
235
|
+
if (node.prefix in namespaceMap)
|
|
236
|
+
node.namespaceUri = namespaceMap[node.prefix];
|
|
237
|
+
// else, prefix is undefined. do anything?
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
if ('' in namespaceMap)
|
|
241
|
+
node.namespaceUri = namespaceMap[''];
|
|
242
|
+
}
|
|
243
|
+
for (var i_1 = 0; i_1 < node.attributes.length; ++i_1) {
|
|
244
|
+
if (node.attributes[i_1].prefix !== null) {
|
|
245
|
+
if (node.attributes[i_1].prefix in namespaceMap) {
|
|
246
|
+
node.attributes[i_1].namespaceUri = namespaceMap[node.attributes[i_1].prefix];
|
|
247
|
+
}
|
|
248
|
+
// else, prefix undefined.
|
|
249
|
+
}
|
|
250
|
+
// elements with no prefix always have no namespace, so do nothing here.
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
start = i + 1;
|
|
254
|
+
tag = false;
|
|
255
|
+
quotes = false;
|
|
256
|
+
doublequotes = false;
|
|
257
|
+
}
|
|
258
|
+
else if (!tag && char === '<') {
|
|
259
|
+
var text = xml.slice(start, i);
|
|
260
|
+
if (text && parent !== root) {
|
|
261
|
+
(0, functions_1.domAppendChild)(parent, (0, functions_1.domCreateTextNode)(xmlDocument, text));
|
|
262
|
+
}
|
|
263
|
+
if (xml.slice(i + 1, i + 4) === '!--') {
|
|
264
|
+
var endTagIndex = xml.slice(i + 4).indexOf('-->');
|
|
265
|
+
if (endTagIndex) {
|
|
266
|
+
var node = (0, functions_1.domCreateComment)(xmlDocument, xml.slice(i + 4, i + endTagIndex + 4));
|
|
267
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
268
|
+
i += endTagIndex + 6;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
else if (xml.slice(i + 1, i + 9) === '![CDATA[') {
|
|
272
|
+
var endTagIndex = xml.slice(i + 9).indexOf(']]>');
|
|
273
|
+
if (endTagIndex) {
|
|
274
|
+
var node = (0, functions_1.domCreateCDATASection)(xmlDocument, xml.slice(i + 9, i + endTagIndex + 9));
|
|
275
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
276
|
+
i += endTagIndex + 11;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else if (xml.slice(i + 1, i + 9) === '!DOCTYPE') { // "!DOCTYPE" can be used in a XSLT template.
|
|
280
|
+
var endTagIndex = xml.slice(i + 9).indexOf('>');
|
|
281
|
+
if (endTagIndex) {
|
|
282
|
+
var dtdValue = xml.slice(i + 9, i + endTagIndex + 9).trimStart();
|
|
283
|
+
// TODO: Not sure if this is a good solution.
|
|
284
|
+
// Trying to implement this: https://github.com/DesignLiquido/xslt-processor/issues/30
|
|
285
|
+
var node = (0, functions_1.domCreateDTDSection)(xmlDocument, dtdValue);
|
|
286
|
+
(0, functions_1.domAppendChild)(parent, node);
|
|
287
|
+
i += endTagIndex + dtdValue.length + 5;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
tag = true;
|
|
292
|
+
}
|
|
293
|
+
start = i + 1;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return root;
|
|
297
|
+
};
|
|
298
|
+
return XmlParser;
|
|
299
|
+
}());
|
|
300
|
+
exports.XmlParser = XmlParser;
|
|
301
|
+
//# sourceMappingURL=xml-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../src/dom/xml-parser.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExprContext = exports.xmlEscapeText = exports.
|
|
3
|
+
exports.ExprContext = exports.xmlEscapeText = exports.XmlParser = exports.Xslt = exports.XPath = void 0;
|
|
4
4
|
var xpath_1 = require("./xpath");
|
|
5
5
|
Object.defineProperty(exports, "XPath", { enumerable: true, get: function () { return xpath_1.XPath; } });
|
|
6
6
|
var xslt_1 = require("./xslt");
|
|
7
7
|
Object.defineProperty(exports, "Xslt", { enumerable: true, get: function () { return xslt_1.Xslt; } });
|
|
8
8
|
var dom_1 = require("./dom");
|
|
9
|
-
Object.defineProperty(exports, "
|
|
9
|
+
Object.defineProperty(exports, "XmlParser", { enumerable: true, get: function () { return dom_1.XmlParser; } });
|
|
10
10
|
Object.defineProperty(exports, "xmlEscapeText", { enumerable: true, get: function () { return dom_1.xmlEscapeText; } });
|
|
11
11
|
var xpath_2 = require("./xpath");
|
|
12
12
|
Object.defineProperty(exports, "ExprContext", { enumerable: true, get: function () { return xpath_2.ExprContext; } });
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+BAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+BAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,6BAAiD;AAAxC,gGAAA,SAAS,OAAA;AAAE,oGAAA,aAAa,OAAA;AACjC,iCAAsC;AAA7B,oGAAA,WAAW,OAAA"}
|
package/package.json
CHANGED
package/umd/dom/functions.d.ts
CHANGED
|
@@ -12,10 +12,3 @@ export declare function domCreateCDATASection(doc: XDocument, data: any): XNode;
|
|
|
12
12
|
export declare function domCreateComment(doc: any, text: any): any;
|
|
13
13
|
export declare function domCreateDocumentFragment(doc: XDocument): XNode;
|
|
14
14
|
export declare function domCreateDTDSection(doc: XDocument, data: any): XNode;
|
|
15
|
-
/**
|
|
16
|
-
* Parses the given XML string with our custom, JavaScript XML parser
|
|
17
|
-
* @param xml The XML String.
|
|
18
|
-
* @returns A XDocument.
|
|
19
|
-
* @author Steffen Meschkat <mesch@google.com>
|
|
20
|
-
*/
|
|
21
|
-
export declare function xmlParse(xml: string): XDocument;
|
package/umd/dom/index.d.ts
CHANGED
package/umd/dom/util.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { XNode } from './xnode';
|
|
2
2
|
import { XDocument } from './xdocument';
|
|
3
3
|
import { XmlOutputOptions } from './xml-output-options';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Returns the text value of a node; for nodes without children this
|
|
6
|
+
* is the nodeValue, for nodes with children this is the concatenation
|
|
7
|
+
* of the value of all children. Browser-specific optimizations are used by
|
|
8
|
+
* default; they can be disabled by passing "true" in as the second parameter.
|
|
9
|
+
* @param node The Node (not exactly a `XNode` here).
|
|
10
|
+
* @param disallowBrowserSpecificOptimization A boolean, to avoid browser optimization.
|
|
11
|
+
* @returns The XML value as a string.
|
|
12
|
+
*/
|
|
13
|
+
export declare function xmlValue(node: any, disallowBrowserSpecificOptimization?: boolean): string;
|
|
5
14
|
export declare function xmlValue2(node: any, disallowBrowserSpecificOptimization?: boolean): any;
|
|
6
15
|
/**
|
|
7
16
|
* Returns the representation of a node as XML text.
|
|
17
|
+
* In general it is not used by XSLT, that uses `xmlTransformedText` instead.
|
|
8
18
|
* @param {XNode} node The starting node.
|
|
9
19
|
* @param {XmlOutputOptions} options XML output options.
|
|
10
20
|
* @returns The XML string.
|
|
21
|
+
* @see xmlTransformedText
|
|
11
22
|
*/
|
|
12
23
|
export declare function xmlText(node: XNode, options?: XmlOutputOptions): string;
|
|
13
24
|
/**
|
|
@@ -35,7 +46,7 @@ export declare function xmlEscapeText(s: string): string;
|
|
|
35
46
|
* @param name TODO
|
|
36
47
|
* @returns TODO
|
|
37
48
|
*/
|
|
38
|
-
export declare function xmlGetAttribute(node: XNode, name: string):
|
|
49
|
+
export declare function xmlGetAttribute(node: XNode, name: string): string;
|
|
39
50
|
/**
|
|
40
51
|
* Wrapper function to access the owner document uniformly for document
|
|
41
52
|
* and other nodes: for the document node, the owner document is the
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { XDocument } from './xdocument';
|
|
2
|
+
/**
|
|
3
|
+
* Original author: Steffen Meschkat <mesch@google.com> (the `xmlParse` function,
|
|
4
|
+
* now `xmlStrictParse`).
|
|
5
|
+
*
|
|
6
|
+
* An XML parse and a minimal DOM implementation that just supports
|
|
7
|
+
* the subset of the W3C DOM that is used in the XSLT implementation.
|
|
8
|
+
*/
|
|
9
|
+
export declare class XmlParser {
|
|
10
|
+
regexEmpty: RegExp;
|
|
11
|
+
XML10_TAGNAME_REGEXP: RegExp;
|
|
12
|
+
XML10_ATTRIBUTE_REGEXP: RegExp;
|
|
13
|
+
XML11_TAGNAME_REGEXP: RegExp;
|
|
14
|
+
XML11_ATTRIBUTE_REGEXP: RegExp;
|
|
15
|
+
lenientHtmlTags: string[];
|
|
16
|
+
/**
|
|
17
|
+
* The entry point for this parser.
|
|
18
|
+
* It verifies whether the document seems to be HTML.
|
|
19
|
+
* HTML is a special case if XML and it should be parsed differently.
|
|
20
|
+
* @param xmlOrHtml The XML or HTML content to be parsed.
|
|
21
|
+
* @returns A DOM document.
|
|
22
|
+
*/
|
|
23
|
+
xmlParse(xmlOrHtml: string): XDocument;
|
|
24
|
+
/**
|
|
25
|
+
* Given an XNode, returns an object mapping prefixes to their corresponding namespaces in its scope.
|
|
26
|
+
* Default namespace is treated as if its prefix were the empty string.
|
|
27
|
+
* @param node The Node.
|
|
28
|
+
* @returns An object with prefixes and namespace URLs.
|
|
29
|
+
*/
|
|
30
|
+
private namespaceMapAt;
|
|
31
|
+
/**
|
|
32
|
+
* HTML needs to be parsed differently because it's a special case of XML.
|
|
33
|
+
* Sources:
|
|
34
|
+
*
|
|
35
|
+
* - https://blog.teamtreehouse.com/to-close-or-not-to-close-tags-in-html5
|
|
36
|
+
* @param htmlText The HTML text
|
|
37
|
+
* @returns A DOM document.
|
|
38
|
+
*/
|
|
39
|
+
private htmlParse;
|
|
40
|
+
/**
|
|
41
|
+
* Parses the given XML string with our custom, JavaScript XML parser.
|
|
42
|
+
* @param xml The XML String.
|
|
43
|
+
* @returns A XDocument.
|
|
44
|
+
* @author Steffen Meschkat <mesch@google.com>
|
|
45
|
+
*/
|
|
46
|
+
private xmlStrictParse;
|
|
47
|
+
}
|
package/umd/index.d.ts
CHANGED
package/umd/xslt/xslt.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare class Xslt {
|
|
|
33
33
|
options: XsltOptions;
|
|
34
34
|
decimalFormatSettings: XsltDecimalFormatSettings;
|
|
35
35
|
outputDocument: XDocument;
|
|
36
|
-
outputMethod:
|
|
36
|
+
outputMethod: 'xml' | 'html' | 'text' | 'name';
|
|
37
37
|
outputOmitXmlDeclaration: string;
|
|
38
38
|
version: string;
|
|
39
39
|
constructor(options?: Partial<XsltOptions>);
|