Re: Questions about the barcode4j extension for saxon
Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]> Thu, 3 Feb 2022 21:22:21 +0000
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <[email protected]> |
--===============2561242514824278200== Content-Type: multipart/alternative; boundary="Apple-Mail=_DEE732D4-A8C7-47E0-BAAB-8876C5710672" --Apple-Mail=_DEE732D4-A8C7-47E0-BAAB-8876C5710672 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >=20 > Saxon 8.7 dates from 2006 and is ancient history, I'm afraid - I found = 8.7.3 on SourceForge, but it's so long ago that I've no idea whether an = extension like this would have required the commercial edition of the = software (which was then called Saxon-SA). My guess would be that the = failure is a classpath issue - it didn't find the class = "org.krysalis.barcode4j.saxon8.BarcodeExtensionElementFactory" on the = classpath. Trying from the command line, to get Ant out of the picture, = might be a good idea. >=20 > My instinct is to try and get it working on Saxon 10 rather than = trying to get the original release working. There have been a lot of = changes over the years, of course, and a few things would need changing, = but it seems a more productive approach for taking things forward into = the future. (I tried downloading the source of 8.7.3 from sourceforge - = it downloaded OK but I'm having trouble unzipping it. That's not going = to be the last of the problems). >=20 > Element extensibility has never been particularly well documented, and = the main "tutorial" material is the source code of the SQL extension = which ships with Saxon. It'c certainly an area where there have been = changes over the years. >=20 > Michael Kay > Saxonica >=20 >=20 >> On 3 Feb 2022, at 14:48, Carl Buxbaum via saxon-help = <[email protected] = <mailto:[email protected]>> wrote: >>=20 >> Hello, >> =20 >> We have been working with barcode4j and xalan for a while now, and = because of the need for xslt 2.0 features, are considering moving to = saxon. >> =20 >> Our two compatibility requirements are to be able to use the xslt = date-time functions, and the barcode4j fop extension. >> =20 >> Unfortunately, with whichever saxon version I try (8.7, 8.8, 9.x), I = get the error: >> =20 >> SystemID: = file:/usr/local/apache-tomcat-9.0.52/webapps/plm-dev2021r2/xsl/NonSpecific= CartonLabel.xsl; Line#: 208; Column#: -1 >> net.sf.saxon.trans.DynamicError: Unknown extension element >> at = net.sf.saxon.expr.ErrorExpression.evaluateItem(ErrorExpression.java:53) >> at = net.sf.saxon.expr.ErrorExpression.iterate(ErrorExpression.java:66) >> at = net.sf.saxon.expr.ComputedExpression.process(ComputedExpression.java:584) >> =20 >> I build the barcode fop extension by placing saxon-8x.jar (renamed = saxon8.jar) and the saxon-dom-8x.jar in the lib dir of the barcode4j = dist and run ant. Everything seems to work fine, but my embedded = implementation when I place the resulting jar in our application, = produces the above result. >> =20 >> Additionally, I get the same exact message result (without the = stacktrace) if I cd into the examples/saxon8 dir and run the batch file. >> =20 >> I understand that implementation would require purchase of a license = (is that what is going on here with an 8.x version?), but I thought I = could prove the viability of this to myself at least. >> =20 >> I had difficulty finding saxon 8.7.1, but did find 8.8 for this. >> =20 >> Is there some working example that I could follow with or without an = evaluation license (which I have requested)? >> =20 >> Here is the xslt from the saxon8 barcode4j example: >> =20 >> <?xml version=3D"1.0" encoding=3D"UTF-8"?> >> <xsl:stylesheet version=3D"1.0" = xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform = <http://www.w3.org/1999/XSL/Transform>" = xmlns:barcode=3D"java:/org.krysalis.barcode4j.saxon8.BarcodeExtensionEleme= ntFactory" extension-element-prefixes=3D"barcode"> >> <xsl:output method=3D"xml" version=3D"1.0" encoding=3D"UTF-8" = indent=3D"yes"/> >> =20 >> <xsl:template match=3D"barcode"> >> <svg xmlns=3D"http://www.w3.org/2000/svg = <http://www.w3.org/2000/svg>" width=3D"5cm" height=3D"3.2cm"> >> <barcode:barcode message=3D"{.}"> >> <barcode:postnet/> >> </barcode:barcode> >> <text x=3D"2.5cm" y=3D"3cm" text-anchor=3D"middle">Barcode4J = example: Postnet</text> >> </svg> >> </xsl:template> >> </xsl:stylesheet> >> =20 >> =20 >> And the xml is just: >> =20 >> <?xml version=3D"1.0" encoding=3D"UTF-8"?> >> <barcode>123456</barcode> >> =20 >> Thanks! >> =20 >> Carl Buxbaum =E2=80=A2 Senior Software Architect >> 17 Rogers St, Gloucester, MA 01930 >> P: 617.678.8644 E: cbuxbaum-tDozk5wbF8wj5TC/[email protected] = <mailto:cbuxbaum-tDozk5wbF8wj5TC/[email protected]> >> =20 >> <image001.png> <https://www.bamboorose.com/> <image002.png> = <http://www.facebook.com/BambooRoseCommunity> <image003.png> = <https://www.linkedin.com/company/2814733> <image004.png> = <https://twitter.com/GoBambooRose> <image005.png> = <https://www.bamboorose.com/blog/> >> =20 >> The Leading Retail Platform to Discover, Develop, and Deliver = Products @ Digital Speed >> =20 >> =20 >> =20 >> DISCLAIMER: >> E-mails and attachments from Bamboo Rose, LLC are confidential. >> If you are not the intended recipient, please notify the sender = immediately by replying to the e-mail, and then delete it without making = copies or using it in any way. >> No representation is made that this email or any attachments are free = of viruses. Virus scanning is recommended and is the responsibility of = the recipient. >>=20 >>=20 >> Disclaimer >>=20 >> The information contained in this communication from the sender is = confidential. It is intended solely for use by the recipient and others = authorized to receive it. If you are not the recipient, you are hereby = notified that any disclosure, copying, distribution or taking action in = relation of the contents of this information is strictly prohibited and = may be unlawful. >>=20 >> This email has been scanned for viruses and malware, and may have = been automatically archived by Mimecast Ltd, an innovator in Software as = a Service (SaaS) for business. Providing a safer and more useful place = for your human generated data. Specializing in; Security, archiving and = compliance. To find out more Click Here = <http://www.mimecast.com/products/>. >>=20 >> _______________________________________________ >> 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> --Apple-Mail=_DEE732D4-A8C7-47E0-BAAB-8876C5710672 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br = class=3D""><div><blockquote type=3D"cite" class=3D""><br class=3D""><div = class=3D""><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8" class=3D""><div style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Saxon= 8.7 dates from 2006 and is ancient history, I'm afraid - I found 8.7.3 = on SourceForge, but it's so long ago that I've no idea whether an = extension like this would have required the commercial edition of the = software (which was then called Saxon-SA). My guess would be that the = failure is a classpath issue - it didn't find the class "<span = style=3D"font-family: Menlo; font-size: 8.5pt; background-color: white;" = class=3D"">org.krysalis.barcode4j.saxon8.BarcodeExtensionElementFactory" = on the classpath</span>. Trying from the command line, to get Ant out of = the picture, might be a good idea.<br class=3D""><div class=3D""><br = class=3D""></div><div class=3D"">My instinct is to try and get it = working on Saxon 10 rather than trying to get the original release = working. There have been a lot of changes over the years, of course, and = a few things would need changing, but it seems a more productive = approach for taking things forward into the future. (I tried downloading = the source of 8.7.3 from sourceforge - it downloaded OK but I'm having = trouble unzipping it. That's not going to be the last of the = problems).</div><div class=3D""><br class=3D""></div><div = class=3D"">Element extensibility has never been particularly well = documented, and the main "tutorial" material is the source code of the = SQL extension which ships with Saxon. It'c certainly an area where there = have been changes over the years.</div><div class=3D""><br = class=3D""></div><div class=3D"">Michael Kay</div><div = class=3D"">Saxonica</div><div class=3D""><br class=3D""></div><div = class=3D""><br class=3D""><div class=3D""><blockquote type=3D"cite" = class=3D""><div class=3D"">On 3 Feb 2022, at 14:48, Carl Buxbaum via = saxon-help <<a href=3D"mailto:[email protected]" = class=3D"">[email protected]</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><meta = charset=3D"UTF-8" class=3D""><div class=3D"WordSection1" style=3D"page: = WordSection1; caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: = none;"><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D"">Hello,<o:p class=3D""></o:p></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D"">We have been working with barcode4j and xalan = for a while now, and because of the need for xslt 2.0 features, are = considering moving to saxon.<o:p class=3D""></o:p></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D"">Our two compatibility requirements are to be = able to use the xslt date-time functions, and the barcode4j fop = extension.<o:p class=3D""></o:p></div><div style=3D"margin: 0in; = font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p = class=3D""> </o:p></div><div style=3D"margin: 0in; font-size: 11pt; = font-family: Calibri, sans-serif;" class=3D"">Unfortunately, with = whichever saxon version I try (8.7, 8.8, 9.x), I get the error:<o:p = class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; = font-family: Calibri, sans-serif;" class=3D""><o:p = class=3D""> </o:p></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">SystemID: = file:/usr/local/apache-tomcat-9.0.52/webapps/plm-dev2021r2/xsl/NonSpecific= CartonLabel.xsl; Line#: 208; Column#: -1</span><o:p = class=3D""></o:p></div><div style=3D"margin: 0in; background-color: = white; font-size: 8.5pt; font-family: Menlo;" class=3D""><span = class=3D"s1">net.sf.saxon.trans.DynamicError: Unknown extension = element</span><o:p class=3D""></o:p></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"apple-converted-space"> = <span class=3D"Apple-converted-space"> </span></span><span = class=3D"s1">at = net.sf.saxon.expr.ErrorExpression.evaluateItem(ErrorExpression.java:53)</s= pan><o:p class=3D""></o:p></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"apple-converted-space"> = <span class=3D"Apple-converted-space"> </span></span><span = class=3D"s1">at = net.sf.saxon.expr.ErrorExpression.iterate(ErrorExpression.java:66)</span><= o:p class=3D""></o:p></div><div style=3D"margin: 0in; background-color: = white; font-size: 8.5pt; font-family: Menlo;" class=3D""><span = class=3D"apple-converted-space"> <span = class=3D"Apple-converted-space"> </span></span><span class=3D"s1">at = net.sf.saxon.expr.ComputedExpression.process(ComputedExpression.java:584)<= o:p class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">I build the barcode fop extension by = placing saxon-8x.jar (renamed saxon8.jar) and the saxon-dom-8x.jar in = the lib dir of the barcode4j dist and run ant. Everything seems to = work fine, but my embedded implementation when I place the resulting jar = in our application, produces the above result.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">Additionally, I get the same exact message = result (without the stacktrace) if I cd into the examples/saxon8 dir and = run the batch file.<o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">I understand that implementation would = require purchase of a license (is that what is going on here with an 8.x = version?), but I thought I could prove the viability of this to myself = at least.<o:p class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">I had difficulty finding saxon 8.7.1, but = did find 8.8 for this.<o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">Is there some working example that I could = follow with or without an evaluation license (which I have = requested)?<o:p class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">Here is the xslt from the saxon8 barcode4j = example:<o:p class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><?xml version=3D"1.0" = encoding=3D"UTF-8"?><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span class=3D"s1"><xsl:stylesheet = version=3D"1.0" xmlns:xsl=3D"<a = href=3D"http://www.w3.org/1999/XSL/Transform" = class=3D"">http://www.w3.org/1999/XSL/Transform</a>" = xmlns:barcode=3D"java:/org.krysalis.barcode4j.saxon8.BarcodeExtensionEleme= ntFactory" extension-element-prefixes=3D"barcode"><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"> <xsl:output method=3D"xml" = version=3D"1.0" encoding=3D"UTF-8" indent=3D"yes"/><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"> <xsl:template = match=3D"barcode"><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span class=3D"s1"> = <svg xmlns=3D"<a href=3D"http://www.w3.org/2000/svg" = class=3D"">http://www.w3.org/2000/svg</a>" width=3D"5cm" = height=3D"3.2cm"><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span = class=3D"s1"> <barcode:barcode = message=3D"{.}"><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span = class=3D"s1"> = <barcode:postnet/><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span = class=3D"s1"> </barcode:barcode><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"> <text = x=3D"2.5cm" y=3D"3cm" text-anchor=3D"middle">Barcode4J example: = Postnet</text><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span class=3D"s1"> = </svg><o:p class=3D""></o:p></span></div><div style=3D"margin: = 0in; background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"> </xsl:template><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"></xsl:stylesheet><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">And the xml is just:<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><?xml version=3D"1.0" = encoding=3D"UTF-8"?></span><o:p class=3D""></o:p></div><div = style=3D"margin: 0in; background-color: white; font-size: 8.5pt; = font-family: Menlo;" class=3D""><span = class=3D"s1"><barcode>123456</barcode><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1">Thanks!<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p = class=3D""> </o:p></div><div class=3D""><div class=3D""><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; = background-color: white;" class=3D""><b class=3D""><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D"">Carl Buxbaum </span></b><span style=3D"font-family: = inherit; border: 1pt none windowtext; padding: 0in;" = class=3D"">=E2=80=A2 </span><b class=3D""><span = style=3D"font-family: inherit; color: rgb(192, 0, 0); border: 1pt none = windowtext; padding: 0in;" class=3D"">Senior Software = Architect</span></b><span style=3D"font-size: 12pt; color: rgb(32, 31, = 30);" class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: = 0in; font-size: 11pt; font-family: Calibri, sans-serif; = background-color: white;" class=3D""><span style=3D"font-family: = inherit; color: rgb(118, 113, 113); border: 1pt none windowtext; = padding: 0in;" class=3D"">17 Rogers St, Gloucester, MA 01930</span><span = style=3D"font-size: 12pt; color: rgb(32, 31, 30);" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif; background-color: white;" = class=3D""><span style=3D"font-family: inherit; color: rgb(118, 113, = 113); border: 1pt none windowtext; padding: 0in;" class=3D"">P: = 617.678.8644 E: </span><u class=3D""><span = style=3D"font-family: inherit; color: rgb(149, 79, 114); border: 1pt = none windowtext; padding: 0in;" class=3D""><a = href=3D"mailto:cbuxbaum-tDozk5wbF8wj5TC/[email protected]" target=3D"_blank" class=3D""><span= style=3D"color: rgb(5, 99, 193);" = class=3D"">cbuxbaum-tDozk5wbF8wj5TC/[email protected]</span></a></span></u><span = style=3D"font-size: 12pt; color: rgb(32, 31, 30);" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif; background-color: white;" = class=3D""><span style=3D"font-family: inherit; border: 1pt none = windowtext; padding: 0in;" class=3D""> </span><span = style=3D"font-size: 12pt; color: rgb(32, 31, 30);" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif; background-color: white; = vertical-align: baseline;" class=3D""><span style=3D"" class=3D""><a = href=3D"https://www.bamboorose.com/" target=3D"_blank" class=3D""><span = style=3D"text-decoration: none;" class=3D""><span = id=3D"cid:[email protected]" = class=3D""><image001.png></span></span></a></span><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D""> </span><span style=3D"" class=3D""><a = href=3D"http://www.facebook.com/BambooRoseCommunity" target=3D"_blank" = title=3D"http://www.facebook.com/BambooRoseCommunity" class=3D""><span = style=3D"text-decoration: none;" class=3D""><span = id=3D"cid:[email protected]" = class=3D""><image002.png></span></span></a></span><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D""> </span><span style=3D"" class=3D""><a = href=3D"https://www.linkedin.com/company/2814733" target=3D"_blank" = title=3D"https://www.linkedin.com/company/2814733" class=3D""><span = style=3D"text-decoration: none;" class=3D""><span = id=3D"cid:[email protected]" = class=3D""><image003.png></span></span></a></span><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D""> </span><span style=3D"" class=3D""><a = href=3D"https://twitter.com/GoBambooRose" target=3D"_blank" = title=3D"https://twitter.com/GoBambooRose" class=3D""><span = style=3D"text-decoration: none;" class=3D""><span = id=3D"cid:[email protected]" = class=3D""><image004.png></span></span></a></span><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D""> </span><span style=3D"" class=3D""><a = href=3D"https://www.bamboorose.com/blog/" target=3D"_blank" = title=3D"https://www.bamboorose.com/blog/" class=3D""><span = style=3D"text-decoration: none;" class=3D""><span = id=3D"cid:[email protected]" = class=3D""><image005.png></span></span></a></span><span = style=3D"font-size: 12pt; color: rgb(32, 31, 30);" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif; background-color: white; = vertical-align: baseline;" class=3D""><span style=3D"font-family: = "MS Mincho"; border: 1pt none windowtext; padding: 0in;" = class=3D""> </span><span style=3D"font-size: 12pt; color: rgb(32, = 31, 30);" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; = background-color: white; vertical-align: baseline;" class=3D""><span = style=3D"font-family: inherit; border: 1pt none windowtext; padding: = 0in;" class=3D"">The Leading Retail Platform to Discover, Develop, and = Deliver Products @ Digital Speed</span><span style=3D"font-size: 12pt; = color: rgb(32, 31, 30);" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: = 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p = class=3D""> </o:p></div></div></div><div style=3D"margin: 0in; = font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p = class=3D""> </o:p></div><div style=3D"margin: 0in; = background-color: white; font-size: 8.5pt; font-family: Menlo;" = class=3D""><span class=3D"s1"></span><o:p class=3D""></o:p></div><div = style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D""><o:p class=3D""> </o:p></div></div><hr = style=3D"caret-color: rgb(0, 0, 0); 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; = -webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span = style=3D"font-style: normal; font-variant-caps: normal; font-weight: = normal; letter-spacing: normal; orphans: auto; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; widows: = auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px; text-decoration: none; font-family: = Calibri; font-size: 10px; color: rgb(128, 128, 128);" = class=3D"">DISCLAIMER:<br class=3D"">E-mails and attachments from Bamboo = Rose, LLC are confidential.<br class=3D"">If you are not the intended = recipient, please notify the sender immediately by replying to the = e-mail, and then delete it without making copies or using it in any = way.<br class=3D"">No representation is made that this email or any = attachments are free of viruses. Virus scanning is recommended and is = the responsibility of the recipient.</span><br style=3D"caret-color: = rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, = 0); 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; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, = 0); 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; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><p style=3D"font-style: normal; = font-variant-caps: normal; font-weight: normal; letter-spacing: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; = text-decoration: none; font-family: Verdana; font-size: 10pt; color: = rgb(102, 102, 102);" class=3D""><b class=3D"">Disclaimer</b></p><p = style=3D"font-style: normal; font-variant-caps: normal; font-weight: = normal; letter-spacing: normal; orphans: auto; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; widows: = auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px; text-decoration: none; font-family: = Verdana; font-size: 8pt; color: rgb(102, 102, 102);" class=3D"">The = information contained in this communication from the sender is = confidential. It is intended solely for use by the recipient and others = authorized to receive it. If you are not the recipient, you are hereby = notified that any disclosure, copying, distribution or taking action in = relation of the contents of this information is strictly prohibited and = may be unlawful.<br class=3D""><br class=3D"">This email has been = scanned for viruses and malware, and may have been automatically = archived by<span class=3D"Apple-converted-space"> </span><b = class=3D"">Mimecast Ltd</b>, an innovator in Software as a Service = (SaaS) for business. Providing a<span = class=3D"Apple-converted-space"> </span><b class=3D"">safer</b><span = class=3D"Apple-converted-space"> </span>and<span = class=3D"Apple-converted-space"> </span><b class=3D"">more = useful</b><span class=3D"Apple-converted-space"> </span>place for = your human generated data. Specializing in; Security, archiving and = compliance. To find out more<span = class=3D"Apple-converted-space"> </span><a = href=3D"http://www.mimecast.com/products/" target=3D"_blank" = class=3D"">Click Here</a>.</p><span style=3D"caret-color: rgb(0, 0, 0); = 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; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;" = class=3D"">_______________________________________________</span><br = style=3D"caret-color: rgb(0, 0, 0); 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; = -webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><span = style=3D"caret-color: rgb(0, 0, 0); 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; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;" class=3D"">saxon-help mailing list archived = at<span class=3D"Apple-converted-space"> </span></span><a = href=3D"http://saxon.markmail.org/" style=3D"font-family: Helvetica; = font-size: 13px; font-style: normal; font-variant-caps: normal; = font-weight: normal; letter-spacing: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px;" = class=3D"">http://saxon.markmail.org/</a><br style=3D"caret-color: = rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><a = href=3D"mailto:[email protected]" style=3D"font-family: = Helvetica; font-size: 13px; font-style: normal; font-variant-caps: = normal; font-weight: normal; letter-spacing: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px;" = class=3D"">[email protected]</a><br style=3D"caret-color: = rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><a = href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" = style=3D"font-family: Helvetica; font-size: 13px; font-style: normal; = font-variant-caps: normal; font-weight: normal; letter-spacing: normal; = orphans: auto; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: auto; word-spacing: 0px; = -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" = class=3D"">https://lists.sourceforge.net/lists/listinfo/saxon-help</a><spa= n style=3D"caret-color: rgb(0, 0, 0); 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; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;" = class=3D""></span></div></blockquote></div><br = class=3D""></div></div></div></blockquote></div><br = class=3D""></body></html>= --Apple-Mail=_DEE732D4-A8C7-47E0-BAAB-8876C5710672-- --===============2561242514824278200== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============2561242514824278200== 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 --===============2561242514824278200==--