title: "The markup in the document preceding the root element must be well-formed" error while validating xml
body: <p>i'm very new to xml, so pls forgive me for dumb question.
  Well i have such a schema </p>
  
  <pre><code> &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
      &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
   elementFormDefault="qualified"&gt;
   &lt;xs:element name="Product"&gt;
     &lt;xs:complexType&gt;
       &lt;xs:sequence&gt;
          &lt;xs:element name= "name" type = "xs:string"/&gt;
          &lt;xs:element name= "price" type = "xs:decimal"/&gt;
          &lt;xs:element name= "Fish"&gt;
               &lt;xs:complexType&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element name= "Type"&gt;
                          &lt;xs:simpleType&gt;
                              &lt;xs:restriction base="xs:string"&gt;
                                  &lt;xs:enumeration value="herbivourus"/&gt;
                                  &lt;xs:enumeration value="predator"/&gt;
                                  &lt;xs:enumeration value="detritophages"/&gt;
                                  &lt;xs:enumeration value="omnivourus"/&gt;
                              &lt;/xs:restriction&gt;
                          &lt;/xs:simpleType&gt;
                      &lt;/xs:element&gt;
                      &lt;xs:element name="Clown"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                  &lt;xs:element name="Character" &gt;
                                      &lt;xs:simpleType&gt;
                                          &lt;xs:restriction base="xs:string"&gt;
                                              &lt;xs:enumeration value="Slow"/&gt;
                                              &lt;xs:enumeration value="Quiet"/&gt;
                                              &lt;xs:enumeration value="Fearful"/&gt;
                                              &lt;xs:enumeration value="Motile"/&gt;
                                          &lt;/xs:restriction&gt;
                                      &lt;/xs:simpleType&gt;
                                  &lt;/xs:element&gt;
                                  &lt;xs:element name="Agressiveness"&gt;
                                      &lt;xs:simpleType&gt;
                                          &lt;xs:restriction base="xs:string"&gt;
                                              &lt;xs:enumeration value="HIGH"/&gt;
                                              &lt;xs:enumeration value="MEDIUM"/&gt;
                                              &lt;xs:enumeration value="LOW"/&gt;
                                          &lt;/xs:restriction&gt;
                                      &lt;/xs:simpleType&gt;
                                  &lt;/xs:element&gt;
  
                                 &lt;xs:element name="gotSpikes" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;
                       &lt;xs:element name="Lionfish"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                 &lt;xs:element name="gotSpikes" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;
                        &lt;xs:element name="Triggerfish"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                 &lt;xs:element name="needsHideout" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;
                        &lt;xs:element name="Trumpetfish"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                 &lt;xs:element name="gregarious" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;
                        &lt;xs:element name="Yellow_boxfish"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                 &lt;xs:element name="gregarious" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
          &lt;xs:element name="reptile"&gt;
              &lt;xs:complexType&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element name="compatibleWithFish" type= "xs:boolean"/&gt;
                      &lt;xs:element name="needsLand" type= "xs:boolean"/&gt;
                      &lt;xs:element name="turtle"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                 &lt;xs:element name="gregarious" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;  
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
          &lt;xs:element name="decoration"&gt;
              &lt;xs:complexType&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element name="size" type= "xs:int"/&gt;
                      &lt;xs:element name="alga"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                  &lt;xs:element name="doesGetsOxygen" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;  
                       &lt;xs:element name="castle"&gt;
                          &lt;xs:complexType&gt;
                              &lt;xs:sequence&gt;
                                  &lt;xs:element name="serialVersionUID" type="xs:long"/&gt;
                                  &lt;xs:element name="isHideOut" type="xs:boolean"/&gt;
                              &lt;/xs:sequence&gt;
                          &lt;/xs:complexType&gt;
                       &lt;/xs:element&gt;  
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
       &lt;/xs:sequence&gt;
     &lt;/xs:complexType&gt;
   &lt;/xs:element&gt;
   &lt;/xs:schema&gt;
  </code></pre>
  
  <p>and there is actually my xml </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
      xsi:schemaLocation="tank.xsd"&gt;
      &lt;Product&gt;
      &lt;&lt;Fish&gt;
              &lt;Clown name = "Clown"&gt;
                  &lt;serialVersionUID&gt;
                      -7114819146190513293L
                  &lt;/serialVersionUID&gt;
                  &lt;Character&gt;QUIET&lt;/Character&gt;
                  &lt;Aggressiveness&gt;LOW&lt;/Aggressiveness&gt;
                  &lt;gotSpikes&gt;false&lt;/gotSpikes&gt;
                  &lt;type&gt; herbivourus&lt;/type&gt;
                  &lt;price&gt; 51000 &lt;/price&gt;
  
              &lt;/Clown&gt;
              &lt;Lionfish&gt;
                  &lt;serialVersionUID&gt;
                      5302423581237004299L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;25000&lt;/price&gt;
                  &lt;name&gt; Lionfish &lt;/name&gt;
                  &lt;type&gt; herbivourus&lt;/type&gt;
                  &lt;gotSpikes&gt;true&lt;/gotSpikes&gt;
              &lt;/Lionfish&gt;
              &lt;Triggerfish&gt;
                  &lt;serialVersionUID&gt;
                      4102072582518577014L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;27000&lt;/price&gt;
                  &lt;name&gt; Triggerfish &lt;/name&gt;
                  &lt;type&gt; herbivourus&lt;/type&gt;
                  &lt;needsHideout&gt;true&lt;/needsHideout&gt;
              &lt;/Triggerfish&gt;
              &lt;Trumpetfish&gt;
                  &lt;serialVersionUID&gt;
                       -6802935171639886135L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;34500&lt;/price&gt;
                  &lt;name&gt; Trumpetfish &lt;/name&gt;
                  &lt;type&gt; herbivourus&lt;/type&gt;
                  &lt;gregarious&gt; true&lt;/gregarious&gt;
              &lt;/Trumpetfish&gt;
              &lt;Yellow_boxfish&gt;
                  &lt;serialVersionUID&gt;
                       4377441012026861992L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;56900&lt;/price&gt;
                  &lt;name&gt; Yellow_boxfish &lt;/name&gt;
                  &lt;type&gt; herbivourus&lt;/type&gt;
                  &lt;gregarious&gt; true&lt;/gregarious&gt;
              &lt;/Yellow_boxfish&gt;
      &lt;/Fish&gt;
      &lt;Reptile&gt;
              &lt;Turtle&gt;
                  &lt;serialVersionUID&gt;
                      -3606085842515781016L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;129000&lt;/price&gt;
                  &lt;name&gt; Turtle &lt;/name&gt;
                  &lt;compatibleWithFish&gt; true&lt;/compatibleWithFish&gt;
                  &lt;needsLand&gt;true&lt;/needsLand&gt;
                  &lt;gregarious&gt; true &lt;/gregarious&gt;
              &lt;/Turtle&gt;
      &lt;/Reptile&gt;
      &lt;Decoration&gt;
              &lt;Alga&gt;
                  &lt;serialVersionUID&gt;
                      -4311096533955485410L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;15000&lt;/price&gt;
                  &lt;name&gt; alga &lt;/name&gt;
                  &lt;doesGetOxygen&gt; true&lt;/doesGetOxygen&gt;
              &lt;/Alga&gt;
              &lt;Castle&gt;
                  &lt;serialVersionUID&gt;
                      1L
                  &lt;/serialVersionUID&gt;
                  &lt;price&gt;110300&lt;/price&gt;
                  &lt;name&gt; Castle &lt;/name&gt;
                  &lt;ishideout&gt; true&lt;/ishideout&gt;
              &lt;/Castle&gt;
      &lt;/Decoration&gt;
  &lt;/Product&gt;
  </code></pre>
  
  <p>Also btw i have such a class hierarchy </p>
  
  <ul>
  <li>abstract Product 
  <ul>
  <li>abstract Fish
  <ul>
  <li>Clown </li>
  <li>Lionfish</li>
  <li>Triggerfish</li>
  <li>Trumpetfish</li>
  <li>Yellow_boxfish</li>
  </ul></li>
  <li>abstract Reptile
  <ul>
  <li>Turtle</li>
  </ul></li>
  <li>abstract Decoration
  <ul>
  <li>Alga</li>
  <li>Calstle
  The output of validator is "The markup in the document preceding the root element must be well-formed"
  So please point me what's wrong</li>
  </ul></li>
  </ul></li>
  </ul>
  
  <p>P.S. i need to show in xsd a hierarchy of classes  and that the base class is product class and all the childs will have a field name and price, so i'm not sure that it shows correctly  in my schema :C and btw then im going to instantiate this classes </p>