Re: xml-to-json() function under SaxonJS
Wendell Piez <[email protected]> Wed, 22 Sep 2021 20:09:15 -0400
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <CAAO_-xwg29OTKyfxcEj36sq3GRbZViGFYCAYB4x7vCv8iQdY8w@mail.gmail.com> |
--===============2963186324280565082== Content-Type: multipart/alternative; boundary="0000000000006ef35c05cc9e7147" --0000000000006ef35c05cc9e7147 Content-Type: text/plain; charset="UTF-8" Hi Mike, That's what I'm looking at exactly. I see "several of the optional features" and I see "and not others". There appears to be no mention of serialize() specifically, but then no mention of xml-to-json() either. :-) If what I should see is indenting (when the serialization option says to indent), I will look again more closely at the code to see what could be wrong. (That's exactly what I am trying to confirm.) Thanks! Wendell On Wed, Sep 22, 2021 at 6:10 PM Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> wrote: > What page are you looking at exactly? At > > > https://www.saxonica.com/saxon-js/documentation/index.html#!conformance/xslt30 > > I read > > Saxon-JS implements XSLT 3.0 *Basic* Level, and several of the optional > features that are not included in the W3C-defined Basic level - > specifically the *XSLT 1.0 backwards compatibility*, *Dynamic Evaluation* > , *XPath 3.1*, *Serialization*, and *Higher-Order Functions* features, > with minor differences noted below. > > Michael Kay > Saxonica > > > On 22 Sep 2021, at 18:11, Wendell Piez <[email protected]> wrote: > > Hi again, > > Today I write just to double check the same question on the serialize() > function, and where at the top of the page at /conformance/xslt30 it says > it does not implement the serialization spec, I should take that to mean I > am my own also with formatting serialized XML on the page? > > I can live with this (indeed it gives me some control I would like -- I > try to look at the bright side of things) but again I wanted to make sure I > am not missing anything. > > Thanks, > Wendell > > > > > On Tue, Sep 21, 2021 at 3:02 PM Wendell Piez <[email protected]> > wrote: > >> Hello Mike and Martin, >> >> Thank you for confirming this. It's the escaping even more than the >> indentation that worries me. >> >> In my experience, there is no set of whitespace rules that everyone will >> agree is ideal or even very nice. But it is also not so difficult to do >> better than the brick. >> >> I will definitely look at that XSLT (in the spec). I could perhaps use >> Javascript .stringify except I would like to inject the raw JSON for >> display into the page, which is so easy to do in SaxonJS. Indeed, in this >> case I am afraid the 'right way' is to do it in XSLT. A variant could >> produce markup for syntax coloring. >> >> Thanks, Wendell >> >> >> On Tue, Sep 21, 2021 at 12:02 PM Michael Kay <[email protected]> >> wrote: >> >>> Confirmed, we haven't implemented indent:yes in the JSON serializer in >>> Saxon-JS. >>> >>> Doing a nice indentation algorithm is actually quite tricky, and we like >>> to keep the code small, but I guess doing a simple-minded indentation might >>> be better than none at all. The main complication is deciding when it makes >>> sense to put things on the same line, e.g. >>> >>> { "name": ["Michael", "Kay"], >>> "company": "Saxonica" >>> } >>> >>> It would be tempting to just generate the JSON and then call parse => >>> stringify, but that would almost certainly apply escaping rules that make >>> the result non-conformant. >>> >>> Michael Kay >>> Saxonica >>> >>> On 21 Sep 2021, at 15:12, Wendell Piez <[email protected]> wrote: >>> >>> Hello Saxonians, >>> >>> Today I am a bit surprised to find I get no luck, using SaxonJS in the >>> browser, when trying to serialize JSON as anything but a data brick, when >>> produced by the function xml-to-json(). It is supposed to accept $options >>> and 'indent' is the option available, but unless I am missing something, >>> map{ 'indent':true() } is not operative. >>> >>> The documentation says that the function json-to-xml() does not support >>> $options but xml-to-json() is not mentioned. Can I confirm that it is (not) >>> user error that is preventing me from getting the JSON indented, instead of >>> prettified? >>> >>> If this is not supported what is the recommended workaround: perhaps a >>> JSON serializer is not so hard to write? (I have not thought about it much.) >>> >>> Thanks for any insight or advice, >>> Wendell >>> >>> -- >>> ...Wendell Piez... ...wendell -at- nist -dot- gov... >>> ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... >>> ...github.com/wendellpiez... ...gitlab.coko.foundation/wendell... >>> _______________________________________________ >>> saxon-help mailing list archived at http://saxon.markmail.org/ >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/saxon-help >>> >>> >>> _______________________________________________ >>> saxon-help mailing list archived at http://saxon.markmail.org/ >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/saxon-help >> >> >> >> -- >> ...Wendell Piez... ...wendell -at- nist -dot- gov... >> ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... >> ...github.com/wendellpiez... ...gitlab.coko.foundation/wendell... >> > > > -- > ...Wendell Piez... ...wendell -at- nist -dot- gov... > ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... > ...github.com/wendellpiez... ...gitlab.coko.foundation/wendell... > _______________________________________________ > saxon-help mailing list archived at http://saxon.markmail.org/ > [email protected] > https://lists.sourceforge.net/lists/listinfo/saxon-help > > > _______________________________________________ > saxon-help mailing list archived at http://saxon.markmail.org/ > [email protected] > https://lists.sourceforge.net/lists/listinfo/saxon-help -- ...Wendell Piez... ...wendell -at- nist -dot- gov... ...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org... ...github.com/wendellpiez... ...gitlab.coko.foundation/wendell... --0000000000006ef35c05cc9e7147 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Mike,<div><br></div><div>That's what I'm lookin= g at exactly. I see "several of the optional features" and I see = "and not others".<div><br></div><div>There appears to be no menti= on of serialize() specifically, but then no mention of xml-to-json() either= . :-)</div><div><br></div><div>If what I should see is indenting (when the = serialization option says to indent), I will look again more closely at the= code to see what could be wrong. (That's exactly what I am trying to c= onfirm.)</div><div><br></div><div>Thanks! Wendell</div></div><div><br></div= ></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"= >On Wed, Sep 22, 2021 at 6:10 PM Michael Kay <<a href=3D"mailto:mike@sax= onica.com" target=3D"_blank">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>> wrote:<br></div><blo= ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left= :1px solid rgb(204,204,204);padding-left:1ex"><div>What page are you lookin= g at exactly? At<div><br></div><div><a href=3D"https://www.saxonica.com/sax= on-js/documentation/index.html#!conformance/xslt30" target=3D"_blank">https= ://www.saxonica.com/saxon-js/documentation/index.html#!conformance/xslt30</= a></div><div><br></div><div>I read</div><div><br></div><div><span style=3D"= color:rgb(61,91,150);font-family:"Lucida Sans Unicode","Luci= da Grande",sans-serif;font-size:13.3333px;background-color:rgb(255,255= ,255)">Saxon-JS implements XSLT 3.0=C2=A0</span><b style=3D"margin:0px;padd= ing:0px;border:0px;font-family:"Lucida Sans Unicode","Lucida= Grande",sans-serif;font-size:13.3333px;font-stretch:inherit;line-heig= ht:inherit;vertical-align:baseline;color:rgb(61,91,150)">Basic</b><span sty= le=3D"color:rgb(61,91,150);font-family:"Lucida Sans Unicode",&quo= t;Lucida Grande",sans-serif;font-size:13.3333px;background-color:rgb(2= 55,255,255)">=C2=A0Level, and several of the optional features that are not= included in the W3C-defined Basic level - specifically the=C2=A0</span><b = style=3D"margin:0px;padding:0px;border:0px;font-family:"Lucida Sans Un= icode","Lucida Grande",sans-serif;font-size:13.3333px;font-s= tretch:inherit;line-height:inherit;vertical-align:baseline;color:rgb(61,91,= 150)">XSLT 1.0 backwards compatibility</b><span style=3D"color:rgb(61,91,15= 0);font-family:"Lucida Sans Unicode","Lucida Grande",sa= ns-serif;font-size:13.3333px;background-color:rgb(255,255,255)">,=C2=A0</sp= an><b style=3D"margin:0px;padding:0px;border:0px;font-family:"Lucida S= ans Unicode","Lucida Grande",sans-serif;font-size:13.3333px;= font-stretch:inherit;line-height:inherit;vertical-align:baseline;color:rgb(= 61,91,150)">Dynamic Evaluation</b><span style=3D"color:rgb(61,91,150);font-= family:"Lucida Sans Unicode","Lucida Grande",sans-serif= ;font-size:13.3333px;background-color:rgb(255,255,255)">,=C2=A0</span><b st= yle=3D"margin:0px;padding:0px;border:0px;font-family:"Lucida Sans Unic= ode","Lucida Grande",sans-serif;font-size:13.3333px;font-str= etch:inherit;line-height:inherit;vertical-align:baseline;color:rgb(61,91,15= 0)">XPath 3.1</b><span style=3D"color:rgb(61,91,150);font-family:"Luci= da Sans Unicode","Lucida Grande",sans-serif;font-size:13.333= 3px;background-color:rgb(255,255,255)">,=C2=A0</span><b style=3D"margin:0px= ;padding:0px;border:0px;font-family:"Lucida Sans Unicode","L= ucida Grande",sans-serif;font-size:13.3333px;font-stretch:inherit;line= -height:inherit;vertical-align:baseline;color:rgb(61,91,150)">Serialization= </b><span style=3D"color:rgb(61,91,150);font-family:"Lucida Sans Unico= de","Lucida Grande",sans-serif;font-size:13.3333px;backgroun= d-color:rgb(255,255,255)">, and=C2=A0</span><b style=3D"margin:0px;padding:= 0px;border:0px;font-family:"Lucida Sans Unicode","Lucida Gra= nde",sans-serif;font-size:13.3333px;font-stretch:inherit;line-height:i= nherit;vertical-align:baseline;color:rgb(61,91,150)">Higher-Order Functions= </b><span style=3D"color:rgb(61,91,150);font-family:"Lucida Sans Unico= de","Lucida Grande",sans-serif;font-size:13.3333px;backgroun= d-color:rgb(255,255,255)">=C2=A0features, with minor differences noted belo= w.</span></div><div><font color=3D"#3d5b96" face=3D"Lucida Sans Unicode, Lu= cida Grande, sans-serif" size=3D"2"><span style=3D"background-color:rgb(255= ,255,255)"><br></span></font></div><div><font color=3D"#3d5b96" face=3D"Luc= ida Sans Unicode, Lucida Grande, sans-serif" size=3D"2"><span style=3D"back= ground-color:rgb(255,255,255)">Michael Kay</span></font></div><div><font co= lor=3D"#3d5b96" face=3D"Lucida Sans Unicode, Lucida Grande, sans-serif" siz= e=3D"2"><span style=3D"background-color:rgb(255,255,255)">Saxonica</span></= font></div><div><font color=3D"#3d5b96" face=3D"Lucida Sans Unicode, Lucida= Grande, sans-serif" size=3D"2"><span style=3D"background-color:rgb(255,255= ,255)"><br></span></font><div><br><blockquote type=3D"cite"><div>On 22 Sep = 2021, at 18:11, Wendell Piez <<a href=3D"mailto:[email protected]" = target=3D"_blank">[email protected]</a>> wrote:</div><br><div><div = dir=3D"ltr" style=3D"font-family:Helvetica;font-size:13px;font-style:normal= ;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-ali= gn:start;text-indent:0px;text-transform:none;white-space:normal;word-spacin= g:0px;text-decoration:none">Hi again,<div><br></div><div>Today I write just= to double check the same question on the serialize() function, and where a= t the top of the page at /conformance/xslt30 it says it does not implement = the serialization spec, I should take that to mean I am my own also with fo= rmatting serialized XML on the page?</div><div><br></div><div>I can live wi= th this (indeed it gives me some control I would like -- I try to look at t= he bright side of things) but again I wanted to make sure I am not missing = anything.</div><div><br></div><div>Thanks,</div><div>Wendell</div><div><br>= </div><div><br></div><div><br></div></div><br style=3D"font-family:Helvetic= a;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:nor= mal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:n= one;white-space:normal;word-spacing:0px;text-decoration:none"><div class=3D= "gmail_quote" style=3D"font-family:Helvetica;font-size:13px;font-style:norm= al;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-a= lign:start;text-indent:0px;text-transform:none;white-space:normal;word-spac= ing:0px;text-decoration:none"><div dir=3D"ltr" class=3D"gmail_attr">On Tue,= Sep 21, 2021 at 3:02 PM Wendell Piez <<a href=3D"mailto:wapiez@wendellp= iez.com" target=3D"_blank">[email protected]</a>> wrote:<br></div><= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hello Mik= e and Martin,<div><br></div><div>Thank you for confirming this. It's th= e escaping even more than the indentation that worries me.</div><div><br></= div><div>In my experience, there is no set of whitespace rules that everyon= e will agree is ideal or even very nice. But it is also not so difficult to= =C2=A0do better than the brick.</div><div><br></div><div>I will definitely = look at that XSLT (in the spec). I could perhaps use Javascript .stringify = except I would like to inject the raw JSON for display into the page, which= is so easy to do in SaxonJS. Indeed, in this case I am afraid the 'rig= ht way' is to do it in XSLT. A variant could produce markup for syntax = coloring.</div><div><br></div><div>Thanks, Wendell</div><div><br></div></di= v><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On T= ue, Sep 21, 2021 at 12:02 PM Michael Kay <<a href=3D"mailto:michaelkay90= @gmail.com" target=3D"_blank">[email protected]</a>> wrote:<br></di= v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde= r-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Confirmed, we have= n't implemented indent:yes in the JSON serializer in Saxon-JS.<div><br>= </div><div>Doing a nice indentation algorithm is actually quite tricky, and= we like to keep the code small, but I guess doing a simple-minded indentat= ion might be better than none at all. The main complication is deciding whe= n it makes sense to put things on the same line, e.g.=C2=A0</div><div><br><= /div><div>{ "name": ["Michael", "Kay"],</div>= <div>=C2=A0<span>=C2=A0</span>"company": "Saxonica"</di= v><div>}</div><div><br></div><div>It would be tempting to just generate the= JSON and then call parse =3D> stringify, but that would almost certainl= y apply escaping rules that make the result non-conformant.</div><div><br><= /div><div>Michael Kay</div><div>Saxonica</div><div><div><br><blockquote typ= e=3D"cite"><div>On 21 Sep 2021, at 15:12, Wendell Piez <<a href=3D"mailt= o:[email protected]" target=3D"_blank">[email protected]</a>> = wrote:</div><br><div><div dir=3D"ltr">Hello Saxonians,<div><br></div><div>T= oday I am a bit surprised to find I get no luck, using SaxonJS in the brows= er, when trying to serialize JSON as anything but a data brick, when produc= ed by the function xml-to-json(). It is supposed to accept $options and = 9;indent' is the option available, but unless I am missing something, m= ap{ 'indent':true() } is not operative.</div><div><br></div><div>Th= e documentation says that the function json-to-xml() does not support $opti= ons but xml-to-json() is not mentioned. Can I confirm that it is (not) user= error that is preventing me from getting the JSON indented, instead of pre= ttified?</div><div><br></div><div>If this is not supported what is the reco= mmended workaround: perhaps a JSON serializer is not so hard to write? (I h= ave not thought about it much.)</div><div><br></div><div>Thanks for any ins= ight or advice,</div><div>Wendell<br clear=3D"all"><div><br></div>--<span>= =C2=A0</span><br><div dir=3D"ltr">...Wendell Piez... ...wendell -at- nist -= dot- gov...<br>...<a href=3D"http://wendellpiez.com/" target=3D"_blank">wen= dellpiez.com</a>... ...<a href=3D"http://pellucidliterature.org/" target=3D= "_blank">pellucidliterature.org</a>... ...<a href=3D"http://pausepress.org/= " target=3D"_blank">pausepress.org</a>...<br>...<a href=3D"http://github.co= m/wendellpiez." target=3D"_blank">github.com/wendellpiez.</a>.. ...gitlab.c= oko.foundation/wendell...<span>=C2=A0</span></div></div></div>_____________= __________________________________<br>saxon-help mailing list archived at<s= pan>=C2=A0</span><a href=3D"http://saxon.markmail.org/" target=3D"_blank">h= ttp://saxon.markmail.org/</a><br><a href=3D"mailto:[email protected]= orge.net" target=3D"_blank">[email protected]</a><br><a href= =3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" target=3D"_bla= nk">https://lists.sourceforge.net/lists/listinfo/saxon-help</a></div></bloc= kquote></div><br></div></div>______________________________________________= _<br>saxon-help mailing list archived at<span>=C2=A0</span><a href=3D"http:= //saxon.markmail.org/" rel=3D"noreferrer" target=3D"_blank">http://saxon.ma= rkmail.org/</a><br><a href=3D"mailto:[email protected]" targ= et=3D"_blank">[email protected]</a><br><a href=3D"https://li= sts.sourceforge.net/lists/listinfo/saxon-help" rel=3D"noreferrer" target=3D= "_blank">https://lists.sourceforge.net/lists/listinfo/saxon-help</a></block= quote></div><br clear=3D"all"><div><br></div>--<span>=C2=A0</span><br><div = dir=3D"ltr">...Wendell Piez... ...wendell -at- nist -dot- gov...<br>...<a h= ref=3D"http://wendellpiez.com" target=3D"_blank">wendellpiez.com</a>... ...= <a href=3D"http://pellucidliterature.org" target=3D"_blank">pellucidliterat= ure.org</a>... ...<a href=3D"http://pausepress.org" target=3D"_blank">pause= press.org</a>...<br>...<a href=3D"http://github.com/wendellpiez." target=3D= "_blank">github.com/wendellpiez.</a>.. ...gitlab.coko.foundation/wendell...= <span>=C2=A0</span></div></blockquote></div><br clear=3D"all" style=3D"font= -family:Helvetica;font-size:13px;font-style:normal;font-variant-caps:normal= ;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;= text-transform:none;white-space:normal;word-spacing:0px;text-decoration:non= e"><div style=3D"font-family:Helvetica;font-size:13px;font-style:normal;fon= t-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:s= tart;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0p= x;text-decoration:none"><br></div><span style=3D"font-family:Helvetica;font= -size:13px;font-style:normal;font-variant-caps:normal;font-weight:normal;le= tter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;wh= ite-space:normal;word-spacing:0px;text-decoration:none;float:none;display:i= nline">--<span>=C2=A0</span></span><br style=3D"font-family:Helvetica;font-= size:13px;font-style:normal;font-variant-caps:normal;font-weight:normal;let= ter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;whi= te-space:normal;word-spacing:0px;text-decoration:none"><div dir=3D"ltr" sty= le=3D"font-family:Helvetica;font-size:13px;font-style:normal;font-variant-c= aps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-i= ndent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-deco= ration:none">...Wendell Piez... ...wendell -at- nist -dot- gov...<br>...<a = href=3D"http://wendellpiez.com/" target=3D"_blank">wendellpiez.com</a>... .= ..<a href=3D"http://pellucidliterature.org/" target=3D"_blank">pellucidlite= rature.org</a>... ...<a href=3D"http://pausepress.org/" target=3D"_blank">p= ausepress.org</a>...<br>...<a href=3D"http://github.com/wendellpiez." targe= t=3D"_blank">github.com/wendellpiez.</a>.. ...gitlab.coko.foundation/wendel= l...<span>=C2=A0</span></div><span style=3D"font-family:Helvetica;font-size= :13px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-= spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-s= pace:normal;word-spacing:0px;text-decoration:none;float:none;display:inline= ">_______________________________________________</span><br style=3D"font-f= amily:Helvetica;font-size:13px;font-style:normal;font-variant-caps:normal;f= ont-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;te= xt-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"= ><span style=3D"font-family:Helvetica;font-size:13px;font-style:normal;font= -variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:st= art;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px= ;text-decoration:none;float:none;display:inline">saxon-help mailing list ar= chived at<span>=C2=A0</span></span><a href=3D"http://saxon.markmail.org/" s= tyle=3D"font-family:Helvetica;font-size:13px;font-style:normal;font-variant= -caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text= -indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target= =3D"_blank">http://saxon.markmail.org/</a><br style=3D"font-family:Helvetic= a;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:nor= mal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:n= one;white-space:normal;word-spacing:0px;text-decoration:none"><a href=3D"ma= ilto:[email protected]" style=3D"font-family:Helvetica;font-= size:13px;font-style:normal;font-variant-caps:normal;font-weight:normal;let= ter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;whi= te-space:normal;word-spacing:0px" target=3D"_blank">[email protected]= forge.net</a><br style=3D"font-family:Helvetica;font-size:13px;font-style:n= ormal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;tex= t-align:start;text-indent:0px;text-transform:none;white-space:normal;word-s= pacing:0px;text-decoration:none"><a href=3D"https://lists.sourceforge.net/l= ists/listinfo/saxon-help" style=3D"font-family:Helvetica;font-size:13px;fon= t-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:n= ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm= al;word-spacing:0px" target=3D"_blank">https://lists.sourceforge.net/lists/= listinfo/saxon-help</a><span style=3D"font-family:Helvetica;font-size:13px;= font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacin= g:normal;text-align:start;text-indent:0px;text-transform:none;white-space:n= ormal;word-spacing:0px;text-decoration:none;float:none;display:inline"></sp= an></div></blockquote></div><br></div></div>_______________________________= ________________<br> saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/" = rel=3D"noreferrer" target=3D"_blank">http://saxon.markmail.org/</a><br> <a href=3D"mailto:[email protected]" target=3D"_blank">saxon= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" rel=3D"= noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/= saxon-help</a> </blockquote></div><br clear=3D"all"><div><br></div>-- <br><= div dir=3D"ltr">...Wendell Piez... ...wendell -at- nist -dot- gov...<br>...= wendellpiez.com... ...pellucidliterature.org... ...pausepress.org...<br>...= <a href=3D"http://github.com/wendellpiez." target=3D"_blank">github.com/wen= dellpiez.</a>.. ...gitlab.coko.foundation/wendell... </div> --0000000000006ef35c05cc9e7147-- --===============2963186324280565082== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============2963186324280565082== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected] https://lists.sourceforge.net/lists/listinfo/saxon-help --===============2963186324280565082==--