隨筆 - 175  文章 - 202  trackbacks - 0
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          第一個Blog,記錄哈哈的生活

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Java links

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          
          

          xsl 里增加

             function valueOf(context, elem) {
              return tools.valueOf(context, elem);
             }
          代碼里增加


           public String valueOf(XSLProcessorContext context, ElemExtensionCall elem) {
            String value = elem.getAttribute("select");
            String maxStr = elem.getAttribute("max");
            try {
             value = executeExpression(context, elem, value);
            } catch (TransformerException e) {
            }
            if (isNotBlank(maxStr)) {
             try {
              int max = Integer.parseInt(maxStr);
              value = shortStr(value, max);
             } finally {
             }
            }
            return value;
           }

           private String executeExpression(XSLProcessorContext context, ElemExtensionCall elem, String value)
             throws TransformerException {
            XPathContext xctxt = context.getTransformer().getXPathContext();
            XPath path = new XPath(value, elem, xctxt.getNamespaceContext(), XPath.SELECT);
            XObject data = path.execute(xctxt, context.getContextNode(), elem);
            if (data != null)
             value = data.xstr().toString();
            return value == null ? "" : value;
           }











          參考了下面的文檔






          [prev in list] [next in list] [prev in thread] [next in thread]
          List: xalan-j-users Subject: Re: Extension element with subelements From: John Gentilin <gentijo () eyecatching ! com> Date: 2007-09-07 21:48:37 Message-ID: 46E1C735.2080504 () eyecatching ! com [Download message RAW] Oops... this might be what you are after instead... executeChildTemplatesToXML or ToString or ToXMLString may be what you are after.. /** * A repository for common functions that can be used but the extension * functions and extension elements. * * * Title: Base Functions * Copyright: Copyright (c) 2005 * Company: Eye Catching Solutions Inc. * @version 1.0 * @author John Gentilin */ public class BaseFunctions { private static Category m_Log = Category.getInstance("RapidXSL.Interface"); private static DocumentBuilderFactory m_dfactory = null; private static DocumentBuilder m_docBuilder = null; /** * @param context * @param elem * @throws TransformerException */ protected void executeChildTemplates( XSLProcessorContext context, ElemExtensionCall elem ) throws TransformerException { TransformerImpl transf = context.getTransformer(); transf.executeChildTemplates(elem, context.getContextNode(), context.getMode(), transf.getResultTreeHandler()); } /** * @param context * @param elem * @throws TransformerException */ protected Document executeChildTemplatesToXML(Document doc, XSLProcessorContext context, ElemExtensionCall elem ) throws XMLServerException { DOMBuilder builder = null; TransformerImpl transformer = context.getTransformer(); try { builder = new DOMBuilder(doc); transformer.executeChildTemplates(elem, context.getContextNode(), context.getMode(), builder); } catch (Exception e) { throw new XMLServerException("RXSL_IFACE", "XSL Interface Error - " + e.getLocalizedMessage()); } return doc; } /** * @param context * @param elem * @throws TransformerException */ protected String executeChildTemplatesToString(XSLProcessorContext context, ElemExtensionCall elem ) throws XMLServerException { TransformerImpl transformer = context.getTransformer(); try { TextSerializationHandler handler = new TextSerializationHandler(); transformer.executeChildTemplates(elem, context.getContextNode(), context.getMode(), handler); return handler.toString(); } catch (Exception e) { throw new XMLServerException("RXSL_IFACE", "XSL Interface Error - " + e.getLocalizedMessage()); } } protected String executeChildTemplatestoXMLString(XSLProcessorContext context, ElemExtensionCall elem) throws TransformerException, SAXException { try { TransformerImpl transformer = context.getTransformer(); // This should be worked on so that the output format can be // defined by a first child of the redirect element. OutputProperties format = transformer.getOutputFormat(); Properties prop = format.getProperties(); format.setProperty("indent","no"); format.setProperty("{[prev in list] [next in list] [prev in thread] [next in thread]
          
          
          Configure | About | News | Donate | Add a list | Sponsors: 10EastKoreLogicTerra-InternationalChakpak.com
          posted on 2009-10-21 17:19 哈哈的日子 閱讀(359) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 榆林市| 昭平县| 德兴市| 邛崃市| 九龙坡区| 始兴县| 长丰县| 重庆市| 雅江县| 克什克腾旗| 通道| 铁岭县| 德惠市| 巩义市| 德化县| 滨州市| 闽侯县| 扶沟县| 绥棱县| 台北市| 宜兰县| 北海市| 郸城县| 长岭县| 嘉荫县| 交城县| 曲周县| 思茅市| 临桂县| 肥乡县| 福州市| 阿克苏市| 贵定县| 香港| 大荔县| 汤阴县| 锡林浩特市| 宁晋县| 靖宇县| 仁怀市| 靖远县|