1 21 package nu.xom.samples; 22 23 import java.io.IOException ; 24 25 import nu.xom.Attribute; 26 import nu.xom.Builder; 27 import nu.xom.Document; 28 import nu.xom.Element; 29 import nu.xom.NodeFactory; 30 import nu.xom.Nodes; 31 import nu.xom.ParsingException; 32 33 43 public class AttributesToElements extends NodeFactory { 44 45 private boolean maintainTypes = false; 46 47 public AttributesToElements() {} 48 49 public AttributesToElements(boolean maintainTypes) { 50 this.maintainTypes = maintainTypes; 51 } 52 53 public Nodes makeAttribute(String name, String URI, 54 String value, Attribute.Type type) { 55 56 Element element = new Element(name, URI); 57 element.appendChild(value); 58 if (maintainTypes 59 && !type.equals(Attribute.Type.UNDECLARED) 60 && !type.equals(Attribute.Type.ENUMERATION)) { 61 Attribute xsiType = new Attribute("xsi:type", 62 "http://www.w3.org/2001/XMLSchema-instance", type.getName()); 63 element.addAttribute(xsiType); 64 } 65 return new Nodes(element); 66 } 67 68 public static void main(String [] args) { 69 70 if (args.length <= 0) { 71 System.out.println( 72 "Usage: java nu.xom.samples.AttributesToElements URL" 73 ); 74 return; 75 } 76 77 try { 78 Builder parser = new Builder(new AttributesToElements()); 79 Document doc = parser.build(args[0]); 80 EZSerializer.write(doc, System.out); 81 } 82 catch (ParsingException ex) { 83 System.out.println(args[0] + " is not well-formed."); 84 System.out.println(ex.getMessage()); 85 } 86 catch (IOException ex) { 87 System.out.println( 88 "Due to an IOException, the parser could not read " 89 + args[0] 90 ); 91 } 92 93 } 94 95 } 96 | Popular Tags |