1 17 package org.apache.geronimo.schema; 18 19 import javax.xml.namespace.QName ; 20 21 import org.apache.xmlbeans.XmlCursor; 22 import org.apache.xmlbeans.XmlObject; 23 24 27 public class NamespaceElementConverter implements ElementConverter { 28 29 private final String namespace; 30 31 public NamespaceElementConverter(String namespace) { 32 this.namespace = namespace; 33 } 34 35 public XmlObject convertElement(XmlObject element) { 36 XmlCursor cursor = element.newCursor(); 37 try { 38 XmlCursor end = cursor.newCursor(); 39 try { 40 convertElement(cursor, end); 41 } finally { 42 end.dispose(); 43 } 44 } finally { 45 cursor.dispose(); 46 } 47 return element; 48 } 49 50 public void convertElement(XmlCursor cursor, XmlCursor end) { 51 end.toCursor(cursor); 52 end.toEndToken(); 53 while (cursor.hasNextToken() && cursor.isLeftOf(end)) { 54 if (cursor.isStart()) { 55 if (!namespace.equals(cursor.getName().getNamespaceURI())) { 56 cursor.setName(new QName (namespace, cursor.getName().getLocalPart())); 57 } 58 } 59 cursor.toNextToken(); 60 } 61 } 62 } 63 | Popular Tags |