Hello Ilya,
Thanks for your reply.
I tried to send you an email to the following address
(e-mail address removed) but it got rejected. I cut
and paste the source code. The sample application has 3
files. A window form, an xsd file named project_task.xsd
and an xml file named project_task.xml.
I do believe that the xsd and the xml structure are
correct, but I could be wrong. We tried several
combinations and moving elements around but with no avail.
When you test the application in .NET Compact framework
SP1 please notice the record count on the PART NEED table
which will be one (1). With .NET Compact framework SP2 the
record count for PART NEED is always zero (0). The
application was built with VB.NET Visual Studio 2003.
I also ported the application into the .NET framework as
a windows application and the dataset loaded properly.
Since my company is close to release the first version of
a mobile application we do not feel comfortable running on
a beta service pack therefore we did not tested on SP3
beta (still waiting for my guest account ...)
If you need more info please let me know.
Thanks again.
Best Regards,
Fabio De Martino
VB.NET Sample application source code as follow:
BEGIN WINDOW FORM
Imports System.IO
Imports System.Xml
Public Class FrmTest
Inherits System.Windows.Forms.Form
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents TextBoxProjTaskCount As
System.Windows.Forms.TextBox
Friend WithEvents TextBoxPartNeedCount As
System.Windows.Forms.TextBox
Friend WithEvents TextBoxRequestCount As
System.Windows.Forms.TextBox
Friend WithEvents TextBoxProjectTextCount As
System.Windows.Forms.TextBox
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents TextBoxPartUsageCount As
System.Windows.Forms.TextBox
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents TextBoxNonPartUsage As
System.Windows.Forms.TextBox
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents TextBoxProjectEvent As
System.Windows.Forms.TextBox
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents TextBoxRequestContact As
System.Windows.Forms.TextBox
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents TextBoxRequestProductCount As
System.Windows.Forms.TextBox
Friend WithEvents Label11 As System.Windows.Forms.Label
Friend WithEvents TextBoxPlaceCount As
System.Windows.Forms.TextBox
Friend WithEvents Label12 As System.Windows.Forms.Label
Friend WithEvents TextBoxUserDefCodes As
System.Windows.Forms.TextBox
Friend WithEvents Label13 As System.Windows.Forms.Label
Friend WithEvents MainMenu1 As
System.Windows.Forms.MainMenu
Dim data As New DataSet
Dim DeviceAppPath As String
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form
Designer.
InitializeComponent()
'Add any initialization after the
InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal
disposing As Boolean)
MyBase.Dispose(disposing)
End Sub
'NOTE: The following procedure is required by the
Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents Button1 As
System.Windows.Forms.Button
Private Sub InitializeComponent()
Me.MainMenu1 = New System.Windows.Forms.MainMenu
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.Label5 = New System.Windows.Forms.Label
Me.TextBoxProjTaskCount = New
System.Windows.Forms.TextBox
Me.TextBoxPartNeedCount = New
System.Windows.Forms.TextBox
Me.TextBoxRequestCount = New
System.Windows.Forms.TextBox
Me.TextBoxProjectTextCount = New
System.Windows.Forms.TextBox
Me.Label6 = New System.Windows.Forms.Label
Me.TextBoxPartUsageCount = New
System.Windows.Forms.TextBox
Me.Label7 = New System.Windows.Forms.Label
Me.TextBoxNonPartUsage = New
System.Windows.Forms.TextBox
Me.Label8 = New System.Windows.Forms.Label
Me.TextBoxProjectEvent = New
System.Windows.Forms.TextBox
Me.Label9 = New System.Windows.Forms.Label
Me.TextBoxRequestContact = New
System.Windows.Forms.TextBox
Me.Label10 = New System.Windows.Forms.Label
Me.TextBoxRequestProductCount = New
System.Windows.Forms.TextBox
Me.Label11 = New System.Windows.Forms.Label
Me.TextBoxPlaceCount = New
System.Windows.Forms.TextBox
Me.Label12 = New System.Windows.Forms.Label
Me.TextBoxUserDefCodes = New
System.Windows.Forms.TextBox
Me.Label13 = New System.Windows.Forms.Label
Me.Button1 = New System.Windows.Forms.Button
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(16,
0)
Me.Label1.Size = New System.Drawing.Size(40, 16)
Me.Label1.Text = "Tables"
'
'Label2
'
Me.Label2.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label2.Location = New System.Drawing.Point(104,
0)
Me.Label2.Size = New System.Drawing.Size(80, 16)
Me.Label2.Text = "Record Count"
'
'Label3
'
Me.Label3.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label3.Location = New System.Drawing.Point(16,
20)
Me.Label3.Size = New System.Drawing.Size(72, 16)
Me.Label3.Text = "Project Task"
'
'Label4
'
Me.Label4.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label4.Location = New System.Drawing.Point(16,
137)
Me.Label4.Size = New System.Drawing.Size(64, 16)
Me.Label4.Text = "Request"
'
'Label5
'
Me.Label5.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label5.Location = New System.Drawing.Point(16,
161)
Me.Label5.Size = New System.Drawing.Size(64, 16)
Me.Label5.Text = "Part Need"
'
'TextBoxProjTaskCount
'
Me.TextBoxProjTaskCount.Location = New
System.Drawing.Point(128, 17)
Me.TextBoxProjTaskCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxProjTaskCount.Text = ""
'
'TextBoxPartNeedCount
'
Me.TextBoxPartNeedCount.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxPartNeedCount.Location = New
System.Drawing.Point(128, 161)
Me.TextBoxPartNeedCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxPartNeedCount.Text = ""
'
'TextBoxRequestCount
'
Me.TextBoxRequestCount.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxRequestCount.Location = New
System.Drawing.Point(128, 137)
Me.TextBoxRequestCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxRequestCount.Text = ""
'
'TextBoxProjectTextCount
'
Me.TextBoxProjectTextCount.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxProjectTextCount.Location = New
System.Drawing.Point(128, 41)
Me.TextBoxProjectTextCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxProjectTextCount.Text = ""
'
'Label6
'
Me.Label6.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label6.Location = New System.Drawing.Point(16,
41)
Me.Label6.Size = New System.Drawing.Size(72, 16)
Me.Label6.Text = "Project Text"
'
'TextBoxPartUsageCount
'
Me.TextBoxPartUsageCount.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxPartUsageCount.Location = New
System.Drawing.Point(128, 65)
Me.TextBoxPartUsageCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxPartUsageCount.Text = ""
'
'Label7
'
Me.Label7.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label7.Location = New System.Drawing.Point(16,
65)
Me.Label7.Size = New System.Drawing.Size(72, 16)
Me.Label7.Text = "Part Usage"
'
'TextBoxNonPartUsage
'
Me.TextBoxNonPartUsage.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxNonPartUsage.Location = New
System.Drawing.Point(128, 89)
Me.TextBoxNonPartUsage.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxNonPartUsage.Text = ""
'
'Label8
'
Me.Label8.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label8.Location = New System.Drawing.Point(16,
89)
Me.Label8.Size = New System.Drawing.Size(96, 16)
Me.Label8.Text = "Non Part Usage"
'
'TextBoxProjectEvent
'
Me.TextBoxProjectEvent.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxProjectEvent.Location = New
System.Drawing.Point(128, 113)
Me.TextBoxProjectEvent.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxProjectEvent.Text = ""
'
'Label9
'
Me.Label9.Font = New System.Drawing.Font("Tahoma",
9.0!, System.Drawing.FontStyle.Regular)
Me.Label9.Location = New System.Drawing.Point(16,
113)
Me.Label9.Size = New System.Drawing.Size(96, 16)
Me.Label9.Text = "Project Event"
'
'TextBoxRequestContact
'
Me.TextBoxRequestContact.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxRequestContact.Location = New
System.Drawing.Point(128, 185)
Me.TextBoxRequestContact.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxRequestContact.Text = ""
'
'Label10
'
Me.Label10.Font = New System.Drawing.Font
("Tahoma", 9.0!, System.Drawing.FontStyle.Regular)
Me.Label10.Location = New System.Drawing.Point(16,
185)
Me.Label10.Size = New System.Drawing.Size(96, 16)
Me.Label10.Text = "Request Contact"
'
'TextBoxRequestProductCount
'
Me.TextBoxRequestProductCount.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxRequestProductCount.Location = New
System.Drawing.Point(128, 209)
Me.TextBoxRequestProductCount.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxRequestProductCount.Text = ""
'
'Label11
'
Me.Label11.Font = New System.Drawing.Font
("Tahoma", 9.0!, System.Drawing.FontStyle.Regular)
Me.Label11.Location = New System.Drawing.Point(16,
209)
Me.Label11.Size = New System.Drawing.Size(96, 16)
Me.Label11.Text = "Request Product"
'
'TextBoxPlaceCount
'
Me.TextBoxPlaceCount.Font = New System.Drawing.Font
("Tahoma", 9.0!, System.Drawing.FontStyle.Regular)
Me.TextBoxPlaceCount.Location = New
System.Drawing.Point(128, 232)
Me.TextBoxPlaceCount.Size = New System.Drawing.Size
(32, 22)
Me.TextBoxPlaceCount.Text = ""
'
'Label12
'
Me.Label12.Font = New System.Drawing.Font
("Tahoma", 9.0!, System.Drawing.FontStyle.Regular)
Me.Label12.Location = New System.Drawing.Point(16,
232)
Me.Label12.Size = New System.Drawing.Size(96, 16)
Me.Label12.Text = "Place"
'
'TextBoxUserDefCodes
'
Me.TextBoxUserDefCodes.Font = New
System.Drawing.Font("Tahoma", 9.0!,
System.Drawing.FontStyle.Regular)
Me.TextBoxUserDefCodes.Location = New
System.Drawing.Point(128, 256)
Me.TextBoxUserDefCodes.Size = New
System.Drawing.Size(32, 22)
Me.TextBoxUserDefCodes.Text = ""
'
'Label13
'
Me.Label13.Font = New System.Drawing.Font
("Tahoma", 9.0!, System.Drawing.FontStyle.Regular)
Me.Label13.Location = New System.Drawing.Point(16,
256)
Me.Label13.Size = New System.Drawing.Size(96, 16)
Me.Label13.Text = "User Def Codes"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point
(176, 104)
Me.Button1.Size = New System.Drawing.Size(40, 32)
Me.Button1.Text = "Do it"
'
'FrmTest
'
Me.ClientSize = New System.Drawing.Size(234, 287)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBoxUserDefCodes)
Me.Controls.Add(Me.Label13)
Me.Controls.Add(Me.TextBoxPlaceCount)
Me.Controls.Add(Me.Label12)
Me.Controls.Add(Me.TextBoxRequestProductCount)
Me.Controls.Add(Me.Label11)
Me.Controls.Add(Me.TextBoxRequestContact)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.TextBoxProjectEvent)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.TextBoxNonPartUsage)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.TextBoxPartUsageCount)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.TextBoxProjectTextCount)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.TextBoxRequestCount)
Me.Controls.Add(Me.TextBoxPartNeedCount)
Me.Controls.Add(Me.TextBoxProjTaskCount)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Menu = Me.MainMenu1
Me.Text = "XSD Dataset loading Test"
End Sub
#End Region
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Try
loadXMLData()
If Not data.Tables("non_part_usage") Is
Nothing Then
Me.TextBoxNonPartUsage.Text = data.Tables
("non_part_usage").Rows.Count
End If
If Not data.Tables("part_need") Is Nothing Then
Me.TextBoxPartNeedCount.Text = data.Tables
("part_need").Rows.Count
End If
If Not data.Tables("part_usage") Is Nothing
Then
Me.TextBoxPartUsageCount.Text = data.Tables
("part_usage").Rows.Count
End If
If Not data.Tables("place") Is Nothing Then
Me.TextBoxPlaceCount.Text = data.Tables
("place").Rows.Count
End If
If Not data.Tables("project_event") Is Nothing
Then
Me.TextBoxProjectEvent.Text = data.Tables
("project_event").Rows.Count
End If
If Not data.Tables("project_text") Is Nothing
Then
Me.TextBoxProjectTextCount.Text =
data.Tables("project_text").Rows.Count
End If
If Not data.Tables("project_task") Is Nothing
Then
Me.TextBoxProjTaskCount.Text = data.Tables
("project_task").Rows.Count
End If
If Not data.Tables("request_contact") Is
Nothing Then
Me.TextBoxRequestContact.Text = data.Tables
("request_contact").Rows.Count
End If
If Not data.Tables("request") Is Nothing Then
Me.TextBoxRequestCount.Text = data.Tables
("request").Rows.Count
End If
If Not data.Tables("request_product") Is
Nothing Then
Me.TextBoxRequestProductCount.Text =
data.Tables("request_product").Rows.Count
End If
If Not data.Tables("user_def_code") Is Nothing
Then
Me.TextBoxUserDefCodes.Text = data.Tables
("user_def_code").Rows.Count
End If
Catch ex As Exception
MessageBox.Show("Error.." + ex.Message)
End Try
End Sub
Function loadXMLData() As Boolean
Dim fs As FileStream = Nothing
Dim sw As StreamWriter = Nothing
Dim fd As FileStream = Nothing
Dim xr As XmlTextReader = Nothing
Dim xd As XmlTextReader = Nothing
Try
' if does not create an empty one
fs = New FileStream(DeviceAppPath
+ "project_task.xml", FileMode.Open, FileAccess.ReadWrite)
' This file has to be there when installed
fd = New FileStream(DeviceAppPath
+ "project_task.xsd", FileMode.Open, FileAccess.Read)
xr = New XmlTextReader(fs)
xd = New XmlTextReader(fd)
data.ReadXmlSchema(xd)
data.ReadXml(xr)
data.AcceptChanges()
loadXMLData = True
Catch ex As Exception
loadXMLData = False
MessageBox.Show("Error.." + ex.Message)
Finally
If Not xr Is Nothing Then
xr.Close()
End If
If Not fd Is Nothing Then
xd.Close()
End If
If Not fs Is Nothing Then
fs.Close()
End If
If Not fd Is Nothing Then
fd.Close()
End If
If Not sw Is Nothing Then
sw.Close()
End If
End Try
End Function
Public Function SetPaths() As String
Try
DeviceAppPath = App_Path()
Catch ex As Exception
MessageBox.Show("Error.." + ex.Message)
End Try
End Function
Public Function App_Path() As String
' Get Application
Dim path As String
path =
System.Reflection.Assembly.GetExecutingAssembly().GetName
().CodeBase
path = path.Substring(0, path.LastIndexOf("\") + 1)
Return path
End Function
Private Sub FrmTest_Load(ByVal sender As Object, ByVal
e As System.EventArgs) Handles MyBase.Load
SetPaths()
End Sub
End Class
END WINDOW FORM
BEGIN XSD File name project_task.xsd
<xs:schema id="project_task_hierarchy_select_result"
xmlns="" xmlns:xs="
http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-
msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-
msprop">
<xs:element
name="project_task_hierarchy_select_result"
msdata:IsDataSet="true">
<xs:complexType>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:element
name="project_task">
<xs:complexType>
<xs:sequence>
<xs:element name="proj_task_id" type="xs:integer"
minOccurs="0" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1"
msdata:AutoIncrement="true" />
<xs:element name="project_id" type="xs:string"
minOccurs="0" />
<xs:element name="proj_template_id"
type="xs:string" minOccurs="0" />
<xs:element name="task_template_id"
type="xs:string" minOccurs="0" />
<xs:element name="status" type="xs:string"
minOccurs="0" />
<xs:element name="task_status" type="xs:string"
minOccurs="0" />
<xs:element name="task_type" type="xs:string"
minOccurs="0" />
<xs:element name="est_dur_minutes"
type="xs:string" minOccurs="0" />
<xs:element name="act_dur_minutes"
type="xs:string" minOccurs="0" />
<xs:element name="est_start_dttm" type="xs:string"
minOccurs="0" />
<xs:element name="actual_start_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="est_end_dttm" type="xs:string"
minOccurs="0" />
<xs:element name="actual_end_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="task_due_dttm" type="xs:string"
minOccurs="0" />
<xs:element name="security_code" type="xs:string"
minOccurs="0" />
<xs:element name="team_id" type="xs:string"
minOccurs="0" />
<xs:element name="person_id" type="xs:string"
minOccurs="0" />
<xs:element name="fixed_commitment"
type="xs:string" minOccurs="0" />
<xs:element name="description" type="xs:string"
minOccurs="0" />
<xs:element name="accepted" type="xs:string"
minOccurs="0" />
<xs:element name="promised_beg_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="notification_code"
type="xs:string" minOccurs="0" />
<xs:element name="priority" type="xs:string"
minOccurs="0" />
<xs:element name="place_id" type="xs:string"
minOccurs="0" />
<xs:element name="location" type="xs:string"
minOccurs="0" />
<xs:element name="place_id_cust" type="xs:string"
minOccurs="0" />
<xs:element name="task_name" type="xs:string"
minOccurs="0" />
<xs:element name="task_group" type="xs:string"
minOccurs="0" />
<xs:element name="task_category" type="xs:string"
minOccurs="0" />
<xs:element name="task_class" type="xs:string"
minOccurs="0" />
<xs:element name="request_id" type="xs:string"
minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="signature">
<xs:complexType>
<xs:sequence>
<xs:element name="signature_id"
type="xs:integer" minOccurs="0" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-
1" msdata:AutoIncrementStep="-1" />
<xs:element name="proj_task_id"
type="xs:integer" minOccurs="0" />
<xs:element name="signature"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="project_text">
<xs:complexType>
<xs:sequence>
<xs:element name="project_text_id"
type="xs:integer" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-
1" />
<xs:element name="proj_task_id"
type="xs:integer" minOccurs="0" />
<xs:element name="text_line_code"
type="xs:string" minOccurs="0" />
<xs:element name="text"
type="xs:string" minOccurs="0" />
<xs:element name="project_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="part_usage" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="pu_id"
type="xs:integer" minOccurs="0"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-
1" />
<xs:element name="model_id"
type="xs:string" minOccurs="0" />
<xs:element name="serial_id"
type="xs:string" minOccurs="0" />
<xs:element name="part_id"
type="xs:string" minOccurs="0" />
<xs:element name="proj_task_id"
type="xs:integer" minOccurs="0" />
<xs:element name="part_line_code"
type="xs:string" minOccurs="0" />
<xs:element name="quantity"
type="xs:integer" minOccurs="0" />
<xs:element name="place_id_from"
type="xs:string" minOccurs="0" />
<xs:element name="location"
type="xs:string" minOccurs="0" />
<xs:element name="person_id"
type="xs:string" minOccurs="0" />
<xs:element name="work_dt"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="non_part_usage" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="npu_id"
type="xs:integer" minOccurs="0"
msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-
1" />
<xs:element name="serial_id"
type="xs:string" minOccurs="0" />
<xs:element name="model_id"
type="xs:string" minOccurs="0" />
<xs:element name="product_id"
type="xs:string" minOccurs="0" />
<xs:element name="product_name"
type="xs:string" minOccurs="0" />
<xs:element name="revision"
type="xs:string" minOccurs="0" />
<xs:element
name="product_user_def_2" type="xs:string" minOccurs="0" />
<xs:element name="proj_task_id"
type="xs:integer" minOccurs="0" />
<xs:element name="product_family"
type="xs:string" minOccurs="0" />
<xs:element name="bill_price"
type="xs:string" minOccurs="0" />
<xs:element name="bill_cost"
type="xs:string" minOccurs="0" />
<xs:element name="contract_id"
type="xs:string" minOccurs="0" />
<xs:element
name="contract_version" type="xs:string" minOccurs="0" />
<xs:element name="line_code"
type="xs:string" minOccurs="0" />
<xs:element name="person_id"
type="xs:string" minOccurs="0" />
<xs:element name="work_dt"
type="xs:string" minOccurs="0" />
<xs:element name="price_adj_pct"
type="xs:string" minOccurs="0" />
<xs:element name="quantity"
type="xs:integer" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="project_event" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element
name="project_event_id" type="xs:integer" minOccurs="0"
msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-
1" msdata:AutoIncrement="true" />
<xs:element name="project_id"
type="xs:string" minOccurs="0" />
<xs:element name="proj_task_id"
type="xs:integer" minOccurs="0" />
<xs:element name="security_code"
type="xs:string" minOccurs="0" />
<xs:element name="event_type"
type="xs:string" minOccurs="0" />
<xs:element
name="event_type_reason" type="xs:string" minOccurs="0" />
<xs:element name="event_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="person_id"
type="xs:string" minOccurs="0" />
<xs:element name="description"
type="xs:string" minOccurs="0" />
<xs:element
name="eventgen_rule_id" type="xs:string" minOccurs="0" />
<xs:element
name="tmcommit_rule_id" type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="request" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="request_id"
type="xs:string" minOccurs="0" nillable="true"
msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-
1" msdata:AutoIncrementStep="-1" />
<xs:element name="cross_reference"
type="xs:string" minOccurs="0" />
<xs:element name="place_id"
type="xs:string" minOccurs="0" />
<xs:element name="cust_prob_descr"
type="xs:string" minOccurs="0" />
<xs:element name="priority"
type="xs:string" minOccurs="0" />
<xs:element name="po_required"
type="xs:string" minOccurs="0" />
<xs:element name="origin"
type="xs:string" minOccurs="0" />
<xs:element name="status"
type="xs:string" minOccurs="0" />
<xs:element name="req_status"
type="xs:string" minOccurs="0" />
<xs:element name="suspended"
type="xs:string" minOccurs="0" />
<xs:element
name="next_request_seq" type="xs:string" minOccurs="0" />
<xs:element
name="total_suspend_tm" type="xs:string" minOccurs="0" />
<xs:element name="times_printed"
type="xs:string" minOccurs="0" />
<xs:element name="global_name"
type="xs:string" minOccurs="0" />
<xs:element name="zippost"
type="xs:string" minOccurs="0" />
<xs:element
name="request_id_parent" type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element
name="last_updated_dttm" type="xs:string" minOccurs="0" />
<xs:element name="part_need"
minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="request_id" type="xs:string"
minOccurs="0" />
<xs:element name="sequence" type="xs:integer"
minOccurs="0" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" />
<xs:element name="ppl_sequence" type="xs:integer"
minOccurs="0" />
<xs:element name="person_id" type="xs:string"
minOccurs="0" />
<xs:element name="place_id_from" type="xs:string"
minOccurs="0" />
<xs:element name="location_from" type="xs:string"
minOccurs="0" />
<xs:element name="place_id_to" type="xs:string"
minOccurs="0" />
<xs:element name="location_to" type="xs:string"
minOccurs="0" />
<xs:element name="part_id" type="xs:string"
minOccurs="0" />
<xs:element name="part_line_code" type="xs:string"
minOccurs="0" />
<xs:element name="quantity" type="xs:integer"
minOccurs="0" />
<xs:element name="ship_to_key_id1"
type="xs:string" minOccurs="0" />
<xs:element name="ship_to_key_id2"
type="xs:string" minOccurs="0" />
<xs:element name="ship_to_key_type"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dt"
type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="request_contact"
minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="sequence" type="xs:integer"
minOccurs="0" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" />
<xs:element name="request_id" type="xs:string"
minOccurs="0" />
<xs:element name="name" type="xs:string"
minOccurs="0" />
<xs:element name="first_name" type="xs:string"
minOccurs="0" />
<xs:element name="phone" type="xs:string"
minOccurs="0" />
<xs:element name="Extension" type="xs:string"
minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dttm"
type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="request_product"
minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="request_id" type="xs:string"
minOccurs="0" />
<xs:element name="sequence" type="xs:integer"
minOccurs="0" />
<xs:element name="product_id" type="xs:string"
minOccurs="0" />
<xs:element name="product_family" type="xs:string"
minOccurs="0" />
<xs:element name="product_name" type="xs:string"
minOccurs="0" />
<xs:element name="model_id" type="xs:string"
minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dttm"
type="xs:string" minOccurs="0" />
<xs:element name="created_dt" type="xs:string"
minOccurs="0" />
<xs:element name="created_id" type="xs:string"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="place"
minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="place_id" type="xs:string"
minOccurs="0" />
<xs:element name="whos_place" type="xs:string"
minOccurs="0" />
<xs:element name="address" type="xs:string"
minOccurs="0" />
<xs:element name="phone" type="xs:string"
minOccurs="0" />
<xs:element name="city" type="xs:string"
minOccurs="0" />
<xs:element name="zip_post" type="xs:string"
minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dttm"
type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="user_def_code"
minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="user_def_id" type="xs:integer"
minOccurs="0" msdata:AutoIncrement="true"
msdata:AutoIncrementSeed="-1"
msdata:AutoIncrementStep="-1" />
<xs:element name="entity_index" type="xs:string"
minOccurs="0" />
<xs:element name="foreign_key_char1"
type="xs:string" minOccurs="0" />
<xs:element name="text" type="xs:string"
minOccurs="0" />
<xs:element name="udef01" type="xs:string"
minOccurs="0" />
<xs:element name="udef02" type="xs:string"
minOccurs="0" />
<xs:element name="udef03" type="xs:string"
minOccurs="0" />
<xs:element name="udef04" type="xs:string"
minOccurs="0" />
<xs:element name="language_code" type="xs:string"
minOccurs="0" />
<xs:element name="last_updated_id"
type="xs:string" minOccurs="0" />
<xs:element name="last_updated_dttm"
type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:key name="key1">
<xs:selector
xpath=".//project_task" />
<xs:field xpath="proj_task_id" />
</xs:key>
<xs:keyref name="project_taskclosure"
refer="key1">
<xs:selector
xpath=".//signature" />
<xs:field xpath="proj_task_id" />
</xs:keyref>
<xs:keyref name="project_taskproject_text"
refer="key1">
<xs:selector
xpath=".//project_text" />
<xs:field xpath="proj_task_id" />
</xs:keyref>
<xs:keyref name="project_taskpart_usage"
refer="key1" msdata:ConstraintOnly="true"
msdata:AcceptRejectRule="Cascade"
msdata
eleteRule="Cascade"
msdata:UpdateRule="Cascade" msdata:IsNested="true">
<xs:selector
xpath=".//part_usage" />
<xs:field xpath="proj_task_id" />
</xs:keyref>
<xs:keyref
name="project_tasknon_part_usage" refer="key1"
msdata:ConstraintOnly="true"
msdata:AcceptRejectRule="Cascade"
msdata
eleteRule="Cascade"
msdata:UpdateRule="Cascade" msdata:IsNested="true">
<xs:selector
xpath=".//non_part_usage" />
<xs:field xpath="proj_task_id" />
</xs:keyref>
<xs:keyref
name="project_taskproject_event" refer="key1"
msdata:ConstraintOnly="true"
msdata:AcceptRejectRule="Cascade"
msdata
eleteRule="Cascade"
msdata:UpdateRule="Cascade">
<xs:selector
xpath=".//project_event" />
<xs:field xpath="proj_task_id" />
</xs:keyref>
<xs:key
name="project_task_hierarchy_select_resultKey1"
msdata
rimaryKey="true">
<xs:selector
xpath=".//project_task" />
<xs:field xpath="proj_task_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey2"
msdata
rimaryKey="true">
<xs:selector
xpath=".//part_usage" />
<xs:field xpath="pu_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey3"
msdata
rimaryKey="true">
<xs:selector
xpath=".//non_part_usage" />
<xs:field xpath="npu_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey4"
msdata
rimaryKey="true">
<xs:selector
xpath=".//project_event" />
<xs:field
xpath="project_event_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey5"
msdata
rimaryKey="true">
<xs:selector
xpath=".//project_text" />
<xs:field
xpath="project_text_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey6"
msdata
rimaryKey="true">
<xs:selector
xpath=".//signature" />
<xs:field xpath="signature_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey7"
msdata
rimaryKey="true">
<xs:selector xpath=".//request" />
<xs:field xpath="request_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey8"
msdata
rimaryKey="true">
<xs:selector
xpath=".//part_need" />
<xs:field xpath="request_id" />
<xs:field xpath="sequence" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey9"
msdata
rimaryKey="true">
<xs:selector
xpath=".//request_contact" />
<xs:field xpath="sequence" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey10"
msdata
rimaryKey="true">
<xs:selector
xpath=".//request_product" />
<xs:field xpath="request_id" />
<xs:field xpath="sequence" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey11"
msdata
rimaryKey="true">
<xs:selector xpath=".//place" />
<xs:field xpath="place_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey12"
msdata
rimaryKey="true">
<xs:selector
xpath=".//user_def_code" />
<xs:field xpath="user_def_id" />
</xs:key>
</xs:element>
</xs:schema>
END OF THE XSD FILE
BEGIN XML FILE name project_task.xml
<?xml version="1.0"?>
<project_task_hierarchy_select_result>
<project_task>
<proj_task_id>1791</proj_task_id>
<project_id>101790</project_id>
<status>01</status>
<task_status>OPEN</task_status>
<est_dur_minutes>30</est_dur_minutes>
<est_start_dttm>07/23/2004 11:54:27
AM</est_start_dttm>
<est_end_dttm>07/23/2004 12:24:27
PM</est_end_dttm>
<team_id>FSREUROPE</team_id>
<person_id>TECH22</person_id>
<last_updated_id>METRIX</last_updated_id>
<last_updated_dttm>07/23/2004 11:54:35
AM</last_updated_dttm>
<created_id>METRIX</created_id>
<created_dttm>07/23/2004 11:54:34
AM</created_dttm>
<place_id_cust>W1</place_id_cust>
<request_id>100863</request_id>
<export_task>Y</export_task>
<export_status>X</export_status>
<project_event>
<project_event_id>6890</project_event_id>
<project_id>101790</project_id>
<proj_task_id>1791</proj_task_id>
<event_type>OPEN</event_type>
<event_dttm>07/23/2004 11:54:37
AM</event_dttm>
<person_id>METRIX</person_id>
<description>Task
Opened</description>
</project_event>
<request>
<request_id>100863</request_id>
<u_version>!</u_version>
<place_id>W1</place_id>
<zippost>53186</zippost>
<origin>CW</origin>
<next_request_seq>0</next_request_seq>
<place_id_to_bill>W1</place_id_to_bill>
<parts_only>N</parts_only>
<prepayment_amount>.00</prepayment_amount>
<status>OP</status>
<billing_status>0</billing_status>
<posting_group>01</posting_group>
<person_id_owner>METRIX</person_id_owner>
<suspended>N</suspended>
<total_suspend_tm>0</total_suspend_tm>
<comm_interval_min>0</comm_interval_min>
<req_status>OPEN</req_status>
<times_printed>0</times_printed>
<currency>USD</currency>
<language_code>USA</language_code>
<phy_svc_grp_a>CORP</phy_svc_grp_a>
<phy_svc_grp_b>NA</phy_svc_grp_b>
<phy_svc_grp_c>USA</phy_svc_grp_c>
<phy_svc_grp_d>CENTRL</phy_svc_grp_d>
<sales_grp_a>CORP</sales_grp_a>
<place_id_sent_by>W1</place_id_sent_by>
<place_id_ship_to>W1</place_id_ship_to>
<place_id_req_issd>METRIX</place_id_req_issd>
<created_id>METRIX</created_id>
<created_dt>07/23/2004</created_dt>
<created_tm>11:53:53
am</created_tm>
<request_id>100863</request_id>
<part_need>
<request_id>100
863</request_id>
<sequence>1</sequence>
<ppl_sequence>3</ppl_sequence>
<ppr_sequence>3</ppr_sequence>
<prc_rule_adj_amt>0</prc_rule_adj_amt>
<unadj_list_price>10</unadj_list_price>
<billing_currency>USD</billing_currency>
<bill_exch_rate>1</bill_exch_rate>
<bill_exch_rate_dt>07/23/2004</bill_exch_rate_dt>
<bill_price>10.00</bill_price>
<bill_cost>25.243</bill_cost>
<person_id>METRIX</person_id>
<place_id_from>W1</place_id_from>
<location_from>GOOD</location_from>
<ship_to_key_id1>W1</ship_to_key_id1>
<ship_to_key_type>RQPLC</ship_to_key_type>
<ship_via>FEDEX</ship_via>
<needed_on_dt>07/23/2004</needed_on_dt>
<normal_ship_dt>07/23/2004</normal_ship_dt>
<promised_dt>07/23/2004</promised_dt>
<part_id_no_verify>N</part_id_no_verify>
<part_id>GEL</part_id>
<part_line_code>PB</part_line_code>
<line_code_type>P</line_code_type>
<quantity>2</quantity>
<quantity_allocated>2</quantity_allocated>
<quantity_backord>0</quantity_backord>
<quantity_shipped>0</quantity_shipped>
<quantity_to_ship>2</quantity_to_ship>
<useable_stock>Y</useable_stock>
<theor_list_price>10</theor_list_price>
<unit_price>10</unit_price>
<price_adj_pct>0</price_adj_pct>
<converted>N</converted>
<status>E</status>
<last_updated_id>METRIX</last_updated_id>
<last_updated_dt>07/23/2004</last_updated_dt>
<created_id>METRIX</created_id>
<created_dttm>07/23/2004
11:54:00 AM</created_dttm>
</part_need>
<place>
<place_id>W1</place_id>
<u_version>#</u_version>
<whos_place>WHSE</whos_place>
<name>MAIN WAREHOUSE-NORTH
AMERICA</name>
<address>20975 SWENSON
DR</address>
<city>WAUKESHA</city>
<state_prov>WI</state_prov>
<zippost>53186</zippost>
<country>US</country>
<travel_zone>NA</travel_zone>
<phone>414-798-8560</phone>
<gmt_offset>06:00:00
pm</gmt_offset>
<observes_dst>Y</observes_dst>
<temporary_place>N</temporary_place>
<currency>USD</currency>
<language_code>USA</language_code>
<person_id_primary>METRIX</person_id_primary>
<sales_grp_a>CORP</sales_grp_a>
<phy_svc_grp_a>CORP</phy_svc_grp_a>
<phy_svc_grp_b>NA</phy_svc_grp_b>
<phy_svc_grp_c>USA</phy_svc_grp_c>
<phy_svc_grp_d>CENTRL</phy_svc_grp_d>
<org_svc_grp_a>CORP</org_svc_grp_a>
<allow_products>N</allow_products>
<stock_parts>Y</stock_parts>
<county_id>0000</county_id>
<city_id>0000</city_id>
<place_id_to_bill>W1</place_id_to_bill>
<contact_restricted>N</contact_restricted>
<comm_interval_min>0</comm_interval_min>
<buying_group>N</buying_group>
<created_id>USER01</created_id>
<created_dt>09/19/1997</created_dt>
<last_updated_id>CNN</last_updated_id>
<last_updated_dttm>06/08/2004 12:34:45
PM</last_updated_dttm>
<extract_part_need>N</extract_part_need>
</place>
</request>
</project_task>
</project_task_hierarchy_select_result>
END XML FILE