001/* $Id: DumperRule.java 1102402 2011-05-12 18:03:26Z simonetripodi $ 002 * 003 * Licensed to the Apache Software Foundation (ASF) under one or more 004 * contributor license agreements. See the NOTICE file distributed with 005 * this work for additional information regarding copyright ownership. 006 * The ASF licenses this file to You under the Apache License, Version 2.0 007 * (the "License"); you may not use this file except in compliance with 008 * the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.apache.commons.digester3.plugins; 019 020import org.xml.sax.Attributes; 021import org.apache.commons.digester3.Rule; 022 023/** 024 * Demonstrates the behaviour of the Delegate interface. 025 */ 026public class DumperRule 027 extends Rule 028{ 029 @Override 030 public void begin( String namespace, String name, Attributes attributes ) 031 throws Exception 032 { 033 System.out.print( "<" ); 034 System.out.print( name ); 035 036 int nAttributes = attributes.getLength(); 037 for ( int i = 0; i < nAttributes; ++i ) 038 { 039 String key = attributes.getQName( i ); 040 String value = attributes.getValue( i ); 041 System.out.print( " " ); 042 System.out.print( key ); 043 System.out.print( "=" ); 044 System.out.print( "'" ); 045 System.out.print( value ); 046 System.out.print( "'" ); 047 } 048 System.out.println( ">" ); 049 } 050 051 @Override 052 public void body( String namespace, String name, String text ) 053 throws Exception 054 { 055 System.out.print( text ); 056 } 057 058 @Override 059 public void end( String namespace, String name ) 060 throws Exception 061 { 062 System.out.print( "</" ); 063 System.out.print( name ); 064 System.out.println( ">" ); 065 } 066}