相关疑难解决方法(0)

如何正确引用本地XML Schema文件?

我在XML文件中引用我的XML Schema时遇到了这个问题.

我在这条道路上有我的XSD:

C:\environment\workspace\maven-ws\ProjectXmlSchema\email.xsd
Run Code Online (Sandbox Code Playgroud)

但是当我在我的XML文件中尝试找到这样的架构时,找不到XSD:

<?xml version="1.0" encoding="UTF-8" ?>
    <email xmlns="http://www.w3schools.com"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.w3schools.com
                 file://C://environment//workspace//maven-ws//ProjextXmlSchema//email.xsd">
Run Code Online (Sandbox Code Playgroud)

找到XSD的唯一方法是它在同一个文件夹中:

           xsi:schemaLocation="http://www.w3schools.com email.xsd"
Run Code Online (Sandbox Code Playgroud)

所以问题是:如果XML文件与XSD文件不在同一个文件夹中,那么路径必须如何才能找到XSD?

顺便说一句,我一直在使用的例子来自MSDN:他们声称它应该按照我试图的方式工作.但事实并非如此.

xml xsd

48
推荐指数
2
解决办法
10万
查看次数

错误:S4s-elt-character:除“xs:appinfo”和“xs:documentation”之外的架构元素中不允许使用非空白字符

我有这个 xml-Schema:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
        <xs:element name="Fussballmannschaft">
                <xs:complexType>
                        <xs:attribute name="Name" type="xs:string" />
                        <xs:attribute name="Stadt" type="xs:string" />
                        <xs:attribute name="Tabellenplatz" type="xs:string" />
                        <xs:element name="Spieler">
                                <xs:complexType>
                                        <xs:attribute name="SpielerID" type="xs:string" />
                                        <xs:keyref name="I_D" refer="Name" />
                                        <xs:attribute name="Name" type="xs:string" />
                                        <xs:element name="Torwart">
                                                <xs:attribute name="GehealteneElfmeter" type="xs:integer" />
                                                <xs:keyref name="ID_Torwart" refer="SpielerID" />
                                        </xs:element>
                                        <xs:element name="Verteidiger">
                                                <xs:attribute name="GewonneneZweikaempfe" type="xs:integer" />
                                                <xs:keyref name="ID_Verteidiger" refer="SpielerID" />
                                        </xs:element>
                                        <xs:element name="Stuermer">
                                                <xs:attribute name="GeschosseneTore" type="xs:integer" />
                                                <xs:keyref name="ID_Stuermer" refer="SpielerID" />
                                        </xs:element>
                                </xs:complexType>
                        </xs:element>
                </xs:complexType>
        </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

和这个样本:

<Fussballmannschaft Name="BVB">
<Stadt>Dortmund</Stadt>
<Tabellenplatz>3</Tabellenplatz>
    <Spieler …
Run Code Online (Sandbox Code Playgroud)

xml xsd xml-validation xsd-validation

5
推荐指数
3
解决办法
1万
查看次数

如何从XML文件引用本地XSD?

我想编写一个简单的XML文件,其中包含位于我计算机上同一本地目录中的自定义xsd文件.我不明白文件开头的必要语法(我已经google了,但XSD教程似乎只关注元素定义而不是xsd:schema).

我的sys_params.xsd开始了:

<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<xsd:element     name="shipOrder" type="order"/>
Run Code Online (Sandbox Code Playgroud)

我的sys_params.xml开始了:

<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com sys_params.xsd"

<orderperson>John Smith</orderperson>
Run Code Online (Sandbox Code Playgroud)

我的XML在xml上报告此验证错误:

错误架构文档"sys_params.xsd"具有与实例文档" http://www.w3schools.com "中指定的目标命名空间不同的目标命名空间

毫无疑问,我的代码是错误的,但我需要一些帮助来纠正它.

xml xsd xml-validation xsd-validation

4
推荐指数
1
解决办法
7803
查看次数

标签 统计

xml ×3

xsd ×3

xml-validation ×2

xsd-validation ×2