xml - 不允许 XSD 简单架构元素
问题描述
我正在尝试为我的 XML 文档构建 XSD 架构。这很简单,但即使我坚持写它。调试器说在第 5 行 (<xs:element name="database">) 和第 15 行 (<xs:element name="log">) xs:element 在此上下文中不受支持。我错过了什么?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="config">
<xs:complexType>
<xs:element name="database">
<xs:complexType>
<xs:element name="SqlServerName" type="xs:string" />
<xs:element name="DbInstance" type="xs:string"/>
<xs:element name="DbPort" type="xs:positiveInteger" />
<xs:element name="UseTrustedConnection" type="xs:bolean" />
<xs:element name="DbUser" type="xs:string" />
<xs:element name="DbPassword" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="log">
<xs:complexType>
<xs:element name="LogFile" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:schema>
XML 应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="config.xsd">
<database>
<SqlServerName>MyServer</SqlServerName>
<DbInstance>SQLEXPRESS</DbInstance>
<DbPort>1433</DbPort>
<UseTrustedConnection>true</UseTrustedConnection>
<DbUser></DbUser>
<DbPassword></DbPassword>
</database>
<log>
<LogFile>error.log</LogFile>
</log>
</config>
泰。
解决方案
Martijn 对我的问题的评论包含正确的答案和对我所犯错误的附加提示。谢了哥们。
在 xs:complexType 之后,您需要指定它是 xs:sequence、xs:all 还是 xs:choice。而 xs:boolean 应该是 xs:boolean
推荐阅读
- groovy - 使用 jsonpath 提取 profileId 的列表
- python - 替换变量值
- php - POST 请求是否会导致会话被破坏,如果是,如何防止?
- mongodb - 您可以使用带有 Apollo GraphQL 的变异服务器端使用对象数组更新现有数据吗?
- java - JpaRepository 在检索简单实体时对数据库进行两次相同的查询
- html - 如何垂直对齐单选按钮
- r - 当函数调用 R 中的特定列输入时,如何使用 map() 将函数应用于数据框?
- react-native - 问题 reg expo FileSystem.readAsStringAsync
- android - ArrayList 的列表视图
>每个项目行有多个按钮 - amazon-dynamodb - DynamoDB 悲观锁定与 2 应用程序