XML Schema and Element with Type String

I am trying to create an XML schema and I am stuck. I can't seem to define an element with inline content. What am I doing wrong?

Scheme:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ponderka.wz.cz/MusicLibrary0" targetNamespace="http://ponderka.wz.cz/MusicLibrary0">
    <xs:element name="music-library">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="artist" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

      

Document

<?xml version="1.0"?>
<music-library xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ponderka.wz.cz/MusicLibrary0 data0.xsd" xmlns="http://ponderka.wz.cz/MusicLibrary0">
    <artist>a</artist>
</music-library>

      

Validator says:

Element <artist> is not allowed under element <music-library>.
    Reason: The following elements are expected at this location (see below)
        <artist>
    Error location: music-library / artist
    Details
        cvc-model-group: Element <artist> unexpected by type '{anonymous}' of element <music-library>.
        cvc-elt.5.2.1: The element <music-library> is not valid with respect to the actual type definition '{anonymous}'.

      

+2


a source to share


1 answer


You are missing this:

attributeFormDefault="unqualified"

      



Try the following:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ponderka.wz.cz/MusicLibrary0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="music-library">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="artist" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

      

+2


a source







All Articles