Bug in Compact Framework 1.0 SP2

F

Fabio

Hello,

Ho do I report a bug in the Compact Framework 1.0 SP2 ?

I have a sample application I put together that clearly
show an inconsistency between SP1 and SP2. When loading an
XML document with its XSD in service pack 2 NOT all of the
dataset tables get populated. With service pack 1 the
dataset is loaded properly.

I would be happy to upload the application and explain
more about this issue.

Best regards,

Fabio
Software Engineer
Metrix, Inc.
 
I

Ilya Tumanov [MS]

There are several known issues and changes in behavior with DataSet/XML in
SP2.

First of all, SP2 follows documentation more closely and won't load any XML
elements which are not defined by schema or located incorrectly.
Example:

Schema:
Table <some columns>
Nested table <some columns>

XML:

<DS>
<Table>

<NestedTable>

</NestedTable>
</Table>
</DS>

Loaded the same way on SP1 and SP2 as it matches schema.

<DS>
<NestedTable>

<Table>

</Table>
</NestedTable>
</DS>

Will not be loaded on SP2 as schema is violated. Will be loaded on SP1 as
it would ignore that violation.
Make sure your XML matches the schema. Fix it if not.

If that's not the case, you probably hit some issue, known or not.
Please send me your XML file and schema files and I'll try to repro it.
Or, you can try SP3 Beta and/or V2 beta now available.

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
 
F

Fabio

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:DeleteRule="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:DeleteRule="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:DeleteRule="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:primaryKey="true">
<xs:selector
xpath=".//project_task" />
<xs:field xpath="proj_task_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey2"
msdata:primaryKey="true">
<xs:selector
xpath=".//part_usage" />
<xs:field xpath="pu_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey3"
msdata:primaryKey="true">
<xs:selector
xpath=".//non_part_usage" />
<xs:field xpath="npu_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey4"
msdata:primaryKey="true">
<xs:selector
xpath=".//project_event" />
<xs:field
xpath="project_event_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey5"
msdata:primaryKey="true">
<xs:selector
xpath=".//project_text" />
<xs:field
xpath="project_text_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey6"
msdata:primaryKey="true">
<xs:selector
xpath=".//signature" />
<xs:field xpath="signature_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey7"
msdata:primaryKey="true">
<xs:selector xpath=".//request" />
<xs:field xpath="request_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey8"
msdata:primaryKey="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:primaryKey="true">
<xs:selector
xpath=".//request_contact" />
<xs:field xpath="sequence" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey10"
msdata:primaryKey="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:primaryKey="true">
<xs:selector xpath=".//place" />
<xs:field xpath="place_id" />
</xs:key>
<xs:key
name="project_task_hierarchy_select_resultKey12"
msdata:primaryKey="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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top