gpt4 book ai didi

Xml 模式唯一性不检查唯一性

转载 作者:行者123 更新时间:2023-12-04 16:52:09 24 4
gpt4 key购买 nike

我想在“pracownik”的“imie”和“姓氏”上添加唯一键,但我不知道我做错了什么。我已经阅读了大约 20 个关于独特的主题。尝试了一些答案,例如添加“xmlns:m”。我还使用了 xpath 测试器并获得“imie”,我需要通过 xpath="firma/listaPracowikow/pracownik/imie"。

这是我的架构文件的一部分:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://moja_przestrzen"
xmlns:m="http://moja_przestrzen"
xmlns:mp="http://moja_przestrzen/inc"
targetNamespace="http://moja_przestrzen"
elementFormDefault="qualified"
>

<xsd:element name="firma">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="listaPracownikow">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="pracownik" type="pracownik" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ref="mp:listaDoWydania"/>
<xsd:element name="dzial" type="typDzial" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>

<xsd:unique name="kluczImieNazwisko">
<xsd:selector xpath="m:listaPracownikow/pracownik"/>
<xsd:field xpath="imie"/>
<xsd:field xpath="nazwisko"/>
</xsd:unique>

<xsd:key name="kluczDzial">
<xsd:selector xpath="dzial"/>
<xsd:field xpath="@num"/>
</xsd:key>

<xsd:keyref name="dzialPracownikRef" refer="kluczDzial">
<xsd:selector xpath="listaPracownikow/pracownik"/>
<xsd:field xpath="nrDzialu"/>
</xsd:keyref>

</xsd:element>
</xsd:schema>

xml的一部分:
    <?xml version="1.0" encoding="UTF-8"?>
<firma xmlns="http://moja_przestrzen" xmlns:i="http://moja_przestrzen/inc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://moja_przestrzen schema.xsd">
<listaPracownikow>
<pracownik kraj="Polska" urlop="false">
<stanowisko>Dyrektor</stanowisko>
<nrDzialu>1</nrDzialu>
<imie>Jan</imie>
<nazwisko>Kowalski</nazwisko>
<wiek>Utajone</wiek>
<data_zatrudnienia>2016-08-12</data_zatrudnienia>
<rozpoczecie_pracy>08:00:00</rozpoczecie_pracy>
<pensja>5300.0</pensja>
<plec_osoby>
<mezczyzna />
</plec_osoby>
<nr_telefonu>332-112-333</nr_telefonu>
<adres>
<miasto>Gdansk</miasto>
<ulica>Kopeckiego</ulica>
<nr_domu>3C</nr_domu>
</adres>
</pracownik>
<pracownik kraj="Polska" urlop="false">
<stanowisko>Wicedyrektor</stanowisko>
<nrDzialu>1</nrDzialu>
<imie>Jan</imie>
<nazwisko>Kowalski</nazwisko>
<wiek>43</wiek>
<data_zatrudnienia>2016-09-22</data_zatrudnienia>
<rozpoczecie_pracy>08:00:00</rozpoczecie_pracy>
<pensja>5000.0</pensja>
<plec_osoby>
<kobieta />
</plec_osoby>
<nr_telefonu>332-112-333</nr_telefonu>
<adres>
<miasto>Gdansk</miasto>
<ulica>Gawrowicza</ulica>
<nr_domu>11A</nr_domu>
</adres>
</pracownik>
<i:listaDoWydania>1300 1500 6200</i:listaDoWydania>

<dzial num="1">
<nazwa>Kierownictwo</nazwa>
</dzial>
<dzial num="2">
<nazwa>Administracja</nazwa>
</dzial>
<dzial num="3">
<nazwa>Ksiegowosc</nazwa>
</dzial>

我对 key 和 keyref 有同样的问题,但我想这是同样的问题。

最佳答案

所有元素都在一个命名空间中,因此 XPath 表达式中的所有元素名称都需要加前缀:

<xsd:selector xpath="m:listaPracownikow/m:pracownik"/>
<xsd:field xpath="m:imie"/>
<xsd:field xpath="m:nazwisko"/>

关于Xml 模式唯一性不检查唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49835976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com