WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Comment obtenir/définir des valeurs AnyAttribute ?

Définir une valeur <anyAttribute/> est effectué de la même manière que pour une balise <any/>, mais un attribut global est utilisé à la place d'un élément global.

Exécuter une instruction get sur des données qui ont été définies dans un champ anyAttribute peut être effectué de la même manière que pour une autre valeur d'attribut si le nom est connu. Vous pouvez envoyer une instruction get avec la balise XPath "@<name>" pour la résoudre. Si le nom est inconnu, vous pouvez utiliser le code ci-dessus pour itérer les valeurs et y accéder une par une. L'exemple de code suivant montre comment procéder :

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:tns="http://AnyAttrOnlyMixed" 
 targetNamespace="http://AnyAttrOnly">
  <xsd:complexType name="AnyAttrOnly">
    <xsd:sequence>
      <xsd:element name="element" type="xsd:string"/>
    </xsd:sequence>
    <xsd:anyAttribute/>
  </xsd:complexType>
</xsd:schema>

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	targetNamespace="http://GlobalAttrs">
  <xsd:attribute name="globalAttribute" type="xsd:string"/>
</xsd:schema>

	Data Object dobj = ...

	// Obtenir la propriété de l'attribut global qui va être défini
	Property globalProp = boXsdHelper.getGlobalProperty(http://GlobalAttrs, 
	"globalAttribute", false);

	// Définir la valeur sur l'objet de données, comme n'importe quelle autre donnée
	dobj.set(globalProp, "foo");

	// Il est maintenant possible d'accéder aux données avec une instruction get
	System.out.println(dobj.get("@globalAttribute")); // Affiche "foo"

concept Rubrique concept

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cbo_howgetsetanyattrs.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).