jlibs.xml.stream.STAXAttributes Maven / Gradle / Ivy
/**
* Copyright 2015 Santhosh Kumar Tekuri
*
* The JLibs authors license this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package jlibs.xml.stream;
import org.xml.sax.Attributes;
import javax.xml.stream.XMLStreamReader;
/**
* SAX {@link Attributes} implementation for {@link XMLStreamReader}.
*
* @author Santhosh Kumar T
*/
public class STAXAttributes implements Attributes{
private XMLStreamReader reader;
public STAXAttributes(XMLStreamReader reader){
this.reader = reader;
}
@Override
public int getLength(){
return reader.getAttributeCount();
}
@Override
public String getURI(int index){
String uri = reader.getAttributeNamespace(index);
return uri==null ? "" : uri;
}
@Override
public String getLocalName(int index){
return reader.getAttributeLocalName(index);
}
@Override
public String getQName(int index){
String localName = reader.getAttributeLocalName(index);
String prefix = reader.getAttributePrefix(index);
return prefix==null || prefix.length()==0 ? localName : prefix+':'+localName;
}
@Override
public String getType(int index){
return reader.getAttributeType(index);
}
@Override
public String getValue(int index){
return reader.getAttributeValue(index);
}
@Override
public int getIndex(String uri, String localName){
int count = reader.getAttributeCount();
for(int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy