我尝试验证我的XSD文件,但我一直收到错误,无法找出解决方案。
无效。
错误 - 第41,31行:org.xml.sax.SAXParseException; lineNumber:41; columnNumber:31; s4s-elt-invalid-content.1:'CVType'的内容无效。元素'元素'无效,错位或过于频繁发生 错误 - 第50行,第29行:org.xml.sax.SAXParseException; lineNumber:50; columnNumber:29; s4s-elt-invalid-content.1:'detailType'的内容无效。元素'元素'无效,错位或过于频繁发生 错误 - 第56行,第30行:org.xml.sax.SAXParseException; lineNumber:56; columnNumber:30; s4s-elt-invalid-content.1:'NameType'的内容无效。元素'元素'无效,错位或过于频繁发生 错误 - 第67行,第30行:org.xml.sax.SAXParseException; lineNumber:67; columnNumber:30; s4s-elt-invalid-content.1:'educationType'的内容无效。元素'元素'无效,错位或过于频繁发生 错误 - 第84,33行:org.xml.sax.SAXParseException; lineNumber:84; columnNumber:33; s4s-elt-invalid-content.1:'EmphistoryType'的内容无效。元素'元素'无效,错位或过于频繁发生 错误 - 第118行,第40行:org.xml.sax.SAXParseException; lineNumber:118; columnNumber:40; InvalidRegex:模式值'^ [\ w -_。] * [\ w - 。] \ @ [\ w]。+ [\ w] + [\ w] $'不是有效的正则表达式。报告的错误是:'范围结束代码点小于起始代码点。'。
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="qualified">
<!--DECLARING ELEMENTS-->
<!--Simple type elements-->
<xsd:element name="fname" type="xsd:string"></xsd:element>
<xsd:element name="sname" type="xsd:string"></xsd:element>
<xsd:element name="Title" type="xsd:string"></xsd:element>
<xsd:element name="position" type="xsd:string"></xsd:element>
<xsd:element name="Type" type="xsd:string"></xsd:element>
<xsd:element name="PlaceObtained" type="xsd:string"></xsd:element>
<xsd:element name="place" type="xsd:string"></xsd:element>
<xsd:element name="DateStarted" type="xsd:string"></xsd:element>
<xsd:element name="DateFinished" type="xsd:string"></xsd:element>
<xsd:element name="description" type="xsd:string"></xsd:element>
<xsd:element name="intrest" type="xsd:string"></xsd:element>
<xsd:element name="reference" type="xsd:string"></xsd:element>
<!--Custom Type Elements-->
<xsd:element name="cv" type="CVType"></xsd:element>
<xsd:element name="detail" type="detailType"></xsd:element>
<xsd:element name="Name" type="NameType"></xsd:element>
<xsd:element name="Educations" type="EducationsType"></xsd:element>
<xsd:element name="education" type="educationType"></xsd:element>
<xsd:element name="Emphistorys" type="EmphistorysType"></xsd:element>
<xsd:element name="Emphistory" type="EmphistoryType"></xsd:element>
<xsd:element name="TechSkill" type="TechSkillType"></xsd:element>
<xsd:element name="intrests" type="intrestsType"></xsd:element>
<xsd:element name="email" type="emailType"></xsd:element>
<xsd:element name="contact" type="contactType"></xsd:element>
<xsd:element name="descripts" type="descriptsType"></xsd:element>
<xsd:element name="ref" type="refType"></xsd:element>
<!--DECLARING THE STRUCTURE-->
<!--Defining the structure-->
<xsd:complexType name="CVType">
<xsd:element ref="detail"></xsd:element>
<xsd:element ref="Educations"></xsd:element>
<xsd:element ref="Emphistorys"></xsd:element>
<xsd:element ref="TechSkill"></xsd:element>
<xsd:element ref="intrests"></xsd:element>
<xsd:element ref="ref"></xsd:element>
</xsd:complexType>
<xsd:complexType name="detailType">
<xsd:element ref="Name"></xsd:element>
<xsd:element ref="email"></xsd:element>
<xsd:element ref="contact"></xsd:element>
</xsd:complexType>
<xsd:complexType name="NameType">
<xsd:element ref="fname"></xsd:element>
<xsd:element ref="sname"></xsd:element>
</xsd:complexType>
<xsd:complexType name="EducationsType">
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element ref="education"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="educationType">
<xsd:element ref="Title"></xsd:element>
<xsd:element ref="Type"></xsd:element>
<xsd:element ref="PlaceObtained"></xsd:element>
<xsd:element ref="DateStarted"></xsd:element>
<xsd:element ref="DateFinished"></xsd:element>
<xsd:sequence minOccurs="1" maxOccurs="5">
<xsd:element ref="Description"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EmphistorysType">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="Emphistory"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EmphistoryType">
<xsd:element ref="position"></xsd:element>
<xsd:element ref="place"></xsd:element>
<xsd:element ref="DateStarted"></xsd:element>
<xsd:element ref="DateFinished"></xsd:element>
<xsd:element ref="descripts"></xsd:element>
</xsd:complexType>
<xsd:complexType name="descriptsType">
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element ref="description"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TechSkillType">
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element ref="description"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="intrestsType">
<xsd:sequence minOccurs="1" maxOccurs="10">
<xsd:element ref="intrest"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="refType">
<xsd:sequence minOccurs="1" maxOccurs="5">
<xsd:element ref="reference"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<!--Declaring types with RegEx-->
<xsd:simpleType name="emailType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[\\w-_\.]*[\\w-\.]\@[\\w]\.+[\\w]+[\\w]$"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="contactType">
<xsd:restriction base="xsd:integer">
<xsd:pattern value="^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
答案 0 :(得分:0)
为您的XSD报告了两类错误:
元素'元素'无效,错位或过于频繁发生。
元素声明(xsd:element
)不能直接显示为xsd:complexType
的子元素。使用xsd:sequence
,xsd:all
或xsd:choice
包装器;看起来你可能想要xsd:sequence
。
错误 - 第118行,第40行:org.xml.sax.SAXParseException; lineNumber:118; columnNumber:40; InvalidRegex:模式值'^ [\ w -_。] * [\ w - 。] \ @ [\ w]。+ [\ w] + [\ w] $'不是有效的正则表达式。报告的错误是:'范围结束代码点小于起始代码点。'。
有关XSD的有效电子邮件正则表达式,请参阅this answer:
<xsd:pattern value="[^@]+@[^\.]+\..+"/>