我对XML非常陌生,我面临着验证问题,如果我的XML和XSD文件结构良好,我也希望得到一些反馈。
在根据XSD验证XML时,我经常遇到错误-
下面的XML
<?xml version="1.0" encoding="UTF-8"?>
<alumnos xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="alumnos.xsd">
<alumno id=001>
<nombre>Samuel</nombre>
<apellido>Van Bladel</apellido>
<email>Samuelvanbladel@gmail.com</email>
<foto>https://google.com</foto>
<expediente>NX-0001R</expediente>
<curso>1</curso>
<modulo>Mark up languages
<nota>10/10</nota>
<comentario>Muy bien hecho hasta el techo.</comentario>
</modulo>
<modulo>Java
<nota>9/10</nota>
<comentario>Codigo muy bien structurada.</comentario>
</modulo>
</alumno>
<alumno id=002>
<nombre>Deniz</nombre>
<apellido>Turki</apellido>
<email>DenizTurki@gmail.com</email>
<foto>https://google.com</foto>
<expediente>NX-0002R</expediente>
<curso>2</curso>
<modulo>Mark up languages
<nota>10/10</nota>
<comentario>Muy bien hecho hasta el techo.</comentario>
</modulo>
<modulo>Java
<nota>9/10</nota>
<comentario>Codigo muy bien structurada.</comentario>
</modulo>
</alumno>
<alumno id=003>
<nombre>Denisa</nombre>
<apellido>Hermann</apellido>
<email>Denisahermann@gmail.com</email>
<foto>https://google.com</foto>
<expediente>NX-0003R</expediente>
<curso>3</curso>
<modulo>Mark up languages
<nota>10/10</nota>
<comentario>Muy bien hecho hasta el techo.</comentario>
</modulo>
<modulo>Java
<nota>9/10</nota>
<comentario>Codigo muy bien structurada.</comentario>
</modulo>
</alumno>
<alumno id=004>
<nombre>Bruno</nombre>
<apellido>porto</apellido>
<email>BrunoPorto@gmail.com</email>
<foto>https://google.com</foto>
<expediente>NX-0004R</expediente>
<curso>4</curso>
<modulo>Mark up languages
<nota>10/10</nota>
<comentario>Muy bien hecho hasta el techo.</comentario>
</modulo>
<modulo>Java
<nota>9/10</nota>
<comentario>Codigo muy bien structurada.</comentario>
</modulo>
</alumno>
</alumnos>
XSD
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001XMLSchema-instance"
>
<!-- definition of simple elements -->
<xs:element name="nombre">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="apellido">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="comentario">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="modulo">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nota" type="xs:string" >
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minLength value="0"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email"/>
<xs:simpleType >
<xs:restriction base="xs:string">
<xs:pattern value="[^@]+@[^\.]+\..+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="foto">
<xs:simpleType>
<xs:restriction base="xs:anyURI">
<xs:pattern value="http://.+" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="expediente">
<xs:simpleType>
<xs:restriction base="string">
<xs:pattern value="NX + [0-9][0-9][0-9][0-9][0-9] + R"/>
</xs:restriction>
</xs:simpleType>
<!-- definition of attributes -->
<xs:attribute name="id" type="xs:integer" use="required"/>
<!-- definition of complex elements -->
<xs:element name="alumno">
<xs:complexType>
<xs:sequence>
<xs:element ref="nombre"/>
<xs:element ref="apellido"/>
<xs:element ref="modulo"/>
<xs:element ref="nota"/>
<xs:element ref="expediente"/>
<xs:element ref="foto"/>
<xs:element ref="email"/>
<xs:element ref="comentario"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="modulo">
<xs:complexType>
<xs:sequence>
<xs:element ref="nota"/>
<xs:element ref="comentario"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:element>
</xs:schema>
如果你发现其中任何一个有任何错误,请随时指出。它们都有从图案到最大长度的限制。
谢谢!!!!
您已经在XSD中自行关闭了下面的标记
<代码>
我一直在尝试改进针对XSD模式的XML验证性能,特别是关于XSD唯一约束的性能,并决定尝试一下Woodstox。我基本上遵循了这个示例,将更改为。 不过,我遇到的问题是,Woodstox验证器会发现XML有效,即使XML违反了唯一约束。将我的java代码切换回“常规”、和时,会正确检测到唯一性约束冲突。 此外,我可以确认Woodstox验证器做了一些事情,因为例如,如果我有一个负数,其中一个正数是
我们在根模式中定义了一些抽象元素,例如: ...然后扩展如下: 这些元素在我们的xml文件中使用: 然而,当我尝试使用Saxon命令行验证xml时,我得到以下错误消息: 这里有一个指向实际示例文件的链接,供参考:xml/root模式-ext模式 任何帮助将不胜感激:)
我是XML新手。这是一个家庭作业。我已经尽了最大努力,但我无法让实例文档进行验证。我总是犯错误 “找不到元素'站点'的声明。 我想我可能错误地声明了一些名称空间或者schemaLocations。有人能给我指一下正确的方向吗? 作业步骤: > <块引用> 在sites.xml文件中,向根站点元素添加命名空间声明,将xs前缀与XML Schema命名空间的URI相关联。为文件指定默认命名空间http
本文向大家介绍关于ThinkPhp 框架表单验证及ajax验证问题,包括了关于ThinkPhp 框架表单验证及ajax验证问题的使用技巧和注意事项,需要的朋友参考一下 之前的表单验证都是用js写的,这里也可以使用tp框架的验证。但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降。 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用c
问题内容: 但是,这将返回一条错误消息:线程“ main”中的异常java.lang.IllegalArgumentException:无法加载实现由http://www.w3.org/2001/XMLSchema -instance 指定的模式语言的SchemaFactory。 这是我的代码还是实际的xsd文件有问题? 问题答案: 该错误意味着您安装的Java没有任何可解析XMLSchema文件
使用eclipse时,我消除了所有错误,但当我更改xml文档中的元素内容时,超出了中设置的限制。xsd文件没有出现验证错误。我已尝试使用联机验证http://www.freeformatter.com/xml-validator-xsd.html我得到了错误“Cvc elt.1:找不到元素“DatabaseInventory”…行“4”,列“69”的声明”,但在eclipse中它验证得很好。不知道