分类: 技术宅

  • TEI结构及的区别

    众所周知,TEI定义了数据结构,数据类型甚至是数据属性,因此这里简单的介绍一下TEI文件的基本结构,及<TEI>和<teiCorpus>的区别。
    这里TEI的版本为P5。
    (更多…)

  • xslt结构,template/call-templates/apply-templates调用

    template模板在XSLT中是一个很重要的工具,通过匹配的方法用来处理XML文档。
    操作作顺序,阅读器逐行读取XML文件,若遇到某一个元素在XSLT中有相关模板,就根据模板的规则处理元素内的数据,例如
    <xsl:template match=””>
        <xsl:value-of select=”.”/>
    </xsl:template>
    通过”/”,匹配XML的根元素,那么在阅读器读取到XML(等于开始读取XML文本)的根元素时,将通过这个模板的设置进行数据处理,这个命令是输出非标签文本。
    例如只使用:
    <xsl:template match=””>
    </xsl:template>
    由于里面没有使用任何的对匹配文本的处理方式,那么输出结果为空。
    那么假如处理下面的XML:
    <aa>
            <bb>
                    bbb
            </bb>
            <cc>
                    ccc
            </cc>
            <dd>
                    ddd1
            </dd>
            <dd>
                    ddd2
            </dd>
    </aa>
    XSLT只有一个模板
    <xsl:template match=”cc”>
        <h1><xsl:value-of select=”.”/></1>
    </xsl:template>
    那么输出结果,只有ccc被标题化,其他的只是纯文本拷贝。
    因此我们还可以使用另外一个template去处理剩下的标签。
    需要注意的是,一当根元素给”/”匹配了之后,那么剩下来的的模板就不在匹配任何的元素了,这种情况下也就是通常XSLT写法。
    XSLT文件其实是一个或者多个XML文件的样式表,里面包含的功能会很丰富,因此在整个XSLT文件中有许多的template模板,模板与模板之间通过以下两种方式来来穿插使用:
    <xsl:apply-templates>
    <xsl:call-template>
    这两个功能都是调用其他的模板,但是有所区别:
    <xsl:apply-templates>,是在匹配到某个元素的时候,才采用模板,因此一定需要在XML文件中存在这个元素,如果不存在,将不进行任何操作。
    调用例子:
    <xsl:template match=”/”>
         <xsl:apply-templates select=”cc”/>
    </xsl:template>
    <xsl:template match=”cc”>
        处理的内容
    </xsl:template>
    <xsl:call-tempalte>,是直接调用一个模板,并将需要处理的数据通过<xsl:with-param>形式传递给模板,就想编程语言中的函数一样。
    调用例子:
    <xsl:template match=”/”>
         <xsl:call-template name=”template-name”>
                  <xsl:with-param name=”name1″ select=”cc”/>
                  <xsl:with-param name=”name2″>
                       <xsl:value-of select=”cc”/>
                  </xsl:with-param>
    </xsl:template>
    <xsl:template name=”template-name”>
        <xsl:param select=”name1″>
        <xsl:param select=”name2″>
         处理内容
    </xsl:template>
    <xsl:call-template name=”name1″>, 这里虽然选择了name1,但是这个name1并不是XML文中的元素,而是直接调用模板name1。
    这里我们也简单的说一下两个<xsl:with-param>的区别:
    前面一个直接带select的标签,它的功能是传递元素cc给模板,再通过模板来处理cc下面的其他数据
    后面一个不带的标签,根据上面的定义,它只是传递cc的值给模板。
    假如说,传递给模板的元素带有其他的标签,就像前一个传递的内容一样,可以通过xslt的功能处理
    如<xsl:value-of select=”.”/>取cc元素及其子元素中的所有纯文本。
    在这里我曾遇到一个问题,那么就是在传递”格式化的文本“给模板的时候,我只想添加其他的格式标签并要保留文本内的其他格式标签,这个时候需要用到的是<xsl:copy>和<xsl:copy-of>,具体的例子就不说啦,等下次写到<xsl:copy>和<xsl:copy-of>的时候再说啦。
  • ASCII控制符在XML不合法理由

    个人理解,标签语言XML没有任何必要去传输这些ASCII控制符,因为通过任何一个编辑器对这些符号进行二进制转换时会产生问题。

  • Apache版本查看指令

    在Apache的bin目录下执行下面语句查询版本:
    httpd -v
    返回信息
    Server version: Apache/2.4.4 (Win32)
    Server built: Feb 23 2013 12:42:00

  • 64位Mod_wsgi支持win7,组建Apache的Python环境

    Python网页服务器的搭建,Python网页架构主流配置由WSGI模块、Apache网页服务器、Django或Web.py框架构成(框架方面其实选择很多,个人比较喜欢DJANGO和Web.py)。

    在这里,主要说明如何在Windows下构建Apache的Python平台,模块选择WSGI,框架使用Django。软件版本的选择:Windows7 + Python 2.7 + Apache 2.2.22 + Mod_wsgi 3.3。
    python-django
    (更多…)

  • 新建WORDPRESS到百度云BAE

    云计算已经成为当下最热门的技术,在网络应用中,云服务提供的网络流量、CPU处理、磁盘阵列存储的服务,都来自于大规模分布式的计算机配置,这些高效,高速及高安全的企业级服务,曾经对于中小企业来说完全不可能,但是现在即使是一个创业者也有机会使用这种企业级服务。因此云服务的价格低廉,而且收费上面是按需付款,用户用多少资源就付多少钱,就像平常生活中使用的水和电一样,因此大家也都称其为“网络能源”。目前提供云服务的企业非常多,在国外被谈论的最多的云是谷歌云、亚马逊云等,而在中国应该是阿里云、百度云、新浪云、华为云、曙光云,盛大云曾经也被计算在内,可以由于出现了背包兔事件后,大家谈论的就少了。根据搭建云平台的技术不同,每家都有每家的优势,曾经IT168.com就这六大云做了一个专题,如果有兴趣可以移步:《国内云计算平台大PK》。

    wponbae (更多…)

  • 语言技术平台(LTP)源代码正式对外共享

    语言技术平台(Language Technology Platform,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在 此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库(Dynamic Link Library, DLL)的应用程序接口,可视化工具,依存树库等语料资源,并且能够以网络服务(Web Service)的形式进行使用。

    从2006年9月5日开始该平台对外免费共享目标代码,截止目前,已经有国内外400多家研究单位共享了LTP,也有国内外多家商业公司购买了LTP,用 于实际的商业项目中。2010年12月获得中国中文信息学会颁发的行业最高奖项:”钱伟长中文信息处理科学技术奖”一等奖。

    2011年6月1日,为了与业界同行共同研究和开发中文信息处理核心技术,我中心正式将LTP的源代码对外共享,LTP由C++语言开发,可运行于Windows和Linux操作系统。详见:http://ir.hit.edu.cn/ltp/

    欢迎各界朋友共享!

  • ICTCLAS2011最新u0404 版本发布,全面支持UTF-8与GBK-张华平博士出品

    下载地址:http://www.nlpir.org/download/ICTCLAS2011-SDK-0404.rar

    应各位ICTCLAS用户的要求,张华平博士发布ICTCLAS2011最新u0404 版本。

    主要更新有:全面支持UTF-8、BIG5与GBK;修正了部分内核Bug;提供了Win7下的支持库,提供Linux 64位与32位的支持库;

    张华平博士再一次感谢各位用户的支持,感谢大家为我提供的各种测试报告,我们将继续加大研发力度,推动中文信息处理实际应用的发展与进步。   解压缩后,先阅读Readme.txt,按照Readme.txt指南进行使用。

    附:使用指南

    我们在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS,主要功能包括中文分词;词性标注;命名实体识别;新词识别;用户词典功能,同 时支持GBK编码、UTF8编码、BIG5编码。我们先后精心打造五年,内核升级9次,目前已经升级到了ICTCLAS 2011。

    1.选择您需要的API形式,主要由您的开发环境和操作系统来定,比如你选择了Windows下的C调用,则您需要选择Windows下的C接口;
    2.将相应文件夹内容拷贝到上层目录;编译执行即可。
    最后恭喜你,您可以正常使用ICTCLAS2011了!
    3. 如果没有编程基础,也不愿意进行二次开发。可以直接点击当前目录下的ICTCLAS2011_demo.exe,使用ICTCLAS2011 Windows演示程序,具体的使用方法,可以参考“文档”目录下的,ICTCLAS2011 Windows演示程序用户手册.doc

    下载地址:http://www.nlpir.org/download/ICTCLAS2011-SDK-0404.rar

  • [转]关于WORDPRESS缩略图必须了解的事情

    你也许曾经或多或少的听说过一些关于wordpress2.9+内置缩略图功能。是的,你可以直接通过wordpress上传图片制作成缩略图,但是它不仅仅可以做出缩略图,你甚至可以控制缩略图的大小。

    在本教程中,我将会涉及到很多关于缩略图的事情。有些是给普通的用户,也有的是写给正在制作开发wordpress主题或者插件的朋友。

    有件事情很有必要在之前强调,就是缩略图是和文章绑定在一起,他们之间是不可以没有关系的。
    普通用户想使用缩略图怎么办

    首先,你所使用的wordpress主题必须支持该功能,否则,你将不可能使用这个功能。这里我们先假设你的主题支持这个功能,至于如果给主题添加这个功能将在后面的教程中提到。

    要使用这个功能,你必须登录后台,然后确定你已经来到了文章编辑页面,在屏幕的右下方你会看到一个叫做“Post thumbnail”或者“Page thumbnail”(注:中文3.0以后的显示的是特色图片)

    那里你会看到“Set thumbnail,”的按钮(注:中文3.0以后的显示的是添加特色图片),它能让你通过媒体上传工具添加新照片。

    它不仅仅能够产生缩略图

    虽然叫它缩略图,但是我们可以用它来做很多的事情。(例如特色图片,还有首页展示的中等大小的图片)

    通常的,wordpress给你设置了三种缩略图大小,他们分别为

    缩略图(Thumbnail)
    中等图(Medium)
    大图(Large)
    原图(Full)

    有些插件可以让你产生更多尺寸的缩略图,这里提这个只是想让你知道不仅仅有这么多种大小的缩略图你可以在这里使用~这个功能也不仅仅局限于缩略图。
    如何让一个主题支持WORDPRESS内置的缩略图功能

    主题编辑者,这里我将将这个描述的很容易。你只需要添加一行代码就可以让你的用户享受到这个功能。在function.php里添加如下代码:

    add_theme_support( ‘post-thumbnails’ );

    也许,你会想给些特定的文章设定缩略图样式。(上面的代码默认是给文章和页面都添加缩略图功能的),看看下面的代码:

    add_theme_support( ‘post-thumbnails’, array( ‘post’, ‘page’ ) );

    如果你只想给文章页面添加缩略图功能,你可以尝试下下面这个代码代替上面的:

    dd_theme_support( ‘post-thumbnails’, array( ‘post) );

    当然单单只添加这句代码,还不能在wordpress前台产生什么效果,你需要在主题文件中,你想要呈现缩略图的循环中插入代码。例如你想在文章分类列表中展示缩略图,你可以在主题文件中加入如下代码:

    同时,你也可可以尝试如下代码,他会产生一个中等大小的缩略图:

    大概就这么多了,作为一个主题的编辑者,你只需要添加一两行代码,就可以在你的主题中添加功能如此强大的缩略图。

    教程剩下的内容将关注于缩略图的一些开发功能还有使用旧图像的一些选项。
    确认文章里是否有缩略图

    有时候,我们总会想先确认文章里是否有缩略图,有个函数叫做has_post_thumbnail(),它会根据是否存在缩略图返回true或者是false。

    在下面的例子里,会先检查是否有缩略图,如果没有的话则输出我们提前准备的图片

    ‘;
    ?>

    获取文章缩略图的ID

    也许你需要编写自己的自定义脚本,但仍希望允许使用主题的人上传自己的图片。你可以获取文章的缩略图ID然后使用它。此ID保存在_thumbnail_id里。这是附加文件的ID。

    你只需要通过下面的代码调用这个值

    $image_id = get_post_thumbnail_id();

    如何让返回值为图片而不是直接显示出图片

    有时候,你可能想返回文章的缩略图然后再php代码中使用它,而不是直接显示出图片。下面这段代码可以实现这个功能:

    $image = get_the_post_thumbnail( $post->ID, ‘thumbnail’ );

    如何控制缩略图的尺寸

    一些插件开发者或许希望可以控制缩略图的大小(亦或是主题开发者),post_thumbnail_size可以帮你做到这个。下面的代码的作用就是将缩略图大小控制为middle大小。

    将下面的段代码插入function.php或者放入你插件里:

    add_filter( ‘post_thumbnail_size’, ‘my_post_image_size’ );

    function my_post_image_size( $size ) {
    $size = ‘medium’;
    return $size;
    }

    改变缩略图输出的HTML代码

    有些情况下,你可能想改变缩略图输出的html代码,下面的例子里,我将展示如何给缩略图添加文章的链接。

    将下面的php代码插入function.php或者插件的代码里:

    add_filter( ‘post_thumbnail_html’, ‘my_post_image_html’, 10, 3 );

    function my_post_image_html( $html, $post_id, $post_image_id ) {

    $html = ‘‘ . $html . ‘‘;

    return $html;
    }

    改过之后,对我之前的图片(缩略图)怎么办

    也许你和我一样,之前都是通过自定义栏目来实现缩略图的,如果你突然改变使用这种方法,之前的那些文章都要改了。

    我这里有个解决的方法,使用插件Get the Imag

    0.4版的插件在wordpress2.9放出的时候公布的。他不仅支持给wordpress新文章添加缩略图,而且你不会丢失掉你之前添加的那些图片。这个插件可以在以下五个途径寻找文章的图片。

    自定义栏目
    新文章的缩略图
    文章附加的图片
    在文章里扫描得到的图片
    默认图片

    好好享受你文章的缩略图功能吧

    我希望这篇教程可以给你对wordpress缩略图功能有更深的认识,有一些限制,但是总体上说,这个功能相对于其他的方法来说,使得缩略图更加方便了~

    原文地址:Everything you need to know about WordPress 2.9′s post image feature

    简单翻译by:ididi

  • WordPress导航HOME改中文

    汉化一个国外的主题,首先就想到了把“HOME”改成“首页”,在网上查询了好久,说是一种方法可以直接修改header.php文件里面的home内容为“首页”就可以,不过我下载的这个主题使用不了。后来瞥见一贴,修改functions.php里面的home,最终解决了问题,虽然还没有研究清楚为何如此,不过基于WORDPRESS的框架,这是一个功能吧。要继续研究PHP和WORDPRESS!