Hallo,
also bei mir hat beides funktioniert.
Hier ein kleiner Auszug aus meiner Schulung:
(P.S.: Commit ist erforderlich!! Also auch zwischendurch ein COMMIT absetzen)
1. Sicherstellen, dass das XSD nicht schon zuvor registriert wurde
Code:
CALL SYSPROC.XSR_remove ('PRANLIB', 'ArrayOfLogin')
2. Variable erstellen und das XSD aus dem IFS importieren
Code:
create or replace variable pranlib.var1 blob
set pranlib.var1 =GET_xml_FILE('/home/prouza/login.xsd')
3. XSD registirieren
Code:
CALL SYSPROC.XSR_REGISTER('PRANLIB', 'ArrayOfLogin', null,
pranlib.var1 , null)
4. Finalisieren
Code:
call sysproc.xsr_complete ('PRANLIB', 'ArrayOfLogin', null, 0)
XSD selbst schaut vereinfacht wie folgt aus:
HTML-Code:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="ArrayOfLogIn">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="LogIn">
<xs:complexType>
<xs:sequence>
<xs:element name="User" type="xs:string" minOccurs="0" />
<xs:element name="Password" type="xs:string" minOccurs="0" />
<!-- usw... -->
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Interessant wird es dann, wenn du dann das XML in eine Relationale Datenbank importieren willst. Dafür musst du zusätzlich im XSD ein entsprechendes Mapping includieren.
lg Andreas
Bookmarks