요소가 데이터 인스턴스를 두 개 이상 포함할 수 있도록 비즈니스 오브젝트에서 요소의 배열을 정의할 수 있습니다.
<xsd:element name="telephone" type="xsd:string" maxOccurs="3"/>이 결과로 최대 세 개의 데이터 인스턴스를 보유할 수 있는 요소 telephone의 목록 색인이 작성됩니다. 또한 배열에 항목을 하나만 포함하려는 경우 값 minOccurs를 사용할 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Customer"> <xsd:complexType> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="ArrayOfTelephone" type="ArrayOfTelephone"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="ArrayOfTelephone"> <xsd:sequence maxOccurs="3"> <xsd:element name="telephone" type="xsd:string" nillable="true"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
telephone 요소는 이제 ArrayOfTelephone 랩퍼 오브젝트의 하위로 표시됩니다.
<Customer> <name>Bob</name> <ArrayOfTelephone> <telephone>111-1111</telephone> <telephone xsi:nil="true"/> <telephone>333-3333</telephone> </ArrayOfTelephone> </Customer>이 경우, telephone 요소의 배열 색인에서 첫 번째 및 세 번째 항목은 데이터를 포함하고 두 번째 항목은 데이터를 포함하지 않습니다. telephone 요소에 대해 nillable 특성을 사용하지 않은 경우 처음 두 요소에 데이터가 포함되어 있어야 합니다.
DataObject customer = ... customer.setString("name", "Bob"); DataObject tele_array = customer.createDataObject("ArrayOfTelephone"); Sequence seq = tele_array.getSequence(); // The array is sequenced seq.add("telephone", "111-1111"); seq.add("telephone", null); seq.add("telephone", "333-3333");아래 예제와 유사한 코드를 사용하여 주어진 요소 배열 색인의 데이터를 리턴할 수 있습니다.
String tele3 = tele_array.get("telephone[3]"); // tele3 = "333-3333"이 예제에서 tele3이라는 문자열은 데이터 "333-3333"을 리턴합니다.
JMS 또는 MQ 메시지 큐에 놓인 분리된 데이터 또는 고정 너비를 사용하여 목록 색인에 배열의 데이터 항목을 채울 수 있습니다. 또한 올바르게 형식화된 데이터를 포함하는 일반 텍스트 파일을 사용하여 이 타스크를 수행할 수 있습니다.