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


Différenciation d'éléments portant le même nom

Vous devez donner des noms uniques aux éléments et attributs d'objet de données.

Dans l'infrastructure SDO, les éléments et les attributs sont créés en tant que propriétés. Dans les exemples de code suivants, les XSD créent des types comportant une propriété nommée foo :

<xsd:complexType name="ElementFoo">
  <xsd:sequence>
    <xsd:element name="foo" type="xsd:string" default="elem_value"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="AttributeFoo">
  <xsd:attribute name="foo" type="xsd:string" default="attr_value"/>
</xsd:complexType>

Dans ces cas-là, vous pouvez accéder à la propriété en utilisant le langage XML Path (XPath). Cependant, les types de schéma valides peuvent comporter un attribut et un élément qui portent le même nom, comme dans l'exemple suivant :

<xsd:complexType name="DuplicateNames">
  <xsd:sequence>
    <xsd:element name="foo" type="xsd:string" default="elem_value"/>
  </xsd:sequence>
  <xsd:attribute name="foo" type="xsd:string" default="attr_value"/>
</xsd:complexType>

Dans XPath, vous devez pouvoir différencier des éléments portant le même nom des attributs. Pour cela, on ajoute au début des noms le symbole (@). Le fragment suivant montre comment accéder à un élément et un attribut portant le même nom :

1	DataObject duplicateNames = ...

2	// Affiche "elem_value"
3	System.out.println(duplicateNames.get("foo"));

4	// Affiche "attr_value"
5	System.out.println(duplicateNames.get("@foo"));

Utilisez ce schéma de désignation pour toutes les méthodes prenant une valeur de chaîne dans un XPath SDO.


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_workingwithattrs.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).