68 return (p != null) ? p : (ancestor != null) ? ancestor.getPrefix(uri) : null;
69 }
70 //Who wants this?
71 public List<String> allPrefixes(String namespaceURI) {
72 List<String> l = tagInfo.allPrefixes(namespaceURI);
73 if (ancestor != null) {
74 List<String> p = ancestor.allPrefixes(namespaceURI);
75 p.addAll(l);
76 return p;
77 }
78 return l;
79 }
80 public Iterator<String> getPrefixes(String namespaceURI) {
81 return allPrefixes(namespaceURI).iterator();
82 }
83 }
84
85 public XMLReaderComposite(final ElemInfo elem, XMLStreamReader[] wrapees) {
86 elemInfo = elem;
87 tagInfo = elem.tagInfo;
88 children = wrapees;
89 if (children != null && children.length > 0) {
90 payloadIndex = 0;
91 payloadReader = children[payloadIndex];
92 }
93 }
94
95
96 @Override
97 public int next() throws XMLStreamException {
98 switch (state) {
99 case StartTag:
100 if (payloadReader != null) {
101 state = State.Payload;
102 return payloadReader.getEventType();
103 } else {
104 state = State.EndTag;
105 return XMLStreamReader.END_ELEMENT;
106 }
107 case EndTag: return XMLStreamReader.END_DOCUMENT;
108 case Payload:
|
68 return (p != null) ? p : (ancestor != null) ? ancestor.getPrefix(uri) : null;
69 }
70 //Who wants this?
71 public List<String> allPrefixes(String namespaceURI) {
72 List<String> l = tagInfo.allPrefixes(namespaceURI);
73 if (ancestor != null) {
74 List<String> p = ancestor.allPrefixes(namespaceURI);
75 p.addAll(l);
76 return p;
77 }
78 return l;
79 }
80 public Iterator<String> getPrefixes(String namespaceURI) {
81 return allPrefixes(namespaceURI).iterator();
82 }
83 }
84
85 public XMLReaderComposite(final ElemInfo elem, XMLStreamReader[] wrapees) {
86 elemInfo = elem;
87 tagInfo = elem.tagInfo;
88 children = wrapees.clone();
89 if (children != null && children.length > 0) {
90 payloadIndex = 0;
91 payloadReader = children[payloadIndex];
92 }
93 }
94
95
96 @Override
97 public int next() throws XMLStreamException {
98 switch (state) {
99 case StartTag:
100 if (payloadReader != null) {
101 state = State.Payload;
102 return payloadReader.getEventType();
103 } else {
104 state = State.EndTag;
105 return XMLStreamReader.END_ELEMENT;
106 }
107 case EndTag: return XMLStreamReader.END_DOCUMENT;
108 case Payload:
|