XSD 不允许使用简单的架构元素
XSD simple schema element not allowed
我正在尝试为我的 XML 文档构建 XSD 架构。这很简单,但即使我坚持写它。调试器表示在第 5 行 () 和第 15 行 () 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>
TY.
Martijn 对我的问题的评论包含正确的答案和对我所犯错误的附加提示。谢谢伙计。
after the xs:complexType you need to specify if it is a xs:sequence,
xs:all or xs:choice. And the xs:bolean should be xs:boolean
我正在尝试为我的 XML 文档构建 XSD 架构。这很简单,但即使我坚持写它。调试器表示在第 5 行 (
<?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>
TY.
Martijn 对我的问题的评论包含正确的答案和对我所犯错误的附加提示。谢谢伙计。
after the xs:complexType you need to specify if it is a xs:sequence, xs:all or xs:choice. And the xs:bolean should be xs:boolean