类javax.xml.stream.events.Attribute源码实例Demo

下面列出了怎么用javax.xml.stream.events.Attribute的API类实例代码及写法,或者点击链接到github查看源代码。

private PolicySourceModel initializeNewModel(final StartElement element) throws PolicyException, XMLStreamException {
    PolicySourceModel model;

    final NamespaceVersion nsVersion = NamespaceVersion.resolveVersion(element.getName().getNamespaceURI());

    final Attribute policyName = getAttributeByName(element, nsVersion.asQName(XmlToken.Name));
    final Attribute xmlId = getAttributeByName(element, PolicyConstants.XML_ID);
    Attribute policyId = getAttributeByName(element, PolicyConstants.WSU_ID);

    if (policyId == null) {
        policyId = xmlId;
    } else if (xmlId != null) {
        throw LOGGER.logSevereException(new PolicyException(LocalizationMessages.WSP_0058_MULTIPLE_POLICY_IDS_NOT_ALLOWED()));
    }

    model = createSourceModel(nsVersion,
            (policyId == null) ? null : policyId.getValue(),
            (policyName == null) ? null : policyName.getValue());

    return model;
}
 
源代码2 项目: data-prep   文件: StreamingSheetReader.java
/**
 * Read the numeric format string out of the styles table for this cell. Stores the result in the Cell.
 *
 * @param startElement
 * @param cell
 */
void setFormatString(StartElement startElement, StreamingCell cell) {
    Attribute cellStyle = startElement.getAttributeByName(new QName("s"));
    String cellStyleString = (cellStyle != null) ? cellStyle.getValue() : null;
    XSSFCellStyle style = null;

    if (cellStyleString != null) {
        style = stylesTable.getStyleAt(Integer.parseInt(cellStyleString));
    } else if (stylesTable.getNumCellStyles() > 0) {
        style = stylesTable.getStyleAt(0);
    }

    if (style != null) {
        cell.setNumericFormatIndex(style.getDataFormat());
        String formatString = style.getDataFormatString();

        if (formatString != null) {
            cell.setNumericFormat(formatString);
        } else {
            cell.setNumericFormat(BuiltinFormats.getBuiltinFormat(cell.getNumericFormatIndex()));
        }
    } else {
        cell.setNumericFormatIndex(null);
        cell.setNumericFormat(null);
    }
}
 
源代码3 项目: lams   文件: XMLEventStreamReader.java
@SuppressWarnings("rawtypes")
private Attribute getAttribute(int index) {
	if (!this.event.isStartElement()) {
		throw new IllegalStateException();
	}
	int count = 0;
	Iterator attributes = this.event.asStartElement().getAttributes();
	while (attributes.hasNext()) {
		Attribute attribute = (Attribute) attributes.next();
		if (count == index) {
			return attribute;
		}
		else {
			count++;
		}
	}
	throw new IllegalArgumentException();
}
 
@SuppressWarnings( "unchecked" )
@Override
public void convert( final XMLEvent event, final XMLEventWriter eventWriter ) throws XMLStreamException {
	if ( isStartElementNamed( event, "containedComponents" ) ) {
		final List<Attribute> attributes = new ArrayList<>();
		attributes.addAll( toList( event.asStartElement().getAttributes() ) );
		eventWriter.add( startElementNamed( "containedElements", attributes.iterator() ) );
		return;
	}

	if ( isEndElementNamed( event, "containedComponents" ) ) {
		eventWriter.add( endElementNamed( "containedElements" ) );
		return;
	}

	eventWriter.add( event );
}
 
private PolicySourceModel initializeNewModel(final StartElement element) throws PolicyException, XMLStreamException {
    PolicySourceModel model;

    final NamespaceVersion nsVersion = NamespaceVersion.resolveVersion(element.getName().getNamespaceURI());

    final Attribute policyName = getAttributeByName(element, nsVersion.asQName(XmlToken.Name));
    final Attribute xmlId = getAttributeByName(element, PolicyConstants.XML_ID);
    Attribute policyId = getAttributeByName(element, PolicyConstants.WSU_ID);

    if (policyId == null) {
        policyId = xmlId;
    } else if (xmlId != null) {
        throw LOGGER.logSevereException(new PolicyException(LocalizationMessages.WSP_0058_MULTIPLE_POLICY_IDS_NOT_ALLOWED()));
    }

    model = createSourceModel(nsVersion,
            (policyId == null) ? null : policyId.getValue(),
            (policyName == null) ? null : policyName.getValue());

    return model;
}
 
源代码6 项目: openjdk-jdk9   文件: TubelineFeatureReader.java
public TubelineFeature parse(XMLEventReader reader) throws WebServiceException {
    try {
        final StartElement element = reader.nextEvent().asStartElement();
        boolean attributeEnabled = true;
        final Iterator iterator = element.getAttributes();
        while (iterator.hasNext()) {
            final Attribute nextAttribute = (Attribute) iterator.next();
            final QName attributeName = nextAttribute.getName();
            if (ENABLED_ATTRIBUTE_NAME.equals(attributeName)) {
                attributeEnabled = ParserUtil.parseBooleanValue(nextAttribute.getValue());
            } else if (NAME_ATTRIBUTE_NAME.equals(attributeName)) {
                // TODO use name attribute
            } else {
                // TODO logging message
                throw LOGGER.logSevereException(new WebServiceException("Unexpected attribute"));
            }
        }
        return parseFactories(attributeEnabled, element, reader);
    } catch (XMLStreamException e) {
        throw LOGGER.logSevereException(new WebServiceException("Failed to unmarshal XML document", e));
    }
}
 
private void handleStartElement(StartElement startElement) throws SAXException {
	if (getContentHandler() != null) {
		QName qName = startElement.getName();
		if (hasNamespacesFeature()) {
			for (Iterator i = startElement.getNamespaces(); i.hasNext();) {
				Namespace namespace = (Namespace) i.next();
				startPrefixMapping(namespace.getPrefix(), namespace.getNamespaceURI());
			}
			for (Iterator i = startElement.getAttributes(); i.hasNext();){
				Attribute attribute = (Attribute) i.next();
				QName attributeName = attribute.getName();
				startPrefixMapping(attributeName.getPrefix(), attributeName.getNamespaceURI());
			}

			getContentHandler().startElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName),
					getAttributes(startElement));
		}
		else {
			getContentHandler().startElement("", "", toQualifiedName(qName), getAttributes(startElement));
		}
	}
}
 
源代码8 项目: powsybl-core   文件: CimAnonymizer.java
private Attribute anonymizeAttribute(Attribute attribute) {
    if (attribute.getName().equals(RDF_ID)) {
        return xmlStaxContext.eventFactory.createAttribute(attribute.getName(), dictionary.anonymize(attribute.getValue()));
    } else if (attribute.getName().equals(RDF_RESOURCE) || attribute.getName().equals(RDF_ABOUT)) {
        // skip outside graph rdf:ID references
        AttributeValue value  = AttributeValue.parseValue(attribute);
        if ((value.getNsUri() == null || !value.getNsUri().matches(CIM_URI_PATTERN)) &&
                (rdfIdValues == null || rdfIdValues.contains(value.get()))) {
            return xmlStaxContext.eventFactory.createAttribute(attribute.getName(), value.toString(dictionary));
        } else {
            skipped.add(attribute.getValue());
            return null;
        }
    } else {
        throw new AssertionError("Unknown attribute " + attribute.getName());
    }
}
 
源代码9 项目: powsybl-core   文件: CimAnonymizer.java
private void addRdfIdValues(InputStream is, Set<String> rdfIdValues) throws XMLStreamException {
    // memoize RDF ID values of the document
    XMLEventReader eventReader = xmlStaxContext.inputFactory.createXMLEventReader(is);
    while (eventReader.hasNext()) {
        XMLEvent event = eventReader.nextEvent();
        if (event.isStartElement()) {
            StartElement startElement = event.asStartElement();
            Iterator it = startElement.getAttributes();
            while (it.hasNext()) {
                Attribute attribute = (Attribute) it.next();
                QName name = attribute.getName();
                if (RDF_ID.equals(name)) {
                    rdfIdValues.add(attribute.getValue());
                }
            }
        }
    }
    eventReader.close();
}
 
源代码10 项目: openjdk-jdk9   文件: XmlPolicyModelUnmarshaller.java
private Attribute getAttributeByName(final StartElement element,
        final QName attributeName) {
    // call standard API method to retrieve the attribute by name
    Attribute attribute = element.getAttributeByName(attributeName);

    // try to find the attribute without a prefix.
    if (attribute == null) {
        final String localAttributeName = attributeName.getLocalPart();
        final Iterator iterator = element.getAttributes();
        while (iterator.hasNext()) {
            final Attribute nextAttribute = (Attribute) iterator.next();
            final QName aName = nextAttribute.getName();
            final boolean attributeFoundByWorkaround = aName.equals(attributeName) || (aName.getLocalPart().equals(localAttributeName) && (aName.getPrefix() == null || "".equals(aName.getPrefix())));
            if (attributeFoundByWorkaround) {
                attribute = nextAttribute;
                break;
            }

        }
    }

    return attribute;
}
 
源代码11 项目: openjdk-jdk9   文件: StartElementEvent.java
@Override
public Iterator<Attribute> getAttributes() {
    if (fAttributes != null) {
        Collection<Attribute> coll = fAttributes.values();
        return new ReadOnlyIterator<>(coll.iterator());
    }
    return new ReadOnlyIterator<>();
}
 
源代码12 项目: openjdk-jdk8u-backup   文件: StartElementEvent.java
void addAttributes(Iterator attrs){
    if(attrs == null)
        return;
    while(attrs.hasNext()){
        Attribute attr = (Attribute)attrs.next();
        fAttributes.put(attr.getName(),attr);
    }
}
 
源代码13 项目: lams   文件: AuditConfigParser.java
private AuditProviderEntry getEntry(XMLStreamReader reader) throws XMLStreamException
{
   String codeName = null;
   Map<String, Object> options = new HashMap<String, Object>();
   final int count = reader.getAttributeCount();
   if (count < 1)
   {
      throw StaxParserUtil.missingRequired(reader, Collections.singleton(org.jboss.security.config.Attribute.CODE));
   }
   for (int i = 0; i < count; i++)
   {
      final String value = reader.getAttributeValue(i);
      final org.jboss.security.config.Attribute attribute = org.jboss.security.config.Attribute.forName(reader
            .getAttributeLocalName(i));
      switch (attribute)
      {
         case CODE : {
            codeName = value;
            break;
         }
         default :
            throw StaxParserUtil.unexpectedAttribute(reader, i);
      }
   }
   //See if there are options
   ModuleOptionParser moParser = new ModuleOptionParser();
   options.putAll(moParser.parse(reader));

   AuditProviderEntry entry = new AuditProviderEntry(codeName, options);
   return entry;
}
 
源代码14 项目: hop   文件: XmlInputStream.java
private void parseAttribute( Object[] outputRowDataAttribute, Attribute a, boolean enabledNamespaces ) {
  if ( data.pos_xml_data_name != -1 ) {
    outputRowDataAttribute[data.pos_xml_data_name] = getAttributeName( a, enabledNamespaces );
  }
  if ( data.pos_xml_data_value != -1 ) {
    outputRowDataAttribute[data.pos_xml_data_value] = a.getValue();
  }
}
 
源代码15 项目: openjdk-jdk9   文件: XMLEventWriterOutput.java
public void attribute(int prefix, String localName, String value) throws IOException, XMLStreamException {
    Attribute att;
    if(prefix==-1)
        att = ef.createAttribute(localName,value);
    else
        att = ef.createAttribute(
                nsContext.getPrefix(prefix),
                nsContext.getNamespaceURI(prefix),
                localName, value);

    out.add(att);
}
 
源代码16 项目: openjdk-8   文件: XmlPolicyModelUnmarshaller.java
private void parseAssertionData(NamespaceVersion nsVersion, String value, ModelNode childNode, final StartElement childElement) throws IllegalArgumentException, PolicyException {
    // finish assertion node processing: create and set assertion data...
    final Map<QName, String> attributeMap = new HashMap<QName, String>();
    boolean optional = false;
    boolean ignorable = false;

    final Iterator iterator = childElement.getAttributes();
    while (iterator.hasNext()) {
        final Attribute nextAttribute = (Attribute) iterator.next();
        final QName name = nextAttribute.getName();
        if (attributeMap.containsKey(name)) {
            throw LOGGER.logSevereException(new PolicyException(LocalizationMessages.WSP_0059_MULTIPLE_ATTRS_WITH_SAME_NAME_DETECTED_FOR_ASSERTION(nextAttribute.getName(), childElement.getName())));
        } else {
            if (nsVersion.asQName(XmlToken.Optional).equals(name)) {
                optional = parseBooleanValue(nextAttribute.getValue());
            } else if (nsVersion.asQName(XmlToken.Ignorable).equals(name)) {
                ignorable = parseBooleanValue(nextAttribute.getValue());
            } else {
                attributeMap.put(name, nextAttribute.getValue());
            }
        }
    }
    final AssertionData nodeData = new AssertionData(childElement.getName(), value, attributeMap, childNode.getType(), optional, ignorable);

    // check visibility value syntax if present...
    if (nodeData.containsAttribute(PolicyConstants.VISIBILITY_ATTRIBUTE)) {
        final String visibilityValue = nodeData.getAttributeValue(PolicyConstants.VISIBILITY_ATTRIBUTE);
        if (!PolicyConstants.VISIBILITY_VALUE_PRIVATE.equals(visibilityValue)) {
            throw LOGGER.logSevereException(new PolicyException(LocalizationMessages.WSP_0004_UNEXPECTED_VISIBILITY_ATTR_VALUE(visibilityValue)));
        }
    }

    childNode.setOrReplaceNodeData(nodeData);
}
 
源代码17 项目: TencentKona-8   文件: StartElementEvent.java
public void addAttributes(Iterator attrs){
    if(attrs != null) {
        while(attrs.hasNext()){
            Attribute attr = (Attribute)attrs.next();
            _attributes.put(attr.getName(),attr);
        }
    }
}
 
源代码18 项目: KeePassJava2   文件: KdbxOutputTransformer.java
@Override
public XMLEvent transform(XMLEvent event) {
    switch (event.getEventType()) {
        case START_ELEMENT: {
            Attribute attribute = event.asStartElement().getAttributeByName(new QName("Protected"));
            if (attribute != null) {
                encryptContent = Helpers.toBoolean(attribute.getValue());
                // this is a workaround for Simple XML not calling converter on attributes
                List<Attribute> attributes = new ArrayList<>();
                if (attribute.getValue().toLowerCase().equals("true")) {
                    attributes.add(eventFactory.createAttribute("Protected", "True"));
                }
                event = eventFactory.createStartElement(
                        event.asStartElement().getName(),
                        attributes.iterator(),
                        null);
            }
            break;
        }
        case CHARACTERS: {
            if (encryptContent) {
                String unencrypted = event.asCharacters().getData();
                String encrypted = Helpers.encodeBase64Content(encryptor.encrypt(unencrypted.getBytes()), false);
                event = eventFactory.createCharacters(encrypted);
            }
            break;
        }
        case END_ELEMENT: {
            encryptContent = false;
            break;
        }
    }
    return event;
}
 
源代码19 项目: woodstox   文件: CompactStartElement.java
@Override
public Attribute getAttributeByName(QName name)
{
    if (mAttrs == null) {
        return null;
    }
    int ix = mAttrs.findIndex(name);
    if (ix < 0) {
        return null;
    }
    return constructAttr(mRawAttrs, ix, mAttrs.isDefault(ix));
}
 
源代码20 项目: TencentKona-8   文件: StAXEvent2SAX.java
/**
 * Get the attributes associated with the given START_ELEMENT StAXevent.
 *
 * @return the StAX attributes converted to an org.xml.sax.Attributes
 */
private Attributes getAttributes(StartElement event) {
    AttributesImpl attrs = new AttributesImpl();

    if ( !event.isStartElement() ) {
        throw new InternalError(
            "getAttributes() attempting to process: " + event);
    }

    // in SAX, namespace declarations are not part of attributes by default.
    // (there's a property to control that, but as far as we are concerned
    // we don't use it.) So don't add xmlns:* to attributes.

    // gather non-namespace attrs
    for (Iterator i = event.getAttributes(); i.hasNext();) {
        Attribute staxAttr = (javax.xml.stream.events.Attribute)i.next();

        String uri = staxAttr.getName().getNamespaceURI();
        if (uri == null) {
            uri = "";
        }
        String localName = staxAttr.getName().getLocalPart();
        String prefix = staxAttr.getName().getPrefix();
        String qName;
        if (prefix == null || prefix.length() == 0) {
            qName = localName;
        } else {
            qName = prefix + ':' + localName;
        }
        String type = staxAttr.getDTDType();
        String value = staxAttr.getValue();

        attrs.addAttribute(uri, localName, qName, type, value);
    }

    return attrs;
}
 
源代码21 项目: olingo-odata4   文件: AtomDeserializer.java
private Entity entityRef(final StartElement start) throws XMLStreamException {
  final Entity entity = new Entity();

  final Attribute entityRefId = start.getAttributeByName(Constants.QNAME_ATOM_ATTR_ID);
  if (entityRefId != null) {
    entity.setId(URI.create(entityRefId.getValue()));
  }

  return entity;
}
 
源代码22 项目: openjdk-jdk9   文件: StartElementEvent.java
void addAttribute(Attribute attr) {
    if (attr.isNamespace()) {
        fNamespaces.add((Namespace) attr);
    } else {
        fAttributes.put(attr.getName(), attr);
    }
}
 
源代码23 项目: Bytecoder   文件: StartElementEvent.java
@Override
public Iterator<Attribute> getAttributes() {
    if (fAttributes != null) {
        Collection<Attribute> coll = fAttributes.values();
        return new ReadOnlyIterator<>(coll.iterator());
    }
    return new ReadOnlyIterator<>();
}
 
源代码24 项目: woodstox   文件: SimpleStartElement.java
@Override
public Attribute getAttributeByName(QName name)
{
    if (mAttrs == null) {
        return null;
    }
    return mAttrs.get(name);
}
 
源代码25 项目: jdk8u60   文件: StartElementEvent.java
public void addAttributes(Iterator attrs){
    if(attrs != null) {
        while(attrs.hasNext()){
            Attribute attr = (Attribute)attrs.next();
            _attributes.put(attr.getName(),attr);
        }
    }
}
 
源代码26 项目: hottub   文件: StAXSchemaParser.java
private void fillXMLAttributes(StartElement event) {
    fAttributes.removeAllAttributes();
    final Iterator attrs = event.getAttributes();
    while (attrs.hasNext()) {
        Attribute attr = (Attribute) attrs.next();
        fillQName(fAttributeQName, attr.getName());
        String type = attr.getDTDType();
        int idx = fAttributes.getLength();
        fAttributes.addAttributeNS(fAttributeQName,
                (type != null) ? type : XMLSymbols.fCDATASymbol, attr.getValue());
        fAttributes.setSpecified(idx, attr.isSpecified());
    }
}
 
源代码27 项目: lams   文件: StaxEventHandler.java
private List<Attribute> getAttributes(Attributes attributes) {
	List<Attribute> result = new ArrayList<Attribute>();
	for (int i = 0; i < attributes.getLength(); i++) {
		QName attrName = toQName(attributes.getURI(i), attributes.getQName(i));
		if (!isNamespaceDeclaration(attrName)) {
			result.add(this.eventFactory.createAttribute(attrName, attributes.getValue(i)));
		}
	}
	return result;
}
 
源代码28 项目: openjdk-8   文件: XMLEventWriterOutput.java
public void attribute(int prefix, String localName, String value) throws IOException, XMLStreamException {
    Attribute att;
    if(prefix==-1)
        att = ef.createAttribute(localName,value);
    else
        att = ef.createAttribute(
                nsContext.getPrefix(prefix),
                nsContext.getNamespaceURI(prefix),
                localName, value);

    out.add(att);
}
 
源代码29 项目: lams   文件: AuthenticationConfigParser.java
@SuppressWarnings("unchecked")
private AppConfigurationEntry getEntry(XMLEventReader xmlEventReader) throws XMLStreamException
{
   XMLEvent xmlEvent = xmlEventReader.nextEvent();
   Map<String, Object> options = new HashMap<String,Object>();
   
   String codeName = null;
   LoginModuleControlFlag controlFlag = LoginModuleControlFlag.REQUIRED;
   
   //We got the login-module element
   StartElement loginModuleElement = (StartElement) xmlEvent;
   //We got the login-module element
   Iterator<Attribute> attrs = loginModuleElement.getAttributes();
   while(attrs.hasNext())
   {
      Attribute attribute = attrs.next();
      
      QName attQName = attribute.getName();
      String attributeValue = StaxParserUtil.getAttributeValue(attribute);
      
      if("code".equals(attQName.getLocalPart()))
      {
         codeName = attributeValue;
      }
      else if("flag".equals(attQName.getLocalPart()))
      {
         controlFlag = getControlFlag(attributeValue);
      } 
   } 
   //See if there are options
   ModuleOptionParser moParser = new ModuleOptionParser();
   options.putAll(moParser.parse(xmlEventReader));
   
   return new AppConfigurationEntry(codeName, controlFlag, options); 
}
 
源代码30 项目: JDKSourceCode1.8   文件: StAXEvent2SAX.java
/**
 * Get the attributes associated with the given START_ELEMENT StAXevent.
 *
 * @return the StAX attributes converted to an org.xml.sax.Attributes
 */
private Attributes getAttributes(StartElement event) {
    AttributesImpl attrs = new AttributesImpl();

    if ( !event.isStartElement() ) {
        throw new InternalError(
            "getAttributes() attempting to process: " + event);
    }

    // in SAX, namespace declarations are not part of attributes by default.
    // (there's a property to control that, but as far as we are concerned
    // we don't use it.) So don't add xmlns:* to attributes.

    // gather non-namespace attrs
    for (Iterator i = event.getAttributes(); i.hasNext();) {
        Attribute staxAttr = (javax.xml.stream.events.Attribute)i.next();

        String uri = staxAttr.getName().getNamespaceURI();
        if (uri == null) {
            uri = "";
        }
        String localName = staxAttr.getName().getLocalPart();
        String prefix = staxAttr.getName().getPrefix();
        String qName;
        if (prefix == null || prefix.length() == 0) {
            qName = localName;
        } else {
            qName = prefix + ':' + localName;
        }
        String type = staxAttr.getDTDType();
        String value = staxAttr.getValue();

        attrs.addAttribute(uri, localName, qName, type, value);
    }

    return attrs;
}