XML 스키마를 가능한 한 자세하게 만들려면 워크벤치가 변경되지 않는 이러한 결과 세트의 구조에 대해 알고 있어야 합니다. 이 정보를 찾으려면 워크벤치는 스토어드 프로시저를 실행해야 합니다. 워크벤치가 이를 수행하려면 먼저 사용자가 입력 매개변수의 값을 제공해야 합니다.
예를 들어, "two_result_sets" 조작은 항상 동일한 입력 값을 승인하고 항상 동일한 두 개의 결과 세트를 리턴하는 스토어드 프로시저를 호출합니다. 입력 값을 제공하지 않고 스토어드 프로시저를 실행할 경우 워크벤치는 응답 메시지에 대해 다음 디폴트 XML 스키마를 작성합니다.
<xsd:element name="two_result_sets_Response"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="0" name="rowset" type="tns:anonymousResultSetType" /> <xsd:element maxOccurs="1" minOccurs="0" name="rowset2" type="tns:anonymousResultSetType" /> </xsd:sequence> </xsd:complexType> </xsd:element>
이 XML 스키마에는 컬럼 또는 데이터 유형에 대한 정보가 포함되어 있지 않습니다.
그러나 입력 값을 제공하고 워크벤치가 스토어드 프로시저를 실행하도록 하면 워크벤치는 응답 메시지에 대해 다음 디폴트 XML 스키마를 생성합니다.
<xsd:element name="two_result_setsResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="rowset"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="row"> <xsd:complexType> <xsd:sequence> <xsd:element name="NAME" nillable="true" type="xsd:string" /> <xsd:element name="JOB" nillable="true" type="xsd:string" /> <xsd:element name="_x0033_" nillable="true" type="xsd:double" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="rowset2"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="row"> <xsd:complexType> <xsd:sequence> <xsd:element name="NAME" nillable="true" type="xsd:string" /> <xsd:element name="JOB" nillable="true" type="xsd:string" /> <xsd:element name="_x0033_" nillable="true" type="xsd:double" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>