[VSK5] BoatParam.xml

Virtual Skipper 5 offer the possibility to import own boat 3D models.<br>
3D artists and players can now meet here to share models and advices.<br>
Virtual Skipper 5 offre la possibilité d'importer vos propres modèles 3D de bateaux.<br>
Les artistes 3D et les joueurs peuvent maintenant se réunir ici pour partager leurs modèles et conseils.
User avatar
CANKnot
Moderator
Posts: 1320
Joined: 09 Nov 2005, 22:21

Post by CANKnot »

I can only speak for myself, but no. Models that don't include a low quality mesh get deleted from my system. Running with high quality for all boats is not an option for me, and I suspect others as well. The best way to increase the framerates would be to decrease the polygon count in the models, not eliminating some of the meshes needed for the proper functioning of the game.

That just my two cents though.
In theory there is no difference between theory and practice, but in practice there is.
maitai
Amiral
Posts: 354
Joined: 04 May 2006, 10:35
Contact:

Post by maitai »

CANKnot wrote:...Models that don't include a low quality mesh get deleted from my system...
Arf so much for Orma and Orange :(

I did a small test, and it does seem that our assumption that not puting low meshes improves high resolution frame rate was wrong. Would be nice if Nadeo could confirm this. Alinoa?

Next one will probably have the full set of low meshes. And if something happens in a patch (like a fix for the lights in imported models), I will also add them in Orma and Orange.
The best way to increase the framerates would be to decrease the polygon count in the models
I disagree with this. Although limiting the number of polygones has an impact on performance, and is a must of course, the best way to increase the framerate is to limit the wakes (stems). That's why I am in favor of a [StemLow] section.
User avatar
Alinoa
| Nadeo |
Posts: 511
Joined: 10 Apr 2007, 10:30

Post by Alinoa »

our assumption that not puting lowmeshes improves high resolution frame rate was wrong
you're right and by putting stem low like Matai suggested, the framerate can be improved :wink:
maitai
Amiral
Posts: 354
Joined: 04 May 2006, 10:35
Contact:

Post by maitai »

Yes but as of now the only choice is to remove completely the stems, either for yourself or other boats or both. My suggestion (for VSK6) is to have a StemLow section, so that the designer can program smaller stems for low resolution settings, which would be better than nothing at all.

Also, I tried to put LowMeshes in my new model. It works fine, except for DeckLow which is completely ignored. The regular Deck is loaded whatever the setting... HullLow, NetLow and so on are correctly displayed, but not DeckLow.

Is it a bug?
User avatar
admiral
Amiral
Posts: 338
Joined: 27 Oct 2003, 08:43
Location: Nederland

Post by admiral »

as Moore's law still seams to be valid, i don't think it's worthwhile
to spend to much recourses on on making vsk run better on less recourses...

If the low mesh don't bring any improvement then they are obsolete.

If wake projection hurts performance that much then there should be a model parameter to control it, possibly framerate dependable (auto adjusting when framerates drop below 20 or so)

On my systems i can't seam to drop below 10 fps, but instead keep loosing quality (low meshes, no refraction) effecting shader and or textures.

Can someone confirm there is a threshold at 10 fps and when, what about raising it to 20 fps? Is this the grafic driver (NVIDIA) going ballistic with some optimisations... out of my control?
maitai
Amiral
Posts: 354
Joined: 04 May 2006, 10:35
Contact:

Post by maitai »

I can at least confirm that 10fps is my lower limit, whatever I can try to kill it (and even when I feel it is 0.5 :D ).
User avatar
Skiffie
Capitaine
Posts: 255
Joined: 10 Oct 2005, 11:56
Location: Brisbane, Australia
Contact:

Post by Skiffie »

I get 7-8 fps on some model/course combos. That's borderline playable. 10fps is playable, but more is better of course.

I like Theo's idea on having a scalable setting for the wake.

Of course, those having troubles can just turn wakes off :lol:
Rich oot1960
Matelot
Posts: 117
Joined: 25 Apr 2007, 04:36

Post by Rich oot1960 »

Thanks for this information on the updates for the xml file.

* Boat importer : Fixed the lights import bug
* Boat importer : Fixed the "MainSailAcc" and "StaySailAcc" problem, because 3ds format allowing only for 10 chars.
=> Use "MainSAcc" and "StaySAcc" instead
* Boat importer : BoatParam.xml : The wind indicator arrow size can be set with the <WindIndicatorSize> tag. ex : <WindIndicatorSize>0.5</WindIndicatorSize>
* Boat importer : BoatParam.xml : Added <DurationCurves> and <DurationJibChangeCurves> in <ManoeuvreXXX> tags : the manoeuvres duration can be f(TWA,TWS)
<DurationCurves> is Duration = f(TWS,TWA). Used (if present) instead of <Duration>
<DurationJibChangeCurves> is the same, but used (if present) instead of <DurationCurves> when the switching from/to staysail/genoa

With the new DurationCurves is it possible to set up an xml to enable say a genoa to stay up while a codeO is also used? :?:

Rich. VSK-Aus
LoganADC
Matelot
Posts: 55
Joined: 30 Jun 2008, 23:39

Post by LoganADC »

Bow wakes?

I got one to work, but cant get the second one to work...changed the 'Fasle' to 'True' and aslo copied all of the settings for the first one and put '2' after every entry... any suggestions on how to get the second bow wake to work?
David_Number1
Matelot
Posts: 92
Joined: 12 Jun 2007, 08:00

Post by David_Number1 »

make a new <StemWave> ... </StemWave> section, you don't need 2s after anything
LoganADC
Matelot
Posts: 55
Joined: 30 Jun 2008, 23:39

Post by LoganADC »

thanks.

I was wondering, would it be possible to have two booms? has anyone tried? im thinking its ketch time...
diades
Matelot
Posts: 130
Joined: 22 Dec 2008, 00:32
Location: Scotland

Post by diades »

Hi

I have read this thread with great interest and have noticed that some challenges have come about from invalid xml amongst other things.

There may be one already in existence but the following dtd created from AccBoatParam.xml may be of use:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT Nod &#40;#PCDATA | BoatType | BoatWidth | DecelerationConstant | DecelerationDynamic | DecelerationFromTillerCurves | DecelerationFromTillerCurvesBearAway | RotationRadius | TillerInertia | BSCoefFromHeelCurve | IsNewSailPhysics | Sails | WindShadow | Surf | Floating | WaterLineHeightDelta | RollCoef | PitchSpeed | PitchInertia | PitchOscillation | PitchOscillationSpeed | HeelSpeed | HeelInertia | HeelOscillation | HeelOscillationSpeed | HeelMax | CameraInsideE | CameraInsideE_Amplifior | CameraInsideB | WindIndicatorDistance | StemWaves&#41;*>
<!ELEMENT BoatType &#40;#PCDATA&#41;>
<!ELEMENT BoatWidth &#40;#PCDATA&#41;>
<!ELEMENT DecelerationConstant &#40;#PCDATA&#41;>
<!ATTLIST DecelerationConstant
          Conv CDATA #REQUIRED>
<!ELEMENT DecelerationDynamic &#40;#PCDATA&#41;>
<!ELEMENT DecelerationFromTillerCurves &#40;Xs, Curves&#41;>
<!ELEMENT Xs &#40;#PCDATA&#41;>
<!ATTLIST Xs
          Conv CDATA #IMPLIED>
<!ELEMENT Curves &#40;Curve+&#41;>
<!ELEMENT Curve &#40;#PCDATA | Xs | Ys&#41;*>
<!ELEMENT Ys &#40;#PCDATA&#41;>
<!ATTLIST Ys
          Conv CDATA #IMPLIED>
<!ELEMENT DecelerationFromTillerCurvesBearAway &#40;Xs, Curves&#41;>
<!ELEMENT RotationRadius &#40;#PCDATA&#41;>
<!ELEMENT TillerInertia &#40;#PCDATA&#41;>
<!ELEMENT BSCoefFromHeelCurve &#40;Xs, Ys&#41;>
<!ELEMENT IsNewSailPhysics &#40;#PCDATA&#41;>
<!ELEMENT Sails &#40;Sail+&#41;>
<!ELEMENT Sail &#40;#PCDATA | IdName | SailType | VppCurves | BSCoefCurves | OptimalSailAngleCurves | OptimalSailAngleCurvesArray | HeelAngleCurves | HeelAngleCoefCurves | RevolveAngleSpeedCurves | AccelerationCurves | ShiverAngleCurve | SheetAngleMaxCurve | SheetAngleMin | SheetAngleMax | SailSpeedCoefSheet | SailSpeedCoefEaseOut | AutomaticSheetTargetSpeed | ManoeuvreHaulUp | ManoeuvreHaulDown | ManoeuvrePrepareHaulUp | ManoeuvrePrepareHaulDown | BulgeIntens | BulgeSpeed | SailId | SailFlatId | BoomId | IsReefingGear | VisualHaulDelta | VisualShiverAmplitude | VisualShiverSpeedCoef | VisualShiverSpeedMax | BoomAngleCurves | LuffAngleSpeedCurves | BoomSpeed | ShiverWindFree&#41;*>
<!ELEMENT IdName &#40;#PCDATA&#41;>
<!ELEMENT SailType &#40;#PCDATA&#41;>
<!ELEMENT VppCurves &#40;Xs, Curves&#41;>
<!ELEMENT BSCoefCurves &#40;Xs, Curves2&#41;>
<!ELEMENT Curves2 &#40;Curve2+&#41;>
<!ELEMENT Curve2 &#40;#PCDATA | Xs | Curves&#41;*>
<!ELEMENT OptimalSailAngleCurves &#40;Xs, Curves&#41;>
<!ELEMENT OptimalSailAngleCurvesArray &#40;OptimalSailAngleCurve+&#41;>
<!ELEMENT OptimalSailAngleCurve &#40;Id, Xs, Curves&#41;>
<!ELEMENT Id &#40;#PCDATA&#41;>
<!ELEMENT HeelAngleCurves &#40;Xs, Curves&#41;>
<!ELEMENT HeelAngleCoefCurves &#40;Xs, Curves2&#41;>
<!ELEMENT RevolveAngleSpeedCurves &#40;Xs, Curves&#41;>
<!ELEMENT AccelerationCurves &#40;Xs, Curves&#41;>
<!ELEMENT ShiverAngleCurve &#40;Xs, Ys&#41;>
<!ELEMENT SheetAngleMaxCurve &#40;Xs, Ys&#41;>
<!ELEMENT SheetAngleMin &#40;#PCDATA&#41;>
<!ATTLIST SheetAngleMin
          Conv CDATA #REQUIRED>
<!ELEMENT SheetAngleMax &#40;#PCDATA&#41;>
<!ATTLIST SheetAngleMax
          Conv CDATA #REQUIRED>
<!ELEMENT SailSpeedCoefSheet &#40;#PCDATA&#41;>
<!ELEMENT SailSpeedCoefEaseOut &#40;#PCDATA&#41;>
<!ELEMENT AutomaticSheetTargetSpeed &#40;#PCDATA&#41;>
<!ELEMENT ManoeuvreHaulUp &#40;&#40;Sound1Id, Sound1Time&#41; | &#40;DurationCurves, DurationJibChangeCurves, SlowDownCoef, TeamActionId, Sound1Id, Sound1Time&#41; | &#40;DurationCurves, TeamActionId, SlowDownCoef, Sound1Id, Sound1Time, Sound2Id, Sound2Time&#41;&#41;>
<!ELEMENT Sound1Id &#40;#PCDATA&#41;>
<!ELEMENT Sound1Time &#40;#PCDATA&#41;>
<!ELEMENT ManoeuvreHaulDown &#40;&#40;Sound1Id, Sound1Time&#41; | &#40;DurationCurves, DurationJibChangeCurves, SlowDownCoef, TeamActionId, Sound1Id, Sound1Time&#41; | &#40;DurationCurves, SlowDownCoef, TeamActionId, Sound1Id, Sound1Time&#41;&#41;>
<!ELEMENT ManoeuvrePrepareHaulUp &#40;Duration, TeamActionId&#41;>
<!ELEMENT ManoeuvrePrepareHaulDown &#40;Duration, TeamActionId&#41;>
<!ELEMENT BulgeIntens &#40;#PCDATA&#41;>
<!ELEMENT BulgeSpeed &#40;#PCDATA&#41;>
<!ELEMENT SailId &#40;#PCDATA&#41;>
<!ELEMENT SailFlatId &#40;#PCDATA&#41;>
<!ELEMENT BoomId &#40;#PCDATA&#41;>
<!ELEMENT IsReefingGear &#40;#PCDATA&#41;>
<!ELEMENT VisualHaulDelta &#40;#PCDATA&#41;>
<!ELEMENT VisualShiverAmplitude &#40;#PCDATA&#41;>
<!ELEMENT VisualShiverSpeedCoef &#40;#PCDATA&#41;>
<!ELEMENT VisualShiverSpeedMax &#40;#PCDATA&#41;>
<!ELEMENT DurationCurves &#40;Xs, Curves&#41;>
<!ELEMENT DurationJibChangeCurves &#40;Xs, Curves&#41;>
<!ELEMENT SlowDownCoef &#40;#PCDATA&#41;>
<!ELEMENT TeamActionId &#40;#PCDATA&#41;>
<!ELEMENT Duration &#40;#PCDATA&#41;>
<!ELEMENT BoomAngleCurves &#40;Xs, Curves&#41;>
<!ELEMENT LuffAngleSpeedCurves &#40;Xs, Curves&#41;>
<!ELEMENT BoomSpeed &#40;#PCDATA&#41;>
<!ELEMENT ShiverWindFree &#40;#PCDATA&#41;>
<!ELEMENT Sound2Id &#40;#PCDATA&#41;>
<!ELEMENT Sound2Time &#40;#PCDATA&#41;>
<!ELEMENT WindShadow &#40;#PCDATA | UseNewWindShadowing | Pos0 | Pos1 | Height | SecondSegmentCenterRatio | SecondSegmentLength | SizeF7F3Ratio | WindDirDevCoef | WindDirDevMax | BlockerBase | BlockerCoeffX | BlockerCoeffY | BlockerCoeffYMax | BlockerBaseXCenter | BlockerBaseXCenterVal | BlockerBaseXMult | BlockerValXCoeff | BlockerOffsetX | BlockerPosRatio | TurbulenceCoeffX | TurbulenceCoeffY | TurbulenceBase | TurbulenceBaseXCenter | TurbulenceBaseXCenterVal | TurbulenceBaseXMult | TurbulenceAngleDeviationMult | TurbulencePosRatio | TurbulenceMaxAwa | TurbulenceFadderAwa | SillageCoeffX | SillageCoeffY | SillageBase | SillageOffsetMult | SillageMaxAwa | SillageFadderAwa | SillageCoeffYRot | SillageRotAwa | SillageAngleDeviationDiv&#41;*>
<!ELEMENT UseNewWindShadowing &#40;#PCDATA&#41;>
<!ELEMENT Pos0 &#40;#PCDATA&#41;>
<!ELEMENT Pos1 &#40;#PCDATA&#41;>
<!ELEMENT Height &#40;#PCDATA&#41;>
<!ELEMENT SecondSegmentCenterRatio &#40;#PCDATA&#41;>
<!ELEMENT SecondSegmentLength &#40;#PCDATA&#41;>
<!ELEMENT SizeF7F3Ratio &#40;#PCDATA&#41;>
<!ELEMENT WindDirDevCoef &#40;#PCDATA&#41;>
<!ELEMENT WindDirDevMax &#40;#PCDATA&#41;>
<!ELEMENT BlockerBase &#40;#PCDATA&#41;>
<!ELEMENT BlockerCoeffX &#40;#PCDATA&#41;>
<!ELEMENT BlockerCoeffY &#40;#PCDATA&#41;>
<!ELEMENT BlockerCoeffYMax &#40;#PCDATA&#41;>
<!ELEMENT BlockerBaseXCenter &#40;#PCDATA&#41;>
<!ELEMENT BlockerBaseXCenterVal &#40;#PCDATA&#41;>
<!ELEMENT BlockerBaseXMult &#40;#PCDATA&#41;>
<!ELEMENT BlockerValXCoeff &#40;#PCDATA&#41;>
<!ELEMENT BlockerOffsetX &#40;#PCDATA&#41;>
<!ELEMENT BlockerPosRatio &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceCoeffX &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceCoeffY &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceBase &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceBaseXCenter &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceBaseXCenterVal &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceBaseXMult &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceAngleDeviationMult &#40;#PCDATA&#41;>
<!ELEMENT TurbulencePosRatio &#40;#PCDATA&#41;>
<!ELEMENT TurbulenceMaxAwa &#40;#PCDATA&#41;>
<!ATTLIST TurbulenceMaxAwa
          Conv CDATA #REQUIRED>
<!ELEMENT TurbulenceFadderAwa &#40;#PCDATA&#41;>
<!ATTLIST TurbulenceFadderAwa
          Conv CDATA #REQUIRED>
<!ELEMENT SillageCoeffX &#40;#PCDATA&#41;>
<!ELEMENT SillageCoeffY &#40;#PCDATA&#41;>
<!ELEMENT SillageBase &#40;#PCDATA&#41;>
<!ELEMENT SillageOffsetMult &#40;#PCDATA&#41;>
<!ELEMENT SillageMaxAwa &#40;#PCDATA&#41;>
<!ATTLIST SillageMaxAwa
          Conv CDATA #REQUIRED>
<!ELEMENT SillageFadderAwa &#40;#PCDATA&#41;>
<!ATTLIST SillageFadderAwa
          Conv CDATA #REQUIRED>
<!ELEMENT SillageCoeffYRot &#40;#PCDATA&#41;>
<!ELEMENT SillageRotAwa &#40;#PCDATA&#41;>
<!ATTLIST SillageRotAwa
          Conv CDATA #REQUIRED>
<!ELEMENT SillageAngleDeviationDiv &#40;#PCDATA&#41;>
<!ELEMENT Surf &#40;#PCDATA&#41;>
<!ELEMENT Floating &#40;#PCDATA&#41;>
<!ELEMENT WaterLineHeightDelta &#40;#PCDATA&#41;>
<!ELEMENT RollCoef &#40;#PCDATA&#41;>
<!ELEMENT PitchSpeed &#40;#PCDATA&#41;>
<!ELEMENT PitchInertia &#40;#PCDATA&#41;>
<!ELEMENT PitchOscillation &#40;#PCDATA&#41;>
<!ATTLIST PitchOscillation
          Conv CDATA #REQUIRED>
<!ELEMENT PitchOscillationSpeed &#40;#PCDATA&#41;>
<!ELEMENT HeelSpeed &#40;#PCDATA&#41;>
<!ELEMENT HeelInertia &#40;#PCDATA&#41;>
<!ELEMENT HeelOscillation &#40;#PCDATA&#41;>
<!ATTLIST HeelOscillation
          Conv CDATA #REQUIRED>
<!ELEMENT HeelOscillationSpeed &#40;#PCDATA&#41;>
<!ELEMENT HeelMax &#40;#PCDATA&#41;>
<!ATTLIST HeelMax
          Conv CDATA #REQUIRED>
<!ELEMENT CameraInsideE &#40;#PCDATA&#41;>
<!ELEMENT CameraInsideE_Amplifior &#40;#PCDATA&#41;>
<!ELEMENT CameraInsideB &#40;#PCDATA&#41;>
<!ELEMENT WindIndicatorDistance &#40;#PCDATA&#41;>
<!ELEMENT StemWaves &#40;StemWave+&#41;>
<!ELEMENT StemWave &#40;IdName, UseWaveProjection, UseSeaElevation, OnlyUnderSea, SeaLevel, NbPointZ, InitialSpeedDir, MaxCoefSize, BoatSpeedRef, EjectSpeedScale, SplashCoef, StemDuration, RelativePos, UseRelativePos2, RelativePos2, StartWidth, EndWidth, TextureSizeInMeter&#41;>
<!ELEMENT UseWaveProjection &#40;#PCDATA&#41;>
<!ELEMENT UseSeaElevation &#40;#PCDATA&#41;>
<!ELEMENT OnlyUnderSea &#40;#PCDATA&#41;>
<!ELEMENT SeaLevel &#40;#PCDATA&#41;>
<!ELEMENT NbPointZ &#40;#PCDATA&#41;>
<!ELEMENT InitialSpeedDir &#40;#PCDATA&#41;>
<!ELEMENT MaxCoefSize &#40;#PCDATA&#41;>
<!ELEMENT BoatSpeedRef &#40;#PCDATA&#41;>
<!ELEMENT EjectSpeedScale &#40;#PCDATA&#41;>
<!ELEMENT SplashCoef &#40;#PCDATA&#41;>
<!ELEMENT StemDuration &#40;#PCDATA&#41;>
<!ELEMENT RelativePos &#40;#PCDATA&#41;>
<!ELEMENT UseRelativePos2 &#40;#PCDATA&#41;>
<!ELEMENT RelativePos2 &#40;#PCDATA&#41;>
<!ELEMENT StartWidth &#40;#PCDATA&#41;>
<!ELEMENT EndWidth &#40;#PCDATA&#41;>
<!ELEMENT TextureSizeInMeter &#40;#PCDATA&#41;>
If this is associated with your xml file then you should be able to validate as you work.

If there are any errors please let me know.
diades
Matelot
Posts: 130
Joined: 22 Dec 2008, 00:32
Location: Scotland

Post by diades »

Hi

It occured to me that some may prefer a schema as against a dtd:

Code: Select all

<?xml version="1.0" encoding="Windows-1252"?>
<xs&#58;schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns&#58;xs="http&#58;//www.w3.org/2001/XMLSchema">
  <xs&#58;element name="Nod">
    <xs&#58;complexType mixed="true">
      <xs&#58;sequence>
        <xs&#58;element name="BoatType" type="xs&#58;string" />
        <xs&#58;element name="BoatWidth" type="xs&#58;unsignedByte" />
        <xs&#58;element name="DecelerationConstant">
          <xs&#58;complexType>
            <xs&#58;simpleContent>
              <xs&#58;extension base="xs&#58;decimal">
                <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
              </xs&#58;extension>
            </xs&#58;simpleContent>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="DecelerationDynamic" type="xs&#58;decimal" />
        <xs&#58;element name="DecelerationFromTillerCurves">
          <xs&#58;complexType>
            <xs&#58;sequence>
              <xs&#58;element name="Xs">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;string">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="Curves">
                <xs&#58;complexType>
                  <xs&#58;sequence>
                    <xs&#58;element maxOccurs="unbounded" name="Curve">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs" type="xs&#58;string" />
                          <xs&#58;element name="Ys">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                  </xs&#58;sequence>
                </xs&#58;complexType>
              </xs&#58;element>
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="DecelerationFromTillerCurvesBearAway">
          <xs&#58;complexType>
            <xs&#58;sequence>
              <xs&#58;element name="Xs">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;string">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="Curves">
                <xs&#58;complexType>
                  <xs&#58;sequence>
                    <xs&#58;element maxOccurs="unbounded" name="Curve">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs" type="xs&#58;string" />
                          <xs&#58;element name="Ys">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                  </xs&#58;sequence>
                </xs&#58;complexType>
              </xs&#58;element>
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="RotationRadius" type="xs&#58;unsignedByte" />
        <xs&#58;element name="TillerInertia" type="xs&#58;decimal" />
        <xs&#58;element name="BSCoefFromHeelCurve">
          <xs&#58;complexType>
            <xs&#58;sequence>
              <xs&#58;element name="Xs">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;string">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="Ys" type="xs&#58;string" />
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="IsNewSailPhysics" type="xs&#58;string" />
        <xs&#58;element name="Sails">
          <xs&#58;complexType>
            <xs&#58;sequence>
              <xs&#58;element maxOccurs="unbounded" name="Sail">
                <xs&#58;complexType mixed="true">
                  <xs&#58;sequence>
                    <xs&#58;element name="IdName" type="xs&#58;string" />
                    <xs&#58;element name="SailType" type="xs&#58;string" />
                    <xs&#58;element name="VppCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="BSCoefCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves2">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve2">
                                  <xs&#58;complexType mixed="true">
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Curves">
                                        <xs&#58;complexType>
                                          <xs&#58;sequence>
                                            <xs&#58;element maxOccurs="unbounded" name="Curve">
                                              <xs&#58;complexType mixed="true">
                                                <xs&#58;sequence>
                                                  <xs&#58;element name="Xs">
                                                    <xs&#58;complexType>
                                                      <xs&#58;simpleContent>
                                                        <xs&#58;extension base="xs&#58;string">
                                                          <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                        </xs&#58;extension>
                                                      </xs&#58;simpleContent>
                                                    </xs&#58;complexType>
                                                  </xs&#58;element>
                                                  <xs&#58;element name="Ys" type="xs&#58;string" />
                                                </xs&#58;sequence>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                          </xs&#58;sequence>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="OptimalSailAngleCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType mixed="true">
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element minOccurs="0" name="BoomAngleCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element minOccurs="0" name="OptimalSailAngleCurvesArray">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element maxOccurs="unbounded" name="OptimalSailAngleCurve">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element name="Id" type="xs&#58;string" />
                                <xs&#58;element name="Xs">
                                  <xs&#58;complexType>
                                    <xs&#58;simpleContent>
                                      <xs&#58;extension base="xs&#58;string">
                                        <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                      </xs&#58;extension>
                                    </xs&#58;simpleContent>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                                <xs&#58;element name="Curves">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element maxOccurs="unbounded" name="Curve">
                                        <xs&#58;complexType mixed="true">
                                          <xs&#58;sequence>
                                            <xs&#58;element name="Xs">
                                              <xs&#58;complexType>
                                                <xs&#58;simpleContent>
                                                  <xs&#58;extension base="xs&#58;string">
                                                    <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                  </xs&#58;extension>
                                                </xs&#58;simpleContent>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                            <xs&#58;element name="Ys">
                                              <xs&#58;complexType>
                                                <xs&#58;simpleContent>
                                                  <xs&#58;extension base="xs&#58;string">
                                                    <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                  </xs&#58;extension>
                                                </xs&#58;simpleContent>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                          </xs&#58;sequence>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="HeelAngleCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType mixed="true">
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="HeelAngleCoefCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves2">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve2">
                                  <xs&#58;complexType mixed="true">
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Curves">
                                        <xs&#58;complexType>
                                          <xs&#58;sequence>
                                            <xs&#58;element maxOccurs="unbounded" name="Curve">
                                              <xs&#58;complexType mixed="true">
                                                <xs&#58;sequence>
                                                  <xs&#58;element name="Xs">
                                                    <xs&#58;complexType>
                                                      <xs&#58;simpleContent>
                                                        <xs&#58;extension base="xs&#58;string">
                                                          <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                        </xs&#58;extension>
                                                      </xs&#58;simpleContent>
                                                    </xs&#58;complexType>
                                                  </xs&#58;element>
                                                  <xs&#58;element name="Ys" type="xs&#58;string" />
                                                </xs&#58;sequence>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                          </xs&#58;sequence>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
diades
Matelot
Posts: 130
Joined: 22 Dec 2008, 00:32
Location: Scotland

Post by diades »

Part 2:

Code: Select all

                    <xs&#58;element minOccurs="0" name="LuffAngleSpeedCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element minOccurs="0" name="RevolveAngleSpeedCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="AccelerationCurves">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Curves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element maxOccurs="unbounded" name="Curve">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element name="Xs">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                      <xs&#58;element name="Ys">
                                        <xs&#58;complexType>
                                          <xs&#58;simpleContent>
                                            <xs&#58;extension base="xs&#58;string">
                                              <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                            </xs&#58;extension>
                                          </xs&#58;simpleContent>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="ShiverAngleCurve">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Ys">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element minOccurs="0" name="BoomSpeed" type="xs&#58;decimal" />
                    <xs&#58;element minOccurs="0" name="SheetAngleMaxCurve">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element name="Xs">
                            <xs&#58;complexType>
                              <xs&#58;simpleContent>
                                <xs&#58;extension base="xs&#58;string">
                                  <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                </xs&#58;extension>
                              </xs&#58;simpleContent>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element name="Ys" type="xs&#58;string" />
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="SheetAngleMin">
                      <xs&#58;complexType>
                        <xs&#58;simpleContent>
                          <xs&#58;extension base="xs&#58;unsignedByte">
                            <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                          </xs&#58;extension>
                        </xs&#58;simpleContent>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="SheetAngleMax">
                      <xs&#58;complexType>
                        <xs&#58;simpleContent>
                          <xs&#58;extension base="xs&#58;unsignedByte">
                            <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                          </xs&#58;extension>
                        </xs&#58;simpleContent>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element minOccurs="0" name="ShiverWindFree" type="xs&#58;string" />
                    <xs&#58;element name="SailSpeedCoefSheet" type="xs&#58;decimal" />
                    <xs&#58;element name="SailSpeedCoefEaseOut" type="xs&#58;decimal" />
                    <xs&#58;element name="AutomaticSheetTargetSpeed" type="xs&#58;decimal" />
                    <xs&#58;element name="ManoeuvreHaulUp">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;choice maxOccurs="unbounded">
                            <xs&#58;element name="DurationCurves">
                              <xs&#58;complexType>
                                <xs&#58;sequence>
                                  <xs&#58;element name="Xs">
                                    <xs&#58;complexType>
                                      <xs&#58;simpleContent>
                                        <xs&#58;extension base="xs&#58;string">
                                          <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                        </xs&#58;extension>
                                      </xs&#58;simpleContent>
                                    </xs&#58;complexType>
                                  </xs&#58;element>
                                  <xs&#58;element name="Curves">
                                    <xs&#58;complexType>
                                      <xs&#58;sequence>
                                        <xs&#58;element maxOccurs="unbounded" name="Curve">
                                          <xs&#58;complexType>
                                            <xs&#58;sequence>
                                              <xs&#58;element name="Xs">
                                                <xs&#58;complexType>
                                                  <xs&#58;simpleContent>
                                                    <xs&#58;extension base="xs&#58;string">
                                                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                    </xs&#58;extension>
                                                  </xs&#58;simpleContent>
                                                </xs&#58;complexType>
                                              </xs&#58;element>
                                              <xs&#58;element name="Ys" type="xs&#58;string" />
                                            </xs&#58;sequence>
                                          </xs&#58;complexType>
                                        </xs&#58;element>
                                      </xs&#58;sequence>
                                    </xs&#58;complexType>
                                  </xs&#58;element>
                                </xs&#58;sequence>
                              </xs&#58;complexType>
                            </xs&#58;element>
                            <xs&#58;element name="DurationJibChangeCurves">
                              <xs&#58;complexType>
                                <xs&#58;sequence>
                                  <xs&#58;element name="Xs">
                                    <xs&#58;complexType>
                                      <xs&#58;simpleContent>
                                        <xs&#58;extension base="xs&#58;string">
                                          <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                        </xs&#58;extension>
                                      </xs&#58;simpleContent>
                                    </xs&#58;complexType>
                                  </xs&#58;element>
                                  <xs&#58;element name="Curves">
                                    <xs&#58;complexType>
                                      <xs&#58;sequence>
                                        <xs&#58;element maxOccurs="unbounded" name="Curve">
                                          <xs&#58;complexType>
                                            <xs&#58;sequence>
                                              <xs&#58;element name="Xs">
                                                <xs&#58;complexType>
                                                  <xs&#58;simpleContent>
                                                    <xs&#58;extension base="xs&#58;string">
                                                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                    </xs&#58;extension>
                                                  </xs&#58;simpleContent>
                                                </xs&#58;complexType>
                                              </xs&#58;element>
                                              <xs&#58;element name="Ys" type="xs&#58;string" />
                                            </xs&#58;sequence>
                                          </xs&#58;complexType>
                                        </xs&#58;element>
                                      </xs&#58;sequence>
                                    </xs&#58;complexType>
                                  </xs&#58;element>
                                </xs&#58;sequence>
                              </xs&#58;complexType>
                            </xs&#58;element>
                            <xs&#58;element name="SlowDownCoef" type="xs&#58;decimal" />
                            <xs&#58;element name="TeamActionId" type="xs&#58;string" />
                            <xs&#58;element name="Sound1Id" type="xs&#58;string" />
                            <xs&#58;element name="Sound1Time" type="xs&#58;unsignedByte" />
                            <xs&#58;element name="Sound2Id" type="xs&#58;string" />
                            <xs&#58;element name="Sound2Time" type="xs&#58;decimal" />
                          </xs&#58;choice>
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="ManoeuvreHaulDown">
                      <xs&#58;complexType>
                        <xs&#58;sequence>
                          <xs&#58;element minOccurs="0" name="DurationCurves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element name="Xs">
                                  <xs&#58;complexType>
                                    <xs&#58;simpleContent>
                                      <xs&#58;extension base="xs&#58;string">
                                        <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                      </xs&#58;extension>
                                    </xs&#58;simpleContent>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                                <xs&#58;element name="Curves">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element maxOccurs="unbounded" name="Curve">
                                        <xs&#58;complexType>
                                          <xs&#58;sequence>
                                            <xs&#58;element name="Xs">
                                              <xs&#58;complexType>
                                                <xs&#58;simpleContent>
                                                  <xs&#58;extension base="xs&#58;string">
                                                    <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                  </xs&#58;extension>
                                                </xs&#58;simpleContent>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                            <xs&#58;element name="Ys" type="xs&#58;string" />
                                          </xs&#58;sequence>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element minOccurs="0" name="DurationJibChangeCurves">
                            <xs&#58;complexType>
                              <xs&#58;sequence>
                                <xs&#58;element name="Xs">
                                  <xs&#58;complexType>
                                    <xs&#58;simpleContent>
                                      <xs&#58;extension base="xs&#58;string">
                                        <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                      </xs&#58;extension>
                                    </xs&#58;simpleContent>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                                <xs&#58;element name="Curves">
                                  <xs&#58;complexType>
                                    <xs&#58;sequence>
                                      <xs&#58;element maxOccurs="unbounded" name="Curve">
                                        <xs&#58;complexType>
                                          <xs&#58;sequence>
                                            <xs&#58;element name="Xs">
                                              <xs&#58;complexType>
                                                <xs&#58;simpleContent>
                                                  <xs&#58;extension base="xs&#58;string">
                                                    <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                                                  </xs&#58;extension>
                                                </xs&#58;simpleContent>
                                              </xs&#58;complexType>
                                            </xs&#58;element>
                                            <xs&#58;element name="Ys" type="xs&#58;string" />
                                          </xs&#58;sequence>
                                        </xs&#58;complexType>
                                      </xs&#58;element>
                                    </xs&#58;sequence>
                                  </xs&#58;complexType>
                                </xs&#58;element>
                              </xs&#58;sequence>
                            </xs&#58;complexType>
                          </xs&#58;element>
                          <xs&#58;element minOccurs="0" name="SlowDownCoef" type="xs&#58;decimal" />
                          <xs&#58;element minOccurs="0" name="TeamActionId" type="xs&#58;string" />
                          <xs&#58;element name="Sound1Id" type="xs&#58;string" />
                          <xs&#58;element name="Sound1Time" type="xs&#58;unsignedByte" />
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="ManoeuvrePrepareHaulUp">
                      <xs&#58;complexType>
                        <xs&#58;sequence minOccurs="0">
                          <xs&#58;element name="Duration" type="xs&#58;unsignedByte" />
                          <xs&#58;element name="TeamActionId" type="xs&#58;string" />
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="ManoeuvrePrepareHaulDown">
                      <xs&#58;complexType>
                        <xs&#58;sequence minOccurs="0">
                          <xs&#58;element name="Duration" type="xs&#58;unsignedByte" />
                          <xs&#58;element name="TeamActionId" type="xs&#58;string" />
                        </xs&#58;sequence>
                      </xs&#58;complexType>
                    </xs&#58;element>
                    <xs&#58;element name="BulgeIntens" type="xs&#58;decimal" />
                    <xs&#58;element name="BulgeSpeed" type="xs&#58;decimal" />
                    <xs&#58;element name="SailId" type="xs&#58;string" />
                    <xs&#58;element name="SailFlatId" type="xs&#58;string" />
                    <xs&#58;element name="BoomId" type="xs&#58;string" />
                    <xs&#58;element name="IsReefingGear" type="xs&#58;string" />
                    <xs&#58;element name="VisualHaulDelta" type="xs&#58;unsignedByte" />
                    <xs&#58;element name="VisualShiverAmplitude" type="xs&#58;decimal" />
                    <xs&#58;element name="VisualShiverSpeedCoef" type="xs&#58;decimal" />
                    <xs&#58;element name="VisualShiverSpeedMax" type="xs&#58;unsignedByte" />
                  </xs&#58;sequence>
                </xs&#58;complexType>
              </xs&#58;element>
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="WindShadow">
          <xs&#58;complexType mixed="true">
            <xs&#58;sequence>
              <xs&#58;element name="UseNewWindShadowing" type="xs&#58;string" />
              <xs&#58;element name="Pos0" type="xs&#58;string" />
              <xs&#58;element name="Pos1" type="xs&#58;string" />
              <xs&#58;element name="Height" type="xs&#58;unsignedByte" />
              <xs&#58;element name="SecondSegmentCenterRatio" type="xs&#58;decimal" />
              <xs&#58;element name="SecondSegmentLength" type="xs&#58;unsignedByte" />
              <xs&#58;element name="SizeF7F3Ratio" type="xs&#58;unsignedByte" />
              <xs&#58;element name="WindDirDevCoef" type="xs&#58;decimal" />
              <xs&#58;element name="WindDirDevMax" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerBase" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerCoeffX" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerCoeffY" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerCoeffYMax" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerBaseXCenter" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerBaseXCenterVal" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerBaseXMult" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerValXCoeff" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerOffsetX" type="xs&#58;decimal" />
              <xs&#58;element name="BlockerPosRatio" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceCoeffX" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceCoeffY" type="xs&#58;unsignedByte" />
              <xs&#58;element name="TurbulenceBase" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceBaseXCenter" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceBaseXCenterVal" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceBaseXMult" type="xs&#58;unsignedByte" />
              <xs&#58;element name="TurbulenceAngleDeviationMult" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulencePosRatio" type="xs&#58;decimal" />
              <xs&#58;element name="TurbulenceMaxAwa">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;unsignedByte">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="TurbulenceFadderAwa">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;unsignedByte">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="SillageCoeffX" type="xs&#58;decimal" />
              <xs&#58;element name="SillageCoeffY" type="xs&#58;decimal" />
              <xs&#58;element name="SillageBase" type="xs&#58;unsignedByte" />
              <xs&#58;element name="SillageOffsetMult" type="xs&#58;decimal" />
              <xs&#58;element name="SillageMaxAwa">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;unsignedByte">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="SillageFadderAwa">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;unsignedByte">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="SillageCoeffYRot" type="xs&#58;decimal" />
              <xs&#58;element name="SillageRotAwa">
                <xs&#58;complexType>
                  <xs&#58;simpleContent>
                    <xs&#58;extension base="xs&#58;unsignedByte">
                      <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
                    </xs&#58;extension>
                  </xs&#58;simpleContent>
                </xs&#58;complexType>
              </xs&#58;element>
              <xs&#58;element name="SillageAngleDeviationDiv" type="xs&#58;unsignedByte" />
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="Surf" type="xs&#58;decimal" />
        <xs&#58;element name="Floating" type="xs&#58;unsignedShort" />
        <xs&#58;element name="WaterLineHeightDelta" type="xs&#58;decimal" />
        <xs&#58;element name="RollCoef" type="xs&#58;decimal" />
        <xs&#58;element name="PitchSpeed" type="xs&#58;decimal" />
        <xs&#58;element name="PitchInertia" type="xs&#58;decimal" />
        <xs&#58;element name="PitchOscillation">
          <xs&#58;complexType>
            <xs&#58;simpleContent>
              <xs&#58;extension base="xs&#58;unsignedByte">
                <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
              </xs&#58;extension>
            </xs&#58;simpleContent>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="PitchOscillationSpeed" type="xs&#58;unsignedByte" />
        <xs&#58;element name="HeelSpeed" type="xs&#58;decimal" />
        <xs&#58;element name="HeelInertia" type="xs&#58;decimal" />
        <xs&#58;element name="HeelOscillation">
          <xs&#58;complexType>
            <xs&#58;simpleContent>
              <xs&#58;extension base="xs&#58;unsignedByte">
                <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
              </xs&#58;extension>
            </xs&#58;simpleContent>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="HeelOscillationSpeed" type="xs&#58;unsignedByte" />
        <xs&#58;element name="HeelMax">
          <xs&#58;complexType>
            <xs&#58;simpleContent>
              <xs&#58;extension base="xs&#58;unsignedByte">
                <xs&#58;attribute name="Conv" type="xs&#58;string" use="required" />
              </xs&#58;extension>
            </xs&#58;simpleContent>
          </xs&#58;complexType>
        </xs&#58;element>
        <xs&#58;element name="CameraInsideE" type="xs&#58;string" />
        <xs&#58;element name="CameraInsideE_Amplifior" type="xs&#58;string" />
        <xs&#58;element name="CameraInsideB" type="xs&#58;string" />
        <xs&#58;element name="WindIndicatorDistance" type="xs&#58;string" />
        <xs&#58;element name="StemWaves">
          <xs&#58;complexType>
            <xs&#58;sequence>
              <xs&#58;element maxOccurs="unbounded" name="StemWave">
                <xs&#58;complexType>
                  <xs&#58;sequence>
                    <xs&#58;element name="IdName" type="xs&#58;string" />
                    <xs&#58;element name="UseWaveProjection" type="xs&#58;string" />
                    <xs&#58;element name="UseSeaElevation" type="xs&#58;string" />
                    <xs&#58;element name="OnlyUnderSea" type="xs&#58;string" />
                    <xs&#58;element name="SeaLevel" type="xs&#58;byte" />
                    <xs&#58;element name="NbPointZ" type="xs&#58;unsignedByte" />
                    <xs&#58;element name="InitialSpeedDir" type="xs&#58;string" />
                    <xs&#58;element name="MaxCoefSize" type="xs&#58;decimal" />
                    <xs&#58;element name="BoatSpeedRef" type="xs&#58;unsignedByte" />
                    <xs&#58;element name="EjectSpeedScale" type="xs&#58;decimal" />
                    <xs&#58;element name="SplashCoef" type="xs&#58;unsignedByte" />
                    <xs&#58;element name="StemDuration" type="xs&#58;string" />
                    <xs&#58;element name="RelativePos" type="xs&#58;string" />
                    <xs&#58;element name="UseRelativePos2" type="xs&#58;string" />
                    <xs&#58;element name="RelativePos2" type="xs&#58;string" />
                    <xs&#58;element name="StartWidth" type="xs&#58;decimal" />
                    <xs&#58;element name="EndWidth" type="xs&#58;unsignedByte" />
                    <xs&#58;element name="TextureSizeInMeter" type="xs&#58;unsignedByte" />
                  </xs&#58;sequence>
                </xs&#58;complexType>
              </xs&#58;element>
            </xs&#58;sequence>
          </xs&#58;complexType>
        </xs&#58;element>
      </xs&#58;sequence>
    </xs&#58;complexType>
  </xs&#58;element>
</xs&#58;schema>
diades
Matelot
Posts: 130
Joined: 22 Dec 2008, 00:32
Location: Scotland

Post by diades »

You can use the DTD thus:

Code: Select all

<!DOCTYPE Nod SYSTEM "file&#58;///C&#58;/Users/OWNER/Downloads/virtual skipper/AccBoatParam.dtd">
<Nod>
  <BoatType>MonoCoque</BoatType>
and use an xml editor to validate your changes as you go.

When finished, just remove the :

Code: Select all

<!DOCTYPE Nod SYSTEM "file&#58;///C&#58;/Users/OWNER/Downloads/virtual skipper/AccBoatParam.dtd">
and save.
Locked