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&#39;s what I&#39;m lookin=
g at exactly. I see &quot;several of the optional features&quot; and I see =
&quot;and not others&quot;.<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&#39;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 &lt;<a href=3D"mailto:mike@sax=
onica.com" target=3D"_blank">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>&gt; 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:&quot;Lucida Sans Unicode&quot;,&quot;Luci=
da Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quot;Lucida=
 Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quo=
t;Lucida Grande&quot;,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:&quot;Lucida Sans Un=
icode&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida S=
ans Unicode&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida Sans Unic=
ode&quot;,&quot;Lucida Grande&quot;,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:&quot;Luci=
da Sans Unicode&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quot;L=
ucida Grande&quot;,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:&quot;Lucida Sans Unico=
de&quot;,&quot;Lucida Grande&quot;,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:&quot;Lucida Sans Unicode&quot;,&quot;Lucida Gra=
nde&quot;,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:&quot;Lucida Sans Unico=
de&quot;,&quot;Lucida Grande&quot;,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 &lt;<a href=3D"mailto:[email protected]" =
target=3D"_blank">[email protected]</a>&gt; 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 &lt;<a href=3D"mailto:wapiez@wendellp=
iez.com" target=3D"_blank">[email protected]</a>&gt; 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&#39;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 &#39;rig=
ht way&#39; 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 &lt;<a href=3D"mailto:michaelkay90=
@gmail.com" target=3D"_blank">[email protected]</a>&gt; 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&#39;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>{ &quot;name&quot;: [&quot;Michael&quot;, &quot;Kay&quot;],</div>=
<div>=C2=A0<span>=C2=A0</span>&quot;company&quot;: &quot;Saxonica&quot;</di=
v><div>}</div><div><br></div><div>It would be tempting to just generate the=
 JSON and then call parse =3D&gt; 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 &lt;<a href=3D"mailt=
o:[email protected]" target=3D"_blank">[email protected]</a>&gt; =
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 &#3=
9;indent&#39; is the option available, but unless I am missing something, m=
ap{ &#39;indent&#39;: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==--