On 5/8/2016 10:27 PM, Pablo Rodriguez wrote:
Dear list,

I have the following sample:

    \startbuffer[demo]
    <doc>
         <p>Link not working:
            <a href="http://a.b/c#d";>http://a.b/c#d</a></p>
         <p>Link not working:
            <a href="http://a.b/c";>http://a.b/c#d</a></p>
         <p>Working link:
            <a href="http://a.b/c#d";>http://a.b/c</a></p>
    </doc>
    \stopbuffer

    \starttext

    \startxmlsetups xml:initialize
         \xmlsetsetup{#1}{p|doc|a}{xml:*}
         \xmlsetsetup{\xmldocument}{span[@label]}{xml:logo}
    \stopxmlsetups

    \xmlregistersetup{xml:initialize}

    \startxmlsetups xml:doc
         \xmlflush{#1}
    \stopxmlsetups

    \startxmlsetups xml:p
         \xmlflush{#1}\par
    \stopxmlsetups

    \startxmlsetups xml:a
        \mypersonalurl{\xmlflush{#1}}
    \stopxmlsetups

    \setupinteraction[state=start]

    \def\mypersonalurl#1{\bgroup\tt\goto{%
        \hyphenatedurl{#1}}[url(#1)]\egroup}%
        \unexpanded\def\href#1#2{\goto{#2} [url(#1)]}

    \xmlprocessbuffer{main}{demo}{}

    \stoptext

Latest beta from 2016.05.08 17:30 doesn’t generate a clickable link with
the first two paragraphs. It seems to be caused by the presence of # in
the url.

The latest beta I have that generates three clickable links is
2016.01.14 09:55 (using LuaTeX-0.87.0).

From beta 2016.02.01 13:26 (and LuaTeX-0.88.0) the first two links
aren’t interactive. And this beta included a wrong rendering from # as
"\Ux {23}".

The wrong # conversion was corrected in beta from 2016.02.15 10:26 (and
LuaTeX-0.89.0), but links weren’t made interactive.

I hope the description helps. Could anyone confirm the issue?

It has to do with more robust ways to let special character travel through the machinery



\startbuffer[demo]
<d>
     <p>Case 1: <a href="http://a.b/c#d";>http://a.b/c#d</a></p>
     <p>Case 2: <a href="http://a.b/c";  >http://a.b/c#d</a></p>
     <p>Case 3: <a href="http://a.b/c#d";>http://a.b/c  </a></p>
</d>
\stopbuffer

\nopdfcompression

\startxmlsetups xml:initialize
     \xmlsetsetup{#1}{*}{xml:*}
\stopxmlsetups

\xmlregistersetup{xml:initialize}

\startxmlsetups xml:d
     \xmlflush{#1}
\stopxmlsetups

\startxmlsetups xml:p
     \xmlflush{#1}
     \blank
\stopxmlsetups

\startxmlsetups xml:a
    \mypersonalurl
      {\xmlatt{#1}{href}}
      {\xmlflush{#1}}
      {\xmlraw{#1}{.}}
\stopxmlsetups

\starttexdefinition unexpanded mypersonalurl #1#2#3
    \dontleavehmode
    \begingroup
    \tt
    \starttabulate[||||]
    \NC url \NC #1 \NC \goto{\hyphenatedurl{#2}}[url(#1)] \NC \NR
    \NC txt \NC #2 \NC \goto{\hyphenatedurl{#2}}[url(#2)] \NC \NR
    \NC raw \NC #3 \NC \goto{\hyphenatedurl{#3}}[url(#3)] \NC \NR
    \stoptabulate
    \endgroup
\stoptexdefinition

\setupinteraction[state=start]

\starttext

% \enabletrackers[structures.referencing.analyzing]

\xmlprocessbuffer{main}{demo}{}

\stoptext

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to