Saving pattern with individual table.

--HG--
branch : feature
This commit is contained in:
dismine 2014-03-23 19:04:45 +02:00
parent 17bd0253a2
commit c2bb84ce38
5 changed files with 193 additions and 46 deletions

View File

@ -10,7 +10,7 @@
<xs:element name="family-name" type="xs:string"></xs:element>
<xs:element name="given-name" type="xs:string"></xs:element>
<xs:element name="birth-date" type="xs:string"></xs:element>
<xs:element name="sex" type="xs:string" use="required"></xs:element>
<xs:element name="sex" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
@ -24,6 +24,7 @@
<xs:element name="head_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -33,6 +34,7 @@
<xs:element name="mid_neck_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -42,6 +44,7 @@
<xs:element name="neck_base_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -51,6 +54,7 @@
<xs:element name="head_and_neck_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -66,6 +70,7 @@
<xs:element name="center_front_waist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -75,6 +80,7 @@
<xs:element name="center_back_waist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -84,6 +90,7 @@
<xs:element name="shoulder_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -93,15 +100,17 @@
<xs:element name="side_waist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="ignore" type="xs:boolean"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="trunk_girth">
<xs:element name="trunk_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -111,6 +120,7 @@
<xs:element name="shoulder_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -120,6 +130,7 @@
<xs:element name="upper_chest_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -129,6 +140,7 @@
<xs:element name="bust__girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -138,6 +150,7 @@
<xs:element name="under_bust_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -147,6 +160,7 @@
<xs:element name="waist_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -156,6 +170,7 @@
<xs:element name="high_hip_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -165,6 +180,7 @@
<xs:element name="hip_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -174,6 +190,7 @@
<xs:element name="upper_front_chest_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -183,6 +200,7 @@
<xs:element name="front_chest_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -192,6 +210,7 @@
<xs:element name="across_front_shoulder_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -201,6 +220,7 @@
<xs:element name="across_back_shoulder_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -210,6 +230,7 @@
<xs:element name="upper_back_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -219,6 +240,7 @@
<xs:element name="back_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -228,6 +250,7 @@
<xs:element name="bustpoint_to_bustpoint">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -237,6 +260,7 @@
<xs:element name="halter_bustpoint_to_bustpoint">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -246,6 +270,7 @@
<xs:element name="neck_to_bustpoint">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -255,6 +280,7 @@
<xs:element name="crotch_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -264,6 +290,7 @@
<xs:element name="rise_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -273,6 +300,7 @@
<xs:element name="shoulder_drop">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -282,6 +310,7 @@
<xs:element name="shoulder_slope_degrees">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -291,6 +320,7 @@
<xs:element name="front_shoulder_slope_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -300,6 +330,7 @@
<xs:element name="back_shoulder_slope_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -309,6 +340,7 @@
<xs:element name="front_shoulder_to_waist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -318,6 +350,7 @@
<xs:element name="back_shoulder_to_waist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -327,6 +360,7 @@
<xs:element name="front_neck_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -336,6 +370,7 @@
<xs:element name="back_neck_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -345,6 +380,7 @@
<xs:element name="front_upper-bust_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -354,6 +390,7 @@
<xs:element name="back_upper-bust_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -363,6 +400,7 @@
<xs:element name="front_waist_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -372,6 +410,7 @@
<xs:element name="back_waist_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -381,6 +420,7 @@
<xs:element name="front_upper-hip_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -390,6 +430,7 @@
<xs:element name="back_upper-hip_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -399,6 +440,7 @@
<xs:element name="front_hip_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -408,6 +450,7 @@
<xs:element name="back_hip_arc">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -417,6 +460,7 @@
<xs:element name="chest_slope">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -426,6 +470,7 @@
<xs:element name="back_slope">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -435,6 +480,7 @@
<xs:element name="front_waist_slope">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -444,6 +490,7 @@
<xs:element name="back_waist_slope">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -453,6 +500,7 @@
<xs:element name="front-neck_to_upper-chest_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -462,6 +510,7 @@
<xs:element name="front-neck_to_bust_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -477,6 +526,7 @@
<xs:element name="armscye_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -486,6 +536,7 @@
<xs:element name="elbow_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -495,6 +546,7 @@
<xs:element name="upper-arm_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -504,6 +556,7 @@
<xs:element name="wrist_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -513,6 +566,7 @@
<xs:element name="scye_depth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -522,6 +576,7 @@
<xs:element name="shoulder_and_arm_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -531,6 +586,7 @@
<xs:element name="underarm_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -540,6 +596,7 @@
<xs:element name="cervicale_to_wrist_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -549,6 +606,7 @@
<xs:element name="shoulder_to_elbow_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -558,6 +616,7 @@
<xs:element name="arm_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -573,6 +632,7 @@
<xs:element name="hand_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -582,6 +642,7 @@
<xs:element name="hand_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -591,6 +652,7 @@
<xs:element name="hand_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -606,6 +668,7 @@
<xs:element name="thigh_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -615,6 +678,7 @@
<xs:element name="mid_thigh_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -624,6 +688,7 @@
<xs:element name="knee_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -633,6 +698,7 @@
<xs:element name="calf_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -642,6 +708,7 @@
<xs:element name="ankle_girth">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -651,6 +718,7 @@
<xs:element name="knee_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -660,6 +728,7 @@
<xs:element name="ankle_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -675,6 +744,7 @@
<xs:element name="foot_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -684,15 +754,7 @@
<xs:element name="foot_length">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="ignore" type="xs:boolean"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="foot_width">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -708,6 +770,7 @@
<xs:element name="height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -717,6 +780,7 @@
<xs:element name="cervicale_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -726,6 +790,7 @@
<xs:element name="cervicale_to_knee_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -735,6 +800,7 @@
<xs:element name="waist_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -744,6 +810,7 @@
<xs:element name="high_hip_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -753,6 +820,7 @@
<xs:element name="hip_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -762,6 +830,7 @@
<xs:element name="waist_to_hip_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -771,6 +840,7 @@
<xs:element name="waist_to_knee_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
@ -780,6 +850,7 @@
<xs:element name="crotch_height">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="m_number" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="value" type="xs:double" use="required"></xs:attribute>
<xs:attribute name="gui_text" type="xs:string" use="required"></xs:attribute>
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>

View File

@ -1,10 +1,10 @@
<vit>
<lang>ru</lang>
<personal>
<family-name></family-name>
<given-name></given-name>
<birth-date></birth-date>
<sex></sex>
<family-name/>
<given-name/>
<birth-date/>
<sex/>
</personal>
<body-measurements>
<unit>mm</unit>

View File

@ -100,7 +100,7 @@ void DialogIndividualMeasurements::DialogAccepted()
{
try
{
VDomDocument::ValidatePattern("://schema/standard_measurements.xsd", _tablePath);
VDomDocument::ValidatePattern("://schema/individual_measurements.xsd", _tablePath);
}
catch(VException &e)
{
@ -158,7 +158,7 @@ void DialogIndividualMeasurements::CheckState()
ui->lineEditPathNewM->setEnabled(false);
ui->toolButtonOpenNew->setEnabled(false);
ui->comboBoxLang->setEditable(false);
ui->comboBoxLang->setEnabled(false);
if (ui->lineEditPathExistM->text().isEmpty() == false)
{
@ -169,7 +169,7 @@ void DialogIndividualMeasurements::CheckState()
{
ui->lineEditPathNewM->setEnabled(true);
ui->toolButtonOpenNew->setEnabled(true);
ui->comboBoxLang->setEditable(true);
ui->comboBoxLang->setEnabled(true);
ui->toolButtonOpenExist->setEnabled(false);
ui->lineEditPathExistM->setEnabled(false);
@ -201,6 +201,7 @@ void DialogIndividualMeasurements::LoadIndividualTables()
filters << "*.vit";
QDir tablesDir(qApp->pathToTables());
tablesDir.setNameFilters(filters);
tablesDir.setCurrent(qApp->pathToTables());
const QStringList allFiles = tablesDir.entryList(QDir::NoDotAndDotDot | QDir::Files);
if (allFiles.isEmpty() == true)
@ -212,12 +213,13 @@ void DialogIndividualMeasurements::LoadIndividualTables()
for (int i = 0; i < allFiles.size(); ++i)
{
QFileInfo fi(allFiles.at(i));
QFile file(allFiles.at(i));
if (file.open(QIODevice::ReadOnly))
{
try
{
VDomDocument::ValidatePattern("://schema/individual_measurements.xsd", allFiles.at(i));
VDomDocument::ValidatePattern("://schema/individual_measurements.xsd", fi.absoluteFilePath());
}
catch(VException &e)
{
@ -230,7 +232,7 @@ void DialogIndividualMeasurements::LoadIndividualTables()
{
m.setContent(&file);
const QString lang = QLocale(m.Language()).nativeLanguageName();
ui->comboBoxLang->addItem(lang, QVariant(allFiles.at(i)));
ui->comboBoxLang->addItem(lang, QVariant(fi.absoluteFilePath()));
}
catch(VException &e)
{
@ -242,7 +244,7 @@ void DialogIndividualMeasurements::LoadIndividualTables()
}
else
{
qWarning()<<tr("Cannot read file %1:\n%2.").arg(allFiles.at(i)).arg(file.errorString()) << Q_FUNC_INFO;
qWarning()<<tr("Cannot read file %1:\n%2.").arg(fi.absoluteFilePath()).arg(file.errorString())<<Q_FUNC_INFO;
}
}
QSettings settings(QSettings::IniFormat, QSettings::UserScope, QApplication::organizationName(),
@ -252,6 +254,7 @@ void DialogIndividualMeasurements::LoadIndividualTables()
defaultLocale.truncate(defaultLocale.lastIndexOf('_')); // e.g. "de"
QString checkedLocale = settings.value("configuration/locale", defaultLocale).toString();
//TODO make sure this part work.
// set default translators and language checked
qint32 index = ui->comboBoxLang->findData(checkedLocale);
if (index != -1)
@ -263,14 +266,36 @@ void DialogIndividualMeasurements::LoadIndividualTables()
void DialogIndividualMeasurements::OpenTable()
{
const QString filter(tr("Individual measurements (*.vit)"));
const QString fileName = QFileDialog::getOpenFileName(this, tr("Open file"), QDir::homePath(), filter);
QString fileName = QFileDialog::getOpenFileName(this, tr("Open file"), QDir::homePath(), filter);
QFile file(fileName);
if (file.open(QIODevice::ReadOnly))
{
try
{
VDomDocument::ValidatePattern("://schema/individual_measurements.xsd", fileName);
}
catch(VException &e)
{
e.CriticalMessageBox(tr("Validation file error."), this);
fileName.clear();
}
file.close();
}
else
{
QMessageBox::warning(this, tr("Valentina"), tr("Cannot read file %1:\n%2.").arg(fileName)
.arg(file.errorString()));
fileName.clear();
}
ui->lineEditPathExistM->setText(fileName);
ui->lineEditPathExistM->setToolTip(fileName);
CheckState();
}
void DialogIndividualMeasurements::NewTable()
{
QString name = QFileDialog::getSaveFileName(this, tr("Where save measurements?"), QDir::homePath(),
QString dir = QDir::homePath()+"/measurements.vit";
QString name = QFileDialog::getSaveFileName(this, tr("Where save measurements?"), dir,
tr("Individual measurements (*.vit)"));
if (name.isEmpty())
@ -285,5 +310,6 @@ void DialogIndividualMeasurements::NewTable()
name += ".vit";
}
ui->lineEditPathNewM->setText(name);
ui->lineEditPathNewM->setToolTip(name);
CheckState();
}

View File

@ -6,14 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
<width>398</width>
<height>210</height>
<width>358</width>
<height>247</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@ -46,7 +46,18 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLineEdit" name="lineEditPathExistM"/>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Path:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditPathExistM">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButtonOpenExist">
@ -65,7 +76,7 @@
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QRadioButton" name="radioButtonNewM">
<property name="text">
@ -80,24 +91,59 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QComboBox" name="comboBoxLang"/>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Language:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxLang">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="lineEditPathNewM"/>
</item>
<item>
<widget class="QToolButton" name="toolButtonOpenNew">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset theme="document-new">
<normaloff/>
</iconset>
</property>
</widget>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Path:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditPathNewM"/>
</item>
<item>
<widget class="QToolButton" name="toolButtonOpenNew">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset theme="document-new">
<normaloff/>
</iconset>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>

View File

@ -55,7 +55,7 @@
<string>Graduation</string>
</property>
<property name="icon">
<iconset resource="../../share/resources/icon.qrc">
<iconset resource="../../../share/resources/icon.qrc">
<normaloff>:/icon/Graduation.png</normaloff>:/icon/Graduation.png</iconset>
</property>
<property name="iconSize">
@ -101,7 +101,7 @@
<string>Individual</string>
</property>
<property name="icon">
<iconset resource="../../share/resources/icon.qrc">
<iconset resource="../../../share/resources/icon.qrc">
<normaloff>:/icon/individual.png</normaloff>:/icon/individual.png</iconset>
</property>
<property name="iconSize">
@ -128,8 +128,12 @@
</item>
</layout>
</widget>
<tabstops>
<tabstop>toolButtonIndividual</tabstop>
<tabstop>toolButtonStandard</tabstop>
</tabstops>
<resources>
<include location="../../share/resources/icon.qrc"/>
<include location="../../../share/resources/icon.qrc"/>
</resources>
<connections/>
</ui>