我想将XSD定义为XML文件,但我不知道为什么它对我不起作用。 我有2个文件,XML文件和XSD文件。
这是我的XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<article href="http://www.ensa-agadir.ac.ma/arti234" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Users\Mehdi\Desktop\XMLDS~1\DS1-EX1.xsd">
<titre>application de web sémantique</titre>
<nombrePages>12</nombrePages>
<auteur rond="principale">
<nom>Hassani</nom>
<prénom>Jamal</prénom>
<établissement>Ensa-Agadir</établissement>
</auteur>
<auteur rond="secondaire">
<nom>Karoum</nom>
<prénom>Ahmed</prénom>
<établissement>Ensa-Agadir</établissement>
</auteur>
<auteur rond="secondaire">
<nom>Roumi</nom>
<prénom>Jack</prénom>
<établissement>Ensa-Rouen</établissement>
</auteur>
<résume>Il s'agit d'expliquer comment utiliser et appliquer le web sémantique dans le domaine informatique</résume>
和我的架构代码:
<?xml version="1.0" encoding="UTF-8"?>
<xs:element name="article" type="articleT" />
<xs:complexType name="articleT">
<xs:sequence maxOccurs="1">
<xs:element name="titre" type="xs:string" />
<xs:element name="nombrePages" type="nbpagesT" />
</xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="auteur" type="auteurT" />
</xs:choice>
</xs:complexType>
<xs:simpleType name="nbpagesT">
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]+" />
</xs:restriction>
</xs:simpleType>
但我不知道为什么会出现这个错误:
谢谢: - )
答案 0 :(得分:0)
元素只能有一个内容 - 你需要在序列,选择,所有等之间进行选择。但是,这些内容可以组成 - 你的序列可以包含选择等等。另外,我不确定您使用“选择” - 当您想要为XML提供少量内容选项时,可以使用此选项。所以只有一个元素“auteurT”没有多大意义。例如,XSD:
<xs:complexType name="phoneT">
<xs:choice>
<xs:element name="hardwire" type="xs:string"/>
<xs:element name="mobile" type="xs:string"/>
</xs:choice>
</xs:complexType>
如果您为某个元素指定“phoneT”类型,则它可以包含“hardwire”或“mobile”元素。
答案 1 :(得分:0)
在其中只有一个元素的选择是没有意义的(它甚至不会使该元素可选)。就像福特说我们提供颜色选择,你可以选择黑色。
如果有多个选择,您可以写下:
<xs:complexType name="articleT">
<xs:sequence>
<xs:element name="titre" type="xs:string" />
<xs:element name="nombrePages" type="nbpagesT" />
<xs:choice maxOccurs="unbounded">
<xs:element name="auteur" type="auteurT" />
<xs:element name="rédacteur" type="rédacteurT" />
</xs:choice>
</xs:sequence>
</xs:complexType>
但我认为您真正想要的内容模型是:
<xs:complexType name="articleT">
<xs:sequence>
<xs:element name="titre" type="xs:string" />
<xs:element name="nombrePages" type="nbpagesT" />
<xs:element name="auteur" type="auteurT" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>