Я новичок в XML. Может ли кто-нибудь помочь мне подключить XSD к файлу XML?
Вот мой XML:
<WorldWideHappiness
xmlns = "https://www.w3schools.com"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://www.w3schools.com/xml Hapiness.xsd">
<Record>
<Country>
<Name>The Netherlands</Name>
<Region>Western Europe</Region>
<HappinessRank>7</HappinessRank>
<HappinessScore>7.339</HappinessScore>
<LowerConfidenceInterval>7.284</LowerConfidenceInterval>
<UpperConfidenceInterval>7.394</UpperConfidenceInterval>
<Health>0.81231</Health>
</Country>
</Record>
</WorldWideHappiness>
А вот мой XSD:
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema" targetNamespace = "https://www.w3schools.com" xmlns = "https://www.w3schools.com">
<xs:element name = "WorldWideHappiness" type = "WorldWideStatistics"/>
<xs:complexType name = "WorldWideStatistics">
<xs:sequence>
<xs:element name = "Country" type = "CountryType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name = "CountryType">
<xs:sequence>
<xs:element name = "Name" type = "xs:integer"/>
<xs:element name = "Region" type = "xs:string"/>
<xs:element name = "HappinessRank" type = "xs:int"/>
<xs:element name = "HappinessScore" type = "xs:double"/>
<xs:element name = "LowerConfidenceInterval" type = "xs:double"/>
<xs:element name = "UpperConfidenceInterval" type = "xs:double"/>
<xs:element name = "Health" type = "xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Я считаю, что что-то не так с моим XML, поэтому я хочу изменить файл XML





Необходимые исправления включают
xsi:schemaLocation (исправьте).elementFormDefault = "qualified" в XSD. Смотрите этот ответ почему.Name в XML, чтобы он соответствовал типу XSD.В целом следующий XML действителен для следующего XSD:
<WorldWideHappiness
xmlns = "https://www.w3schools.com"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://www.w3schools.com Hapiness.xsd">
<Country>
<Name>1</Name>
<Region>Western Europe</Region>
<HappinessRank>7</HappinessRank>
<HappinessScore>7.339</HappinessScore>
<LowerConfidenceInterval>7.284</LowerConfidenceInterval>
<UpperConfidenceInterval>7.394</UpperConfidenceInterval>
<Health>0.81231</Health>
</Country>
</WorldWideHappiness>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"
targetNamespace = "https://www.w3schools.com"
elementFormDefault = "qualified"
xmlns = "https://www.w3schools.com">
<xs:element name = "WorldWideHappiness" type = "WorldWideStatistics"/>
<xs:complexType name = "WorldWideStatistics">
<xs:sequence>
<xs:element name = "Country" type = "CountryType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name = "CountryType">
<xs:sequence>
<xs:element name = "Name" type = "xs:integer"/>
<xs:element name = "Region" type = "xs:string"/>
<xs:element name = "HappinessRank" type = "xs:int"/>
<xs:element name = "HappinessScore" type = "xs:double"/>
<xs:element name = "LowerConfidenceInterval" type = "xs:double"/>
<xs:element name = "UpperConfidenceInterval" type = "xs:double"/>
<xs:element name = "Health" type = "xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Хороший ответ, +1 с моей стороны!
Спасибо, @YitzhakKhabinsky.
Вы бы предпочли изменить свой XML или XSD?