Re: xml-to-json() function under SaxonJS
Wendell Piez <[email protected]> Thu, 23 Sep 2021 08:03:07 -0400
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <CAAO_-xxkzfAdhoyHH=DOS1k5TD_Tv4sT40nB3fcqUALTyx+LMw@mail.gmail.com> |
--===============8406802723986523194== Content-Type: multipart/alternative; boundary="000000000000920f4b05cca86a15" --000000000000920f4b05cca86a15 Content-Type: text/plain; charset="UTF-8" Yes, that could be. I have stepped in that kind of confusion before. And of course I don't know the boundaries between the specs as well as those who wrote them. Thanks for your patience as always! Wendell On Thu, Sep 23, 2021 at 7:42 AM Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> wrote: > I guess what you're missing is that when talking about conformance, > "feature" is a technical term referring to one of the conformance features > in the spec. The serialize() function is part of the Serialization feature, > the xml-to-json() function is part of Basic conformance. > > Michael Kay > Saxonica > > On 23 Sep 2021, at 01:09, Wendell Piez <[email protected]> wrote: > > 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... > _______________________________________________ > 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... --000000000000920f4b05cca86a15 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Yes, that could be. I have stepped in that kind of confusi= on before. And of course I don't know the boundaries between the specs = as well as those who wrote them.<div><br></div><div>Thanks for your patienc= e as always! Wendell</div><div><br></div></div><br><div class=3D"gmail_quot= e"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 23, 2021 at 7:42 AM Mi= chael Kay <<a href=3D"mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>>= ; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px= 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div st= yle=3D"overflow-wrap: break-word;">I guess what you're missing is that = when talking about conformance, "feature" is a technical term ref= erring to one of the conformance features in the spec. The serialize() func= tion is part of the Serialization feature, the xml-to-json() function is pa= rt of Basic conformance.<div><br></div><div>Michael Kay</div><div>Saxonica<= br><div><br><blockquote type=3D"cite"><div>On 23 Sep 2021, at 01:09, Wendel= l Piez <<a href=3D"mailto:[email protected]" target=3D"_blank">wapi= [email protected]</a>> wrote:</div><br><div><div dir=3D"ltr">Hi Mike,<d= iv><br></div><div>That's what I'm looking at exactly. I see "s= everal of the optional features" and I see "and not others".= <div><br></div><div>There appears to be no mention of serialize() specifica= lly, 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 t= o 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.)</div><div><br></di= v><div>Thanks! Wendell</div></div><div><br></div></div><br><div class=3D"gm= ail_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-JkSD5nQpfvpWk0Htik3J/[email protected]" target=3D"_blank= ">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quot= e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)= ;padding-left:1ex"><div>What page are you looking at exactly? At<div><br></= div><div><a href=3D"https://www.saxonica.com/saxon-js/documentation/index.h= tml#!conformance/xslt30" target=3D"_blank">https://www.saxonica.com/saxon-j= s/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-f= amily:"Lucida Sans Unicode","Lucida 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;padding:0px;border:0px;font-fam= ily:"Lucida Sans Unicode","Lucida Grande",sans-serif;fo= nt-size:13.3333px;font-stretch:inherit;line-height:inherit;vertical-align:b= aseline;color:rgb(61,91,150)">Basic</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=A0Level, a= nd several of the optional features that are not included in the W3C-define= d Basic level - specifically the=C2=A0</span><b style=3D"margin:0px;padding= :0px;border:0px;font-family:"Lucida Sans Unicode","Lucida Gr= ande",sans-serif;font-size:13.3333px;font-stretch:inherit;line-height:= inherit;vertical-align:baseline;color:rgb(61,91,150)">XSLT 1.0 backwards co= mpatibility</b><span style=3D"color:rgb(61,91,150);font-family:"Lucida= Sans Unicode","Lucida Grande",sans-serif;font-size:13.3333p= x;background-color:rgb(255,255,255)">,=C2=A0</span><b style=3D"margin:0px;p= adding:0px;border:0px;font-family:"Lucida Sans Unicode","Luc= ida Grande",sans-serif;font-size:13.3333px;font-stretch:inherit;line-h= eight:inherit;vertical-align:baseline;color:rgb(61,91,150)">Dynamic Evaluat= ion</b><span style=3D"color:rgb(61,91,150);font-family:"Lucida Sans Un= icode","Lucida Grande",sans-serif;font-size:13.3333px;backgr= ound-color:rgb(255,255,255)">,=C2=A0</span><b style=3D"margin:0px;padding:0= px;border:0px;font-family:"Lucida Sans Unicode","Lucida Gran= de",sans-serif;font-size:13.3333px;font-stretch:inherit;line-height:in= herit;vertical-align:baseline;color:rgb(61,91,150)">XPath 3.1</b><span styl= e=3D"color:rgb(61,91,150);font-family:"Lucida Sans Unicode","= ;Lucida Grande",sans-serif;font-size:13.3333px;background-color:rgb(25= 5,255,255)">,=C2=A0</span><b style=3D"margin:0px;padding:0px;border:0px;fon= t-family:"Lucida Sans Unicode","Lucida Grande",sans-ser= if;font-size:13.3333px;font-stretch:inherit;line-height:inherit;vertical-al= ign:baseline;color:rgb(61,91,150)">Serialization</b><span style=3D"color:rg= b(61,91,150);font-family:"Lucida Sans Unicode","Lucida Grand= e",sans-serif;font-size:13.3333px;background-color:rgb(255,255,255)">,= and=C2=A0</span><b style=3D"margin:0px;padding:0px;border:0px;font-family:= "Lucida Sans Unicode","Lucida Grande",sans-serif;font-s= ize:13.3333px;font-stretch:inherit;line-height:inherit;vertical-align:basel= ine;color:rgb(61,91,150)">Higher-Order Functions</b><span style=3D"color:rg= b(61,91,150);font-family:"Lucida Sans Unicode","Lucida Grand= e",sans-serif;font-size:13.3333px;background-color:rgb(255,255,255)">= =C2=A0features, with minor differences noted below.</span></div><div><font = color=3D"#3d5b96" face=3D"Lucida Sans Unicode, Lucida Grande, sans-serif" s= ize=3D"2"><span style=3D"background-color:rgb(255,255,255)"><br></span></fo= nt></div><div><font color=3D"#3d5b96" face=3D"Lucida Sans Unicode, Lucida G= rande, sans-serif" size=3D"2"><span style=3D"background-color:rgb(255,255,2= 55)">Michael Kay</span></font></div><div><font color=3D"#3d5b96" face=3D"Lu= cida Sans Unicode, Lucida Grande, sans-serif" size=3D"2"><span style=3D"bac= kground-color:rgb(255,255,255)">Saxonica</span></font></div><div><font colo= r=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 P= iez <<a href=3D"mailto:[email protected]" target=3D"_blank">wapiez@= wendellpiez.com</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-align:start;text-indent:0px;= text-transform:none;white-space:normal;word-spacing:0px;text-decoration:non= e">Hi again,<div><br></div><div>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 o= n the page?</div><div><br></div><div>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.</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:Helvetica;font-size:13px;font-sty= le:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal= ;text-align:start;text-indent:0px;text-transform:none;white-space:normal;wo= rd-spacing:0px;text-decoration:none"><div class=3D"gmail_quote" style=3D"fo= nt-family:Helvetica;font-size:13px;font-style:normal;font-variant-caps:norm= al;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0p= x;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:n= one"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 21, 2021 at 3:02 PM = Wendell Piez <<a href=3D"mailto:[email protected]" target=3D"_blank= ">[email protected]</a>> wrote:<br></div><blockquote class=3D"gmail= _quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204= ,204);padding-left:1ex"><div dir=3D"ltr">Hello Mike and Martin,<div><br></d= iv><div>Thank you for confirming this. It's the 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 everyone 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 in= ject the raw JSON for display into the page, which is so easy to do in Saxo= nJS. Indeed, in this case I am afraid the 'right way' is to do it i= n XSLT. A variant could produce markup for syntax coloring.</div><div><br><= /div><div>Thanks, Wendell</div><div><br></div></div><br><div class=3D"gmail= _quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 21, 2021 at 12:02= PM Michael Kay <<a href=3D"mailto:[email protected]" target=3D"_bl= ank">[email protected]</a>> wrote:<br></div><blockquote class=3D"gm= ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,= 204,204);padding-left:1ex"><div>Confirmed, we haven't implemented inden= t:yes in the JSON serializer in Saxon-JS.<div><br></div><div>Doing a nice i= ndentation 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 t= hings on the same line, e.g.=C2=A0</div><div><br></div><div>{ "name&qu= ot;: ["Michael", "Kay"],</div><div>=C2=A0<span>=C2=A0</= span>"company": "Saxonica"</div><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 certainly apply escaping rules th= at make the result non-conformant.</div><div><br></div><div>Michael Kay</di= v><div>Saxonica</div><div><div><br><blockquote type=3D"cite"><div>On 21 Sep= 2021, at 15:12, Wendell Piez <<a href=3D"mailto:[email protected]"= target=3D"_blank">[email protected]</a>> wrote:</div><br><div><div= dir=3D"ltr">Hello Saxonians,<div><br></div><div>Today I am a bit surprised= to find I get no luck, using SaxonJS in the browser, when trying to serial= ize 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 opti= on available, but unless I am missing something, map{ 'indent':true= () } is not operative.</div><div><br></div><div>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?</div><div><br></= div><div>If this is not supported what is the recommended workaround: perha= ps a JSON serializer is not so hard to write? (I have not thought about it = much.)</div><div><br></div><div>Thanks for any insight 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">wendellpiez.com</a>... ...<a= href=3D"http://pellucidliterature.org/" target=3D"_blank">pellucidliteratu= re.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></div></div>______________________________________= _________<br>saxon-help mailing list archived at<span>=C2=A0</span><a href= =3D"http://saxon.markmail.org/" target=3D"_blank">http://saxon.markmail.org= /</a><br><a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a><br><a href=3D"https://lists.source= forge.net/lists/listinfo/saxon-help" target=3D"_blank">https://lists.source= forge.net/lists/listinfo/saxon-help</a></div></blockquote></div><br></div><= /div>_______________________________________________<br>saxon-help mailing = list archived at<span>=C2=A0</span><a href=3D"http://saxon.markmail.org/" r= el=3D"noreferrer" target=3D"_blank">http://saxon.markmail.org/</a><br><a hr= ef=3D"mailto:[email protected]" target=3D"_blank">saxon-help= @lists.sourceforge.net</a><br><a href=3D"https://lists.sourceforge.net/list= s/listinfo/saxon-help" rel=3D"noreferrer" target=3D"_blank">https://lists.s= ourceforge.net/lists/listinfo/saxon-help</a></blockquote></div><br clear=3D= "all"><div><br></div>--<span>=C2=A0</span><br><div dir=3D"ltr">...Wendell P= iez... ...wendell -at- nist -dot- gov...<br>...<a href=3D"http://wendellpie= z.com/" target=3D"_blank">wendellpiez.com</a>... ...<a href=3D"http://pellu= cidliterature.org/" target=3D"_blank">pellucidliterature.org</a>... ...<a h= ref=3D"http://pausepress.org/" target=3D"_blank">pausepress.org</a>...<br>.= ..<a href=3D"http://github.com/wendellpiez." target=3D"_blank">github.com/w= endellpiez.</a>.. ...gitlab.coko.foundation/wendell...<span>=C2=A0</span></= div></blockquote></div><br clear=3D"all" style=3D"font-family:Helvetica;fon= t-size:13px;font-style:normal;font-variant-caps:normal;font-weight:normal;l= etter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;w= hite-space:normal;word-spacing:0px;text-decoration:none"><div 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"><br></div><span style=3D"font-family:Helvetica;font-size:13px;font-style= :normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;t= ext-align:start;text-indent:0px;text-transform:none;white-space:normal;word= -spacing:0px;text-decoration:none;float:none;display:inline">--<span>=C2=A0= </span></span><br style=3D"font-family:Helvetica;font-size:13px;font-style:= normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;te= xt-align:start;text-indent:0px;text-transform:none;white-space:normal;word-= spacing:0px;text-decoration:none"><div dir=3D"ltr" style=3D"font-family:Hel= vetica;font-size:13px;font-style:normal;font-variant-caps:normal;font-weigh= t:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transf= orm:none;white-space:normal;word-spacing:0px;text-decoration:none">...Wende= ll Piez... ...wendell -at- nist -dot- gov...<br>...<a href=3D"http://wendel= lpiez.com/" target=3D"_blank">wendellpiez.com</a>... ...<a href=3D"http://p= ellucidliterature.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.com/wendellpiez." target=3D"_blank">github.c= om/wendellpiez.</a>.. ...gitlab.coko.foundation/wendell...<span>=C2=A0</spa= n></div><span 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;float:none;display:inline">___________________= ____________________________</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"><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;t= ext-transform:none;white-space:normal;word-spacing:0px;text-decoration:none= ;float:none;display:inline">saxon-help mailing list archived at<span>=C2=A0= </span></span><a href=3D"http://saxon.markmail.org/" style=3D"font-family:H= elvetica;font-size:13px;font-style:normal;font-variant-caps:normal;font-wei= ght:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tran= sform:none;white-space:normal;word-spacing:0px" target=3D"_blank">http://sa= xon.markmail.org/</a><br style=3D"font-family:Helvetica;font-size:13px;font= -style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:no= rmal;text-align:start;text-indent:0px;text-transform:none;white-space:norma= l;word-spacing:0px;text-decoration:none"><a href=3D"mailto:saxon-help@lists= .sourceforge.net" style=3D"font-family:Helvetica;font-size:13px;font-style:= normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;te= xt-align:start;text-indent:0px;text-transform:none;white-space:normal;word-= spacing:0px" target=3D"_blank">[email protected]</a><br styl= e=3D"font-family:Helvetica;font-size:13px;font-style:normal;font-variant-ca= ps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-in= dent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decor= ation:none"><a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-h= elp" style=3D"font-family:Helvetica;font-size:13px;font-style:normal;font-v= ariant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:star= t;text-indent:0px;text-transform:none;white-space:normal;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;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;float:none;display:inline"></span></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>...= <a href=3D"http://wendellpiez.com" target=3D"_blank">wendellpiez.com</a>...= ...<a href=3D"http://pellucidliterature.org" target=3D"_blank">pellucidlit= erature.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... </div> _______________________________________________<br>saxon-help mailing list = archived at <a href=3D"http://saxon.markmail.org/" target=3D"_blank">http:/= /saxon.markmail.org/</a><br><a href=3D"mailto:[email protected]= net" target=3D"_blank">[email protected]</a><br><a href=3D"h= ttps://lists.sourceforge.net/lists/listinfo/saxon-help" target=3D"_blank">h= ttps://lists.sourceforge.net/lists/listinfo/saxon-help</a> </div></blockquo= te></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" class=3D"gmail_signature">...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/wendellpiez.</a>.. ...gitlab.coko.foundation/wendell= ... </div> --000000000000920f4b05cca86a15-- --===============8406802723986523194== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============8406802723986523194== 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 --===============8406802723986523194==--