<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」を表示する