为什么 xsd:key xsd:keyref 不适用于 xml 文件?
我必须使用 xsd:key 而不是 xsd:ID 所以 我使用了这段代码:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.checkbook.com/checkbook" xmlns="http://www.checkbook.com/checkbook" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Serhat">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Serhat2" type="type">
</xs:element>
</xs:choice>
</xs:complexType>
<xs:key name="PackageNameKey">
<xs:selector xpath=".//Serhat2"/>
<xs:field xpath="@id"/>
</xs:key>
</xs:element>
<xs:complexType name="type">
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:schema>
但密钥不起作用我可以采用类似的 id 属性;
<?xml version="1.0" encoding="utf-8"?>
<Serhat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.checkbook.com/checkbook" xsi:schemaLocation="http://www.checkbook.com/checkbook denemeXSD.xsd">
<Serhat2 id="ser"/>
<Serhat2 id="ser"/>
</Serhat>
为什么不明白。有什么想法吗?
i must use xsd:key instead of xsd:ID so
i used this code:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.checkbook.com/checkbook" xmlns="http://www.checkbook.com/checkbook" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Serhat">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Serhat2" type="type">
</xs:element>
</xs:choice>
</xs:complexType>
<xs:key name="PackageNameKey">
<xs:selector xpath=".//Serhat2"/>
<xs:field xpath="@id"/>
</xs:key>
</xs:element>
<xs:complexType name="type">
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:schema>
but key dont work i can take similar id attribute;
<?xml version="1.0" encoding="utf-8"?>
<Serhat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.checkbook.com/checkbook" xsi:schemaLocation="http://www.checkbook.com/checkbook denemeXSD.xsd">
<Serhat2 id="ser"/>
<Serhat2 id="ser"/>
</Serhat>
why dont understand.Any idea ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这对我来说效果很好(我刚刚为您的命名空间添加了前缀):
This works fine for me (I just added prefix for your namespace) :