001 package org.apache.myfaces.tobago.example.demo.jsp;
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one or more
005 * contributor license agreements. See the NOTICE file distributed with
006 * this work for additional information regarding copyright ownership.
007 * The ASF licenses this file to You under the Apache License, Version 2.0
008 * (the "License"); you may not use this file except in compliance with
009 * the License. You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 */
019
020 /*
021 * Created on: 02.09.2002, 23:40:26
022 * $Id: TagConverter.java 578592 2007-09-23 18:51:32Z bommel $
023 */
024
025 import org.apache.oro.text.regex.MalformedPatternException;
026 import org.apache.oro.text.regex.Pattern;
027
028 public class TagConverter extends AbstractConverter {
029
030 public Pattern initPattern() throws MalformedPatternException {
031 return getCompiler().compile("(?s)<.*?>");
032 }
033
034 public String convertMatch(String fragment) {
035 // String escaped = XmlUtils.escape(fragment);
036
037 String withLinks = getUtil().substitute("s/^<jsp:include page=\\\"([\\-\\.\\/\\w]+)"
038 + "/<jsp:include page=\\\"<a href='viewSource.jsp?jsp=$1'>$1<\\/a>/", fragment);
039
040 String escaped = getUtil().substitute("s/^(<\\/?)(\\w+):/$1<b>$2<\\/b>:/", withLinks);
041 escaped = highlightStrings(escaped);
042 return "<span class=\"html-tag\"><" + escaped.substring(1, escaped.length()-1) + "></span>";
043 }
044
045 }