Codejie's C++ Space

Using C++

LAC: Lingoes.XSL


    这两天晚上在忙着修改LAC的Navite Dictionary演示程序,添加对多词典的支持;一来可以为后面LAC2的开发积累点经验,二来,也是主要原因是下个月我自己可能要用到...唉,自己敲的app,实际自己使用的时间不如敲打时间的百分之一...

    这次支持了中文Vicon词典,敲字过程中碰到曾经没有考虑到很多问题,卡了我很多天.目前看除了那个DES加密破解不了外,像字符集编码,XML输出什么的都还能搞定,应该可以拿到LAC2中直接用了.当然那个cursor.MoveToFirst()死慢的问题估计需要到时重新设计下数据库表来解决了...

    今天记录下对XSL的认识,唉,XML认识了那么久,从来没有好好静心研究过,这次算碰到钉子了...也好,搞明白了这个,在也不用自己分解XML再拼串输出了...不论对不对,贴上再说...(只是个draft,就给我自己看的..)

    更新下,来张图先,使用xslt输出xml还是很cool的啊..(这单词代表我的心...)




<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>

<xsl:template match="LingosHook Android Client">
    
<HTML><HEAD></HEAD><BODY>
    
<xsl:apply-templates/>
    
</BODY></HTML>
</xsl:template>

<xsl:template match="W">
    
<DIV>
    
<SPAN style="LINE-HEIGHT: 150%; COLOR: #000000; FONT-SIZE: 180%"><B>
        
<xsl:value-of select="."/>
    
</B></SPAN>
    
</DIV>
</xsl:template>

<xsl:template match="D">
    
<DIV style="LINE-HEIGHT: 120%; background-color:#cfddf0; COLOR:#000080; FONT-SIZE: 100%"><B>
        
<xsl:value-of select="."/>
    
</B>
    
</DIV>
</xsl:template>

<xsl:template match="C">
    
<xsl:for-each select="F">
        
<DIV style="MARGIN: 5px 0px">
            
<xsl:apply-templates/>
        
</DIV>
    
</xsl:for-each>
    
    
<xsl:if test="E">
        
<DIV style="MARGIN: 4px 0px; LINE-HEIGHT: 150%; FONT-SIZE: 100%">
            
<B>Extension:</B>
            
<FONT COLOR="#229922">
                
<xsl:for-each select="E">
                    
<xsl:value-of select="."/>
                
</xsl:for-each>
            
</FONT>
        
</DIV>        
    
</xsl:if>
</xsl:template>

<xsl:template match="H">
    
<SPAN style="LINE-HEIGHT: 120%; COLOR: #000000; FONT-SIZE: 120%">
        
<xsl:apply-templates/>
    
</SPAN>
</xsl:template>

<xsl:template match="L">
    
<DIV style="MARGIN: 0px 0px 5px; ">
        
<xsl:value-of select="."/>
    
</DIV>
</xsl:template>

<xsl:template match="M">
    [
<FONT COLOR="#009900">
        
<xsl:value-of select="."/>
    
</FONT>]
</xsl:template>

<xsl:template match="I">
    
<DIV style="MARGIN: 0px 0px 5px">
        
<xsl:apply-templates/>
    
</DIV>
</xsl:template>

<xsl:template match="N">
    
<DIV style="MARGIN: 4px 0px; LINE-HEIGHT: 120%; FONT-SIZE: 120%">
        
<xsl:apply-templates/>
    
</DIV>
</xsl:template>

<xsl:template match="U">
    
<FONT color="#c00000">
        
<xsl:value-of select="."/>
    
</FONT>
</xsl:template>

<xsl:template match="x">
    
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="h">
    
<I>
        
<xsl:value-of select="."/>
    
</I>
</xsl:template>

</xsl:stylesheet>

posted on 2013-04-03 23:43 codejie 阅读(594) 评论(0)  编辑 收藏 引用 所属分类: 随笔而已LingosHookG7


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜