Re: Java with Saxon 9.7 on Redhat

Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> Sat, 27 Nov 2021 01:15:09 +0000
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
--===============2581032867586974474==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_02753DB0-42C9-4D4F-A083-4EDF98073486"


--Apple-Mail=_02753DB0-42C9-4D4F-A083-4EDF98073486
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

This code compiles fine for me under 10.6, so I'm not sure what's going =
on here. I think getUnderlyingValue() has changed to return =
GroundedValue rather than Sequence, but I can't see why that would cause =
your code to fail.

NoSuchMethodError tends to suggest that the method was there in the =
classpath when you compiled the code, but not when you executed it, =
implying that you might have the wrong version of Saxon on your =
classpath.

Michael Kay
Saxonica

> On 26 Nov 2021, at 21:46, Howard Huang (COGECO) =
<[email protected]> wrote:
>=20
> Hello Mike=20
>=20
> I am moving  to Saxon 10.5m, and get following exception ,  if you =
could guide me what I should change for this method=20
>=20
> java.lang.NoSuchMethodError: =
net.sf.saxon.s9api.XdmValue.getUnderlyingValue()Lnet/sf/saxon/om/Sequence
>=20
> and here is class=20
>=20
> public static <T> T toValue(XdmValue value, Class<T> classValue) =
throws SaxonApiException, XPathException {
>    if(classValue !=3D null) {
>       if (XdmValue.class.isAssignableFrom(classValue)) {
>          return (T) value;
>       } else if(Sequence.class.isAssignableFrom(classValue)) {
>          return (T) value.getUnderlyingValue();
>       } else if(Item.class.isAssignableFrom(classValue)) {
>          return (T) value.getUnderlyingValue().head();
>       } else if(String.class.isAssignableFrom(classValue) || =
String[].class.isAssignableFrom(classValue)) {
>          String[] result =3D new String[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) item.getStringValue();
>             }=20
>             result[i++] =3D item.getStringValue();
>          }
>          return (T) result;
>       } else if(Boolean.class.isAssignableFrom(classValue) || =
Boolean[].class.isAssignableFrom(classValue)) {
>          Boolean[] result =3D new Boolean[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) new =
Boolean(((XdmAtomicValue)item).getBooleanValue());
>             }=20
>             result[i++] =3D ((XdmAtomicValue)item).getBooleanValue();
>          }
>          return (T) result;
>       } else if(BigDecimal.class.isAssignableFrom(classValue) || =
BigDecimal[].class.isAssignableFrom(classValue)) {
>          BigDecimal[] result =3D new BigDecimal[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) ((XdmAtomicValue)item).getDecimalValue();
>             }=20
>             result[i++] =3D ((XdmAtomicValue)item).getDecimalValue();
>          }
>          return (T) result;
>       } else if(Double.class.isAssignableFrom(classValue) || =
Double[].class.isAssignableFrom(classValue)) {
>          Double[] result =3D new Double[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) new =
Double(((XdmAtomicValue)item).getDoubleValue());
>             }=20
>             result[i++] =3D ((XdmAtomicValue)item).getDoubleValue();
>          }
>          return (T) result;
>       } else if(Long.class.isAssignableFrom(classValue) || =
Long[].class.isAssignableFrom(classValue)) {
>          Long[] result =3D new Long[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) new =
Long(((XdmAtomicValue)item).getLongValue());
>             }=20
>             result[i++] =3D ((XdmAtomicValue)item).getLongValue();
>          }
>          return (T) result;
>       } else if(Object.class.isAssignableFrom(classValue) || =
Object[].class.isAssignableFrom(classValue)) {
>          Object[] result =3D new Object[value.size()];
>          int i =3D 0;
>          for (XdmItem item : value) {
>             if(!classValue.isArray()) {
>                return (T) ((XdmAtomicValue)item).getValue();
>             }=20
>             result[i++] =3D ((XdmAtomicValue)item).getValue();
>          }
>          return (T) result;
>       }=20
>    }
>    Item item =3D value.getUnderlyingValue().head();
>    return (T)(item !=3D null ? item.getStringValue() : null);
> } =20
>=20
> ------------------------------------------------------------
>=20
> Thanks a lot
>=20
> Howard Huang=20
>=20
> Senior Analyst -- System Integration, CSIL
>=20
> 950 Syscon Road
> Burlington, Ontario  L7R 4S6  Canada
> cogeco.ca <http://www.cogeco.ca/>
> T 289 337-7418   |   289 962-3518
>  <https://www.linkedin.com/company/cogeco-connexion/>           =
<https://www.facebook.com/CogecoQC>      <https://twitter.com/CogecoQC>  =
    <https://www.linkedin.com/company/cogeco-connexion/>
>=20
> On Mon, Apr 26, 2021 at 3:52 AM Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected] =
<mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]>> wrote:
> If you tell us what you are doing, then we can try to help you solve =
it.
>=20
> If there appears to be no result document, then the most likely =
explanation is that the result document exists, but isn't where you =
expect to find it. It would be a good start to tell us how you are =
creating the result document.
>=20
> Incidentally, 9.7 is a rather old release, the current version is =
10.5.
>=20
> Michael Kay
> Saxonica
>=20
>=20
>=20
>> On 26 Apr 2021, at 02:41, Howard Huang (COGECO) =
<[email protected] <mailto:[email protected]>> wrote:
>>=20
>> Hello Deal Michael=20
>>=20
>> What I have found is that seemed there were function issue in the =
java code with Saxon 9.7 as I am moving the existing code that wrote by =
someone who has left company from Windows platform to redhat, and Java =
code did not through any exception, but just not generate the xml =
document by the Processor.
>>=20
>> Therefore I just would like to understand if there maybe some =
dependencies if running on Linux platform.=20
>>=20
>> Your suggestion will be highly appreciated.
>> ------------------------------------------------------------
>>=20
>> Thanks a lot
>>=20
>> Howard Huang=20
>>=20
>> Senior Analyst -- System Integration, CSIL
>> 950 Syscon Road
>> Burlington, Ontario  L7R 4S6  Canada
>> cogeco.ca <http://www.cogeco.ca/>
>> T 289 337-7418   |   289 962-3518
>>  <https://www.linkedin.com/company/cogeco-connexion/>           =
<https://www.facebook.com/CogecoQC>      <https://twitter.com/CogecoQC>  =
    =
<https://www.linkedin.com/company/cogeco-connexion/>______________________=
_________________________
>> saxon-help mailing list archived at http://saxon.markmail.org/ =
<http://saxon.markmail.org/>
>> [email protected] =
<mailto:[email protected]>
>> https://lists.sourceforge.net/lists/listinfo/saxon-help =
<https://lists.sourceforge.net/lists/listinfo/saxon-help>
> _______________________________________________
> saxon-help mailing list archived at http://saxon.markmail.org/ =
<http://saxon.markmail.org/>
> [email protected] =
<mailto:[email protected]>
> https://lists.sourceforge.net/lists/listinfo/saxon-help =
<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


--Apple-Mail=_02753DB0-42C9-4D4F-A083-4EDF98073486
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">This =
code compiles fine for me under 10.6, so I'm not sure what's going on =
here. I think getUnderlyingValue() has changed to return GroundedValue =
rather than Sequence, but I can't see why that would cause your code to =
fail.<div class=3D""><br class=3D""></div><div =
class=3D"">NoSuchMethodError tends to suggest that the method was there =
in the classpath when you compiled the code, but not when you executed =
it, implying that you might have the wrong version of Saxon on your =
classpath.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Michael Kay</div><div class=3D"">Saxonica<br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On 26 Nov 2021, at 21:46, Howard Huang (COGECO) &lt;<a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" =
class=3D"">Hello Mike&nbsp;<div class=3D""><br class=3D""></div><div =
class=3D"">I am moving&nbsp; to Saxon 10.5m, and get following exception =
,&nbsp; if you could guide&nbsp;me what I should change for this =
method&nbsp;</div><div class=3D""><br class=3D""></div><div =
class=3D"">java.lang.NoSuchMethodError: =
net.sf.saxon.s9api.XdmValue.getUnderlyingValue()Lnet/sf/saxon/om/Sequence<=
/div><div class=3D""><br class=3D""></div><div class=3D"">and here is =
class&nbsp;</div><div class=3D""><br class=3D""></div><div class=3D""><pre=
 style=3D"color:rgb(8,8,8);font-family:&quot;JetBrains =
Mono&quot;,monospace;font-size:9.8pt" class=3D""><span =
style=3D"color:rgb(0,51,179)" class=3D"">public static </span>&lt;<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>&gt; <span =
style=3D"color:rgb(0,126,138)" class=3D"">T </span><span =
style=3D"color:rgb(0,98,122)" class=3D"">toValue</span>(<span style=3D"" =
class=3D"">XdmValue </span>value, <span style=3D"" =
class=3D"">Class</span>&lt;<span style=3D"color:rgb(0,126,138)" =
class=3D"">T</span>&gt; classValue) <span style=3D"color:rgb(0,51,179)" =
class=3D"">throws </span><span style=3D"" =
class=3D"">SaxonApiException</span>, <span style=3D"" =
class=3D"">XPathException </span>{<br class=3D"">   <span =
style=3D"color:rgb(0,51,179)" class=3D"">if</span>(classValue !=3D <span =
style=3D"color:rgb(0,51,179)" class=3D"">null</span>) {<br class=3D"">   =
   <span style=3D"color:rgb(0,51,179)" class=3D"">if </span>(<span =
style=3D"" class=3D"">XdmValue</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) =
value;<br class=3D"">      } <span style=3D"color:rgb(0,51,179)" =
class=3D"">else if</span>(<span style=3D"" =
class=3D"">Sequence</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) =
value.getUnderlyingValue();<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">Item</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) =
value.getUnderlyingValue().head();<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">String</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">String</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">String</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>String[value.size()];<br class=3D"">         <span =
style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span style=3D"" =
class=3D"">item</span>.getStringValue();<br class=3D"">            } <br =
class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =3D =
<span style=3D"" class=3D"">item</span>.getStringValue();<br class=3D""> =
        }<br class=3D"">         <span style=3D"color:rgb(0,51,179)" =
class=3D"">return </span>(<span style=3D"color:rgb(0,126,138)" =
class=3D"">T</span>) <span style=3D"" class=3D"">result</span>;<br =
class=3D"">      } <span style=3D"color:rgb(0,51,179)" class=3D"">else =
if</span>(<span style=3D"" class=3D"">Boolean</span>.<span =
style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">Boolean</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">Boolean</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>Boolean[value.size()];<br class=3D"">         =
<span style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"color:rgb(0,51,179)" class=3D"">new </span>Boolean(((<span =
style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getBooleanValue());<br class=3D"">            } =
<br class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =
=3D ((<span style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getBooleanValue();<br class=3D"">         }<br =
class=3D"">         <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"" class=3D"">result</span>;<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">BigDecimal</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">BigDecimal</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">BigDecimal</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>BigDecimal[value.size()];<br class=3D"">         =
<span style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) ((<span style=3D"" =
class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getDecimalValue();<br class=3D"">            } =
<br class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =
=3D ((<span style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getDecimalValue();<br class=3D"">         }<br =
class=3D"">         <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"" class=3D"">result</span>;<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">Double</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">Double</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">Double</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>Double[value.size()];<br class=3D"">         <span =
style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"color:rgb(0,51,179)" class=3D"">new </span>Double(((<span =
style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getDoubleValue());<br class=3D"">            } =
<br class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =
=3D ((<span style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getDoubleValue();<br class=3D"">         }<br =
class=3D"">         <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"" class=3D"">result</span>;<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">Long</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">Long</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">Long</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>Long[value.size()];<br class=3D"">         <span =
style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"color:rgb(0,51,179)" class=3D"">new </span>Long(((<span =
style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getLongValue());<br class=3D"">            } <br =
class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =3D =
((<span style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getLongValue();<br class=3D"">         }<br =
class=3D"">         <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"" class=3D"">result</span>;<br class=3D"">      } <span =
style=3D"color:rgb(0,51,179)" class=3D"">else if</span>(<span style=3D"" =
class=3D"">Object</span>.<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue) || <span style=3D"" =
class=3D"">Object</span>[].<span style=3D"color:rgb(0,51,179)" =
class=3D"">class</span>.isAssignableFrom(classValue)) {<br class=3D"">   =
      <span style=3D"" class=3D"">Object</span>[] <span style=3D"" =
class=3D"">result </span>=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">new </span>Object[value.size()];<br class=3D"">         <span =
style=3D"color:rgb(0,51,179)" class=3D"">int </span>i =3D <span =
style=3D"color:rgb(23,80,235)" class=3D"">0</span>;<br class=3D"">       =
  <span style=3D"color:rgb(0,51,179)" class=3D"">for </span>(<span =
style=3D"" class=3D"">XdmItem item </span>: value) {<br class=3D"">      =
      <span style=3D"color:rgb(0,51,179)" =
class=3D"">if</span>(!classValue.isArray()) {<br class=3D"">             =
  <span style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>) ((<span style=3D"" =
class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getValue();<br class=3D"">            } <br =
class=3D"">            <span style=3D"" class=3D"">result</span>[i++] =3D =
((<span style=3D"" class=3D"">XdmAtomicValue</span>)<span style=3D"" =
class=3D"">item</span>).getValue();<br class=3D"">         }<br =
class=3D"">         <span style=3D"color:rgb(0,51,179)" class=3D"">return =
</span>(<span style=3D"color:rgb(0,126,138)" class=3D"">T</span>) <span =
style=3D"" class=3D"">result</span>;<br class=3D"">      } <br class=3D"">=
   }<br class=3D"">   <span style=3D"" class=3D"">Item item </span>=3D =
value.getUnderlyingValue().head();<br class=3D"">   <span =
style=3D"color:rgb(0,51,179)" class=3D"">return </span>(<span =
style=3D"color:rgb(0,126,138)" class=3D"">T</span>)(<span style=3D"" =
class=3D"">item </span>!=3D <span style=3D"color:rgb(0,51,179)" =
class=3D"">null </span>? <span style=3D"" =
class=3D"">item</span>.getStringValue() : <span =
style=3D"color:rgb(0,51,179)" class=3D"">null</span>);<br class=3D"">}  =
</pre></div><div class=3D""><br clear=3D"all" class=3D""><div =
class=3D""><div dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr" class=3D""><div =
dir=3D"ltr" class=3D""><div dir=3D"ltr" class=3D""><div dir=3D"ltr" =
class=3D""><div dir=3D"ltr" class=3D""><p class=3D""><i class=3D""><font =
color=3D"#073763" =
class=3D"">------------------------------------------------------------</f=
ont></i></p><p class=3D""><i class=3D""><font color=3D"#073763" =
class=3D"">Thanks a lot</font></i></p><p class=3D""><span =
style=3D"background-color:transparent;color:rgb(6,68,128);font-family:Aria=
l;font-size:11.5pt;font-weight:700;white-space:pre-wrap" class=3D"">Howard=
 Huang </span></p><p class=3D""><i class=3D""><font color=3D"#073763" =
class=3D"">Senior Analyst -- System Integration, CSIL</font></i><br =
class=3D""></p><div style=3D"line-height: 1.656; margin-top: 0pt; =
margin-bottom: 0pt;" class=3D""><span =
style=3D"background-color:transparent;color:rgb(6,68,128);font-family:Aria=
l;font-size:8.5pt;white-space:pre-wrap" class=3D"">950 Syscon =
Road</span></div><div style=3D"line-height: 1.44; margin-top: 0pt; =
margin-bottom: 0pt;" class=3D""><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">Burlington, Ontario &nbsp;L7R 4S6  Canada</span></div><div =
style=3D"line-height: 1.44; margin-top: 0pt; margin-bottom: 0pt;" =
class=3D""><span =
style=3D"text-decoration:underline;font-size:8.5pt;font-family:Arial;color=
:rgb(35,165,220);background-color:transparent;font-weight:400;font-style:n=
ormal;font-variant:normal;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><a href=3D"http://www.cogeco.ca/" =
style=3D"text-decoration:none" target=3D"_blank" =
class=3D"">cogeco.ca</a></span></div><div style=3D"line-height: 1.2; =
margin-top: 0pt; margin-bottom: 0pt;" class=3D""><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:700;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">T</span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> </span><span =
style=3D"font-size:8.5pt;font-family:Arial;background-color:transparent;fo=
nt-weight:400;font-style:normal;font-variant:normal;text-decoration:none;v=
ertical-align:baseline;white-space:pre-wrap" class=3D""><font =
color=3D"#0000ff" class=3D"">289 337-7418</font></span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;|  </span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:700;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">&nbsp;</span><span =
style=3D"font-size:8.5pt;font-family:Arial;font-weight:700;font-style:norm=
al;font-variant:normal;text-decoration:none;vertical-align:baseline;white-=
space:pre-wrap;background-color:rgb(238,238,238)" class=3D""><font =
color=3D"#0000ff" class=3D"">289 962-3518</font></span></div><div =
style=3D"line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;" =
class=3D""><a href=3D"https://www.linkedin.com/company/cogeco-connexion/" =
style=3D"text-decoration:none" target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/ZFB4Ru8ilSUM0lnVswA6smRcZGQVBX1oc=
HR18ryAF_uMOuF0CudiWg1AEH8yhUdGn2elDnpMDMNfvvnvegbiZWR9ynAg5q_QTuOTz8z8IoA=
R-rUcU29J3cYMN-IaSA-wskuY-yrY" width=3D"39" height=3D"39" =
style=3D"border:none" class=3D""></span></a><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(0,0,255);background-c=
olor:transparent;font-weight:700;font-style:normal;font-variant:normal;tex=
t-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh4.googleusercontent.com/TAhB68KS0o7pTPbCQ7bKPLzH0jjm4GZSK=
6Lz78zWi-WybqBVTi1o1c87IKmmRijOMWwQj8PUaHwXbPa9QwYA53ECV0e8CsY2jB0y_eFSbNK=
YtJDcMez1BjAILyTUlD9p5VC24I4n" width=3D"124" height=3D"44" =
style=3D"border:none" class=3D""></span><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://www.facebook.com/CogecoQC" style=3D"text-decoration:none" =
target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/1l-0kE_v07ed_9oW_cjcksDv0jrNS_eBz=
elAiAxBbgbjD_NifFe5dFtkj4XV2G-T1z9je3VoOr6em77dCpEKR61S6oAb5NqQrU2KvFB9BGi=
etUM66NVfjQZeStysBmMJ6pqvwx3F" width=3D"33" height=3D"35" =
style=3D"border:none" class=3D""></span></a><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://twitter.com/CogecoQC" style=3D"text-decoration:none" =
target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh3.googleusercontent.com/JPn9s9CkvSGaQAdLxfyBxTvQWP9WphEi2=
_lCqIaN34zJw3bkyiYL50AT0BZZpjCY5LaOJk8FmG6m62_2_PoKeN_BOyx9e0yOhVJ9GMpaCGb=
IKUPSgm0nUkgRtiw_p-9fIjMTk8BO" width=3D"35" height=3D"36" =
style=3D"border:none" class=3D""></span></a><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://www.linkedin.com/company/cogeco-connexion/" =
style=3D"text-decoration:none" target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/ZFB4Ru8ilSUM0lnVswA6smRcZGQVBX1oc=
HR18ryAF_uMOuF0CudiWg1AEH8yhUdGn2elDnpMDMNfvvnvegbiZWR9ynAg5q_QTuOTz8z8IoA=
R-rUcU29J3cYMN-IaSA-wskuY-yrY" width=3D"39" height=3D"39" =
style=3D"border:none" =
class=3D""></span></a></div></div></div></div></div></div></div></div><br =
class=3D""></div></div><br class=3D""><div class=3D"gmail_quote"><div =
dir=3D"ltr" class=3D"gmail_attr">On Mon, Apr 26, 2021 at 3:52 AM Michael =
Kay &lt;<a href=3D"mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]" =
class=3D"">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>&gt; wrote:<br =
class=3D""></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 style=3D"overflow-wrap: =
break-word;" class=3D"">If you tell us what you are doing, then we can =
try to help you solve it.<div class=3D""><br class=3D""></div><div =
class=3D"">If there appears to be no result document, then the most =
likely explanation is that the result document exists, but isn't where =
you expect to find it. It would be a good start to tell us how you are =
creating the result document.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Incidentally, 9.7 is a rather old =
release, the current version is 10.5.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Michael Kay</div><div =
class=3D"">Saxonica<br class=3D""><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""><div class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D"">On 26 =
Apr 2021, at 02:41, Howard Huang (COGECO) &lt;<a =
href=3D"mailto:[email protected]" target=3D"_blank" =
class=3D"">[email protected]</a>&gt; wrote:</div><br class=3D""><div=
 class=3D""><div dir=3D"ltr" class=3D"">Hello Deal Michael&nbsp;<div =
class=3D""><br class=3D""></div><div class=3D"">What I have found is =
that seemed there were function issue in the java code with Saxon 9.7 as =
I am moving the existing code that wrote by someone who&nbsp;has left =
company from Windows platform&nbsp;to redhat, and Java code did not =
through any exception, but just not generate the xml document by the =
Processor.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Therefore I just would like to understand if there maybe some =
dependencies if running on Linux platform.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">Your suggestion will be&nbsp;highly =
appreciated.<br clear=3D"all" class=3D""><div class=3D""><div dir=3D"ltr" =
class=3D""><div dir=3D"ltr" class=3D""><div dir=3D"ltr" class=3D""><div =
dir=3D"ltr" class=3D""><div dir=3D"ltr" class=3D""><div dir=3D"ltr" =
class=3D""><p class=3D""><i class=3D""><font color=3D"#073763" =
class=3D"">------------------------------------------------------------</f=
ont></i></p><p class=3D""><i class=3D""><font color=3D"#073763" =
class=3D"">Thanks a lot</font></i></p><p class=3D""><span =
style=3D"background-color:transparent;color:rgb(6,68,128);font-family:Aria=
l;font-size:11.5pt;font-weight:700;white-space:pre-wrap" class=3D"">Howard=
 Huang </span></p><div =
style=3D"line-height:1.656;margin-top:0pt;margin-bottom:0pt" class=3D""><i=
 class=3D""><font color=3D"#073763" class=3D"">Senior Analyst -- System =
Integration, CSIL</font></i></div><div =
style=3D"line-height:1.656;margin-top:0pt;margin-bottom:0pt" =
class=3D""><span =
style=3D"background-color:transparent;color:rgb(6,68,128);font-family:Aria=
l;font-size:8.5pt;white-space:pre-wrap" class=3D"">950 Syscon =
Road</span></div><div =
style=3D"line-height:1.44;margin-top:0pt;margin-bottom:0pt" =
class=3D""><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">Burlington, Ontario &nbsp;L7R 4S6  Canada</span></div><div =
style=3D"line-height:1.44;margin-top:0pt;margin-bottom:0pt" =
class=3D""><span =
style=3D"text-decoration:underline;font-size:8.5pt;font-family:Arial;color=
:rgb(35,165,220);background-color:transparent;font-weight:400;font-style:n=
ormal;font-variant:normal;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><a href=3D"http://www.cogeco.ca/" =
style=3D"text-decoration:none" target=3D"_blank" =
class=3D"">cogeco.ca</a></span></div><div =
style=3D"line-height:1.2;margin-top:0pt;margin-bottom:0pt" =
class=3D""><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:700;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">T</span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> </span><span =
style=3D"font-size:8.5pt;font-family:Arial;background-color:transparent;fo=
nt-weight:400;font-style:normal;font-variant:normal;text-decoration:none;v=
ertical-align:baseline;white-space:pre-wrap" class=3D""><font =
color=3D"#0000ff" class=3D"">289 337-7418</font></span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;|  </span><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(6,68,128);background-=
color:transparent;font-weight:700;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D"">&nbsp;</span><span =
style=3D"font-size:8.5pt;font-family:Arial;font-weight:700;font-style:norm=
al;font-variant:normal;text-decoration:none;vertical-align:baseline;white-=
space:pre-wrap;background-color:rgb(238,238,238)" class=3D""><font =
color=3D"#0000ff" class=3D"">289 962-3518</font></span></div><div =
style=3D"line-height:1.2;margin-top:0pt;margin-bottom:0pt" class=3D""><a =
href=3D"https://www.linkedin.com/company/cogeco-connexion/" =
style=3D"text-decoration:none" target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/ZFB4Ru8ilSUM0lnVswA6smRcZGQVBX1oc=
HR18ryAF_uMOuF0CudiWg1AEH8yhUdGn2elDnpMDMNfvvnvegbiZWR9ynAg5q_QTuOTz8z8IoA=
R-rUcU29J3cYMN-IaSA-wskuY-yrY" width=3D"39" height=3D"39" style=3D"border:=
 none;" class=3D""></span></a><span =
style=3D"font-size:8.5pt;font-family:Arial;color:rgb(0,0,255);background-c=
olor:transparent;font-weight:700;font-style:normal;font-variant:normal;tex=
t-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh4.googleusercontent.com/TAhB68KS0o7pTPbCQ7bKPLzH0jjm4GZSK=
6Lz78zWi-WybqBVTi1o1c87IKmmRijOMWwQj8PUaHwXbPa9QwYA53ECV0e8CsY2jB0y_eFSbNK=
YtJDcMez1BjAILyTUlD9p5VC24I4n" width=3D"124" height=3D"44" =
style=3D"border: none;" class=3D""></span><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://www.facebook.com/CogecoQC" style=3D"text-decoration:none" =
target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/1l-0kE_v07ed_9oW_cjcksDv0jrNS_eBz=
elAiAxBbgbjD_NifFe5dFtkj4XV2G-T1z9je3VoOr6em77dCpEKR61S6oAb5NqQrU2KvFB9BGi=
etUM66NVfjQZeStysBmMJ6pqvwx3F" width=3D"33" height=3D"35" style=3D"border:=
 none;" class=3D""></span></a><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://twitter.com/CogecoQC" style=3D"text-decoration:none" =
target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh3.googleusercontent.com/JPn9s9CkvSGaQAdLxfyBxTvQWP9WphEi2=
_lCqIaN34zJw3bkyiYL50AT0BZZpjCY5LaOJk8FmG6m62_2_PoKeN_BOyx9e0yOhVJ9GMpaCGb=
IKUPSgm0nUkgRtiw_p-9fIjMTk8BO" width=3D"35" height=3D"36" style=3D"border:=
 none;" class=3D""></span></a><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(34,34,34);background-=
color:transparent;font-weight:400;font-style:normal;font-variant:normal;te=
xt-decoration:none;vertical-align:baseline;white-space:pre-wrap" =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;</span><a =
href=3D"https://www.linkedin.com/company/cogeco-connexion/" =
style=3D"text-decoration:none" target=3D"_blank" class=3D""><span =
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(17,85,204);background=
-color:transparent;font-weight:400;font-style:normal;font-variant:normal;t=
ext-decoration:underline;vertical-align:baseline;white-space:pre-wrap" =
class=3D""><img =
src=3D"https://lh5.googleusercontent.com/ZFB4Ru8ilSUM0lnVswA6smRcZGQVBX1oc=
HR18ryAF_uMOuF0CudiWg1AEH8yhUdGn2elDnpMDMNfvvnvegbiZWR9ynAg5q_QTuOTz8z8IoA=
R-rUcU29J3cYMN-IaSA-wskuY-yrY" width=3D"39" height=3D"39" style=3D"border:=
 none;" =
class=3D""></span></a></div></div></div></div></div></div></div></div></di=
v></div>
_______________________________________________<br class=3D"">saxon-help =
mailing list archived at <a href=3D"http://saxon.markmail.org/" =
target=3D"_blank" class=3D"">http://saxon.markmail.org/</a><br =
class=3D""><a href=3D"mailto:[email protected]" =
target=3D"_blank" class=3D"">[email protected]</a><br =
class=3D""><a =
href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" =
target=3D"_blank" =
class=3D"">https://lists.sourceforge.net/lists/listinfo/saxon-help</a> =
</div></blockquote></div><br =
class=3D""></div></div></div>_____________________________________________=
__<br class=3D"">
saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/"=
 rel=3D"noreferrer" target=3D"_blank" =
class=3D"">http://saxon.markmail.org/</a><br class=3D"">
<a href=3D"mailto:[email protected]" target=3D"_blank" =
class=3D"">[email protected]</a><br class=3D"">
<a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" =
rel=3D"noreferrer" target=3D"_blank" =
class=3D"">https://lists.sourceforge.net/lists/listinfo/saxon-help</a> =
</blockquote></div>
_______________________________________________<br class=3D"">saxon-help =
mailing list archived at <a href=3D"http://saxon.markmail.org/" =
class=3D"">http://saxon.markmail.org/</a><br class=3D""><a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a><br =
class=3D"">https://lists.sourceforge.net/lists/listinfo/saxon-help =
</div></blockquote></div><br class=3D""></div></body></html>=

--Apple-Mail=_02753DB0-42C9-4D4F-A083-4EDF98073486--


--===============2581032867586974474==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2581032867586974474==
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 
--===============2581032867586974474==--