查看: 577|回复: 11
打印 上一主题 下一主题

[求助] 【更新】MDX里的循环引用问题

[复制链接]
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    跳转到指定楼层
    1
    发表于 2019-12-19 12:30:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 jonah_w 于 2019-12-19 12:52 编辑

    比如下面的情况,想实现的效果是:
    在查询A或者B的时候需要同时显示A和B两个词条的内容。
    但下面的写法会导致循环引用,造成词典软件卡死(GoldenDict)甚至无法查询(MDict)

    A
    A content
    </>
    B
    B content
    </>
    A
    @@@LINK=B
    </>
    B
    @@@LINK=A
    </>

    不知道有没有人遇到过这种情况。

    我目前可以想到的解决方式有两个:
    1.

    B
    @@@LINK=A
    </>
    替换成
    B
    See also: <a href="entry://A">A</a>
    </>

    2.

    整个替换成
    A+B
    A content
    </>
    A+B
    B content
    </>
    A
    @@@LINK=A+B
    </>
    B
    @@@LINK=A+B
    </>

    第一种方式感觉不完美,需要点击超链接二次跳转;
    第二种方式实现起来不容易,容易造成数据紊乱。尤其是三个以上词头循环引用的话…

    不知道还有哪些巧妙的解决方法。




    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2022-1-21 00:52
  • 签到天数: 699 天

    [LV.9]以坛为家II

    17

    主题

    1754

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19738
    推荐
    发表于 2019-12-19 12:45:32 | 只看该作者
    老兄公开了一段Kill GoldenDict 代码,
    呼吁下一代mdx打包工具要加上查杀该代码的模块
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    3
     楼主| 发表于 2019-12-19 12:47:41 | 只看该作者
    cocowind 发表于 2019-12-19 12:45
    老兄公开了一段Kill GoldenDict 代码,
    呼吁下一代mdx打包工具要加上查杀该代码的模块
    ...


    查杀为辅,主要能解决问题最好了
    感觉这种需求是存在的…
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    4
    发表于 2019-12-19 13:42:10 | 只看该作者
    这需要mdx字典格式标准的升级支持吧。

    在Vim中有 noremap 等关键字抑制remap行为。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    5
     楼主| 发表于 2019-12-19 13:44:12 | 只看该作者
    VimVim 发表于 2019-12-19 13:42
    这需要mdx字典格式标准的升级支持吧。

    在Vim中有 noremap 等关键字抑制remap行为。 ...

    嗯 感觉应该升级支持下
    不过也想自己work around一下
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    6
    发表于 2019-12-19 14:02:48 | 只看该作者
    最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种因素几近于死亡。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    7
     楼主| 发表于 2019-12-19 14:07:14 | 只看该作者
    VimVim 发表于 2019-12-19 14:02
    最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种 ...

    看来没有什么特效方法了
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    8
    发表于 2019-12-19 14:09:09 | 只看该作者
    还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    9
     楼主| 发表于 2019-12-19 14:11:11 | 只看该作者
    VimVim 发表于 2019-12-19 14:09
    还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html ...

    其他格式词库 完全不想用

    该用户从未签到

    539

    主题

    3046

    回帖

    25万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    251476

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    10
    发表于 2019-12-19 19:18:23 | 只看该作者
    我碰见过,至于怎么解决,看词典里具体什么内容
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    11
     楼主| 发表于 2019-12-19 20:30:58 | 只看该作者
    klwo2 发表于 2019-12-19 19:18
    我碰见过,至于怎么解决,看词典里具体什么内容

    就是A LINK到B,B到C,C又LINK回A… 然后B LINK到A, A LINK到C 这种最复杂了 感觉无解…
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    12
     楼主| 发表于 2019-12-19 23:43:47 | 只看该作者
    cuterhei 发表于 2019-12-19 22:47
    给个不算复杂的例子,GD如实的按照mdx源码中的顺序来处理的,其它词典软件应该借鉴一下:

    这种会有循环引用问题吗?
    这种我还没测过
    是不是只有
    b
    @@@LINK=c
    </>
    c
    @@@LINK=b
    </>

    这种才有循环引用问题?