更正我编写的 XML 脚本

  • 本文关键字:XML 脚本 xml xsd schema dtd
  • 更新时间 :
  • 英文 :


我对XML只有理论和基础知识,一直在努力更好地理解内部和外部DTD、模式的概念。我问了自己一个问题,并为它写了一个XML脚本。我不知道如何运行它,甚至不知道我写的是否正确。很乐意听到对下面给出的问题和答案的更正和建议。此外,如果有人能告诉我如何运行它,那将是一个很大的帮助,因为我也想要更多的实用知识。Question: Create an XML schema for a catalog of cars, where each car has the following child elements: company_name, model, year, color, and engine type.

The answer I've written:
<?xml version ="1.0" encoding="UTF-8"?>
<!==cars.xsd
A simple schema for cars.xml
-->
<xsd:schema
xmlns:xsd="http:///www.w3.org/2001/XMLSchema"
targetNamespace="https://cs.uccs.edu/carCatalog"
xmlns="https://cs.uccs.edu/carCatalog">
<xsd:element name="Cars">
<xsd:complexType>
<xsd:sequence>
<xsd: element name= "company" type="xs.string"/>
<xsd: element name= "model" type="xs.string"/>
<xsd: element name= "year" type="xs.string"/>
<xsd: element name= "color" type="xs.string"/>
<xsd: element name= "engine" type="xs.string"/>
</xsd:sequence>
<xsd:complexType>
</xsd:element>

<!--carcatalog.xml-->
<cars
xmlns="https://cs.uccs.edu/carCatalog"
xmlns:xsi="http:///www.w3.org/2001/XMLSchema-instance"
xsi:schemalocation="https://cs.uccs.edu/carCatalog/cae.xsd"
<company> Volks Wagon</company>
<model> abcxyz</model>
<year> 2018</year>
<color> Blue</color>
<engine> 4 cylinders</engine>
</cars>

我写的每一篇文章都是借助课本上的例子(这也是我提出问题的地方(。请尝试用简单但详细的方式描述上面的脚本有什么问题(如果有的话(。提前谢谢!

我不会给你正确的答案,但会提供足够的提示,让你自己做。

首先,查看xml或xsd在语法上是否正确的最佳方法是使用验证器。这些可以在线或离线使用。Notepad++有一个名为xml的扩展,它将帮助您,或者您可以转到:https://freeformatter.com/xml-validator-xsd.html

如果您在xml模式(xsd(上使用验证器,您将看到它不会通过。

  • 评论介于
  • xsd命名空间的url无效,它的数量太多
  • 你打开的每一个类型都需要关闭
  • 名称空间前缀和类型定义之间没有空格
  • 必须定义所有带前缀的命名空间
  • 在名称空间前缀和类型之间有一个:而不是
  • 通过添加elementFormDefault=";合格的";attributeFormDefault=";不合格";对于具有正确设置的模式,您可以指定如何使用目标命名空间

如果您修复了这些问题,xml模式将是有效和可用的,但我假设您希望在您的汽车列表中有多辆汽车。这可以通过设置元素Cars上出现的最小值和最大值来实现。

xml也需要一些注意。

  • Xml区分大小写,因此cars和cars是不同的元素
  • 所有xml元素都有一个开放的<并关闭>
  • 您的模式位置必须准确地指向您在本地放置文件的位置,并且文件名必须正确无误

希望这能帮助你朝着正确的方向前进。

最新更新