WebSphere Enterprise Service Bus バージョン 6.2.0 オペレーティング・システム: AIX、HP-UX、i5/OS、Linux、Solaris、Windows


どのようにして anyAttribute の値を取得/設定するか

<anyAttribute/> 値の設定は、<any/> と同じ方法で行いますが、グローバル・エレメントの代わりにグローバル属性を使用します。

anyAttribute フィールドに設定されたデータの取得は、名前が分かっている場合、他のすべての属性値と同じように行うことができます。XPath の「@<name>」で get を行うことができ、それは解決されます。名前が不明の場合は、上記のコードを使用すると、値に 1 つずつ反復してアクセスできます。次のコード例は、それを示しています。

<?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>

	DataObject dobj = ...

	// 設定しようとしているグローバル属性 Property を取得する
	Property globalProp = boXsdHelper.getGlobalProperty(http://GlobalAttrs, 
	"globalAttribute", false);

	// 他のすべてのデータとまったく同じように、dobj に値を設定する
	dobj.set(globalProp, "foo");

	// これで、get 呼び出しによってデータにアクセスできる
	System.out.println(dobj.get("@globalAttribute")); // 「foo」を表示する

concept 概念トピック

ご利用条件 | フィードバック


タイムスタンプ・アイコン 最終更新: 2010/07/05


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.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。