我想定义一个带有一些受限文本和属性的元素
<some_element my_attr="data">some restricted text</some_element>
Run Code Online (Sandbox Code Playgroud)
我怎样才能创建这样的元素?
我试过:
<complexType>
<simpleContent>
<restriction base="string">
<pattern value="AAA"></pattern>
<attribute name="newattr" type="string"></attribute>
</restriction>
</simpleContent>
</complexType>
Run Code Online (Sandbox Code Playgroud)
但收到错误消息:
类型“#AnonType_childparent”的复杂类型定义表示错误。使用时,基类型必须是内容类型为简单的复杂类型,或者,仅在指定限制时,为具有混合内容和可空粒子的复杂类型,或者,仅在指定扩展时,为简单类型。'string' 不满足这些条件。
然后尝试了这样的事情
<complexType>
<complexContent>
<extension base="string">
<attribute name="attr" type="string"></attribute>
</extension>
</complexContent>
</complexType>
Run Code Online (Sandbox Code Playgroud)
这次错误是(这次我没有添加任何限制;这仅用于测试目的):
类型“#AnonType_childparent”的复杂类型定义表示错误。使用时,基类型必须是complexType。“string”是一个简单类型。
我不清楚这些错误意味着什么?是否有更好的错误文本解释?
您的问题或多或少是这个问题的重复(刚刚回答)。
从这些角度思考:
这篇关于 SO 的文章向您展示了上述解释的端到端示例。对于您的具体情况:
<?xml version="1.0" encoding="utf-8" ?>
<!-- XML Schema generated by QTAssistant/XSD Module (http://www.paschidev.com) -->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="tSomeRestrictedText">
<xsd:restriction base="xsd:string">
<xsd:pattern value="AAA"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="some_element">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="tSomeRestrictedText">
<xsd:attribute name="my_attr" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |