小编Ner*_*dio的帖子

XML Schema验证:找不到元素的声明

我对XML Schema等仍然有点新,并且一直致力于开发一些XML,Schema和样式表(XSLT).我已经取得了合理的进展,但随后意识到我的架构已停止工作,所以我把它带回了一个更简单的非描述性示例.

这是我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="Test.Namespace"  
      schemaLocation="http://myNameSpace.com Test1.xsd">
    <element1 id="001">
        <element2 id="001.1">
             <element3 id="001.1" />
        </element2>
    </element1>
</Root>
Run Code Online (Sandbox Code Playgroud)

我写了一个Schema,它在这里:

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="Test.Namespace"
            elementFormDefault="qualified">
    <xsd:element name="Root">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="element1" maxOccurs="unbounded" type="element1Type"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="element1Type">
        <xsd:sequence>
            <xsd:element name="element2" maxOccurs="unbounded" type="element2Type"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="element2Type">
        <xsd:sequence>
            <xsd:element name="item" type="element3Type"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="element3Type">
         <xsd:attribute name="id" type="xsd:string"/>
    </xsd:complexType>        
 </xsd:schema>
Run Code Online (Sandbox Code Playgroud)

Schema代表了我真正的XML结构.

现在,当我尝试验证我的XML时,我收到此错误:

cvc-elt.1: Cannot find the declaration of element 'Root'. [7] …

xml xsd xml-validation xml-error

21
推荐指数
2
解决办法
11万
查看次数

如何使用带有Xinclude的xpointer来引用元素

我想合并2个具有相同结构的XML文件来制作一个.例如;

Test1.xml

<?xml version="1.0" encoding="UTF-8"?>

<ns:Root
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns="urn:TestNamespace"
    xsi:schemaLocation="urn:Test.Namespace Test1.xsd"
    >
    <ns:element1 id="001">
       <ns:element2 id="001.1" order="1">
           <ns:element3 id="001.1.1" />
       </ns:element2>
       <ns:element2 id="001.2" order="2">
           <ns:element3 id="001.1.2" />
       </ns:element2>
    </ns:element1>
</ns:Root>
Run Code Online (Sandbox Code Playgroud)

Test2.xml

<?xml version="1.0" encoding="UTF-8"?>

<ns:Root
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns="urn:TestNamespace"
    xsi:schemaLocation="urn:Test.Namespace Test1.xsd"
    >
    <ns:element1 id="999">
        <ns:element2 id="999.1" order="1">
            <ns:element3 id="999.1.1" />
        </ns:element2>
    </ns:element1>
</ns:Root>
Run Code Online (Sandbox Code Playgroud)

创造

TestOutput.xml

<?xml version="1.0" encoding="UTF-8"?>

<ns:Root
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns="urn:TestNamespace"
    xsi:schemaLocation="urn:Test.Namespace Test1.xsd"
    >
    <ns:element1 id="001">
       <ns:element2 id="001.1" order="1">
           <ns:element3 id="001.1.1" />
       </ns:element2>
       <ns:element2 id="001.2" order="2">
           <ns:element3 id="001.1.2" />
       </ns:element2>
    </ns:element1>
    <ns:element1 …
Run Code Online (Sandbox Code Playgroud)

xml xinclude xpointer

6
推荐指数
1
解决办法
7739
查看次数

如何在一行中搜索字符串,然后从那里删除到行尾

我有一个要求,我相信我可以在vi中做到(我确信还有很多其他解决方案),就是这样.

我有一个看起来像这样的文件

1234一些文本在这里的其余部分
1235其他一些文本在这里的其余部分

我想要做的是从这里删除文本,并将这个词包括在行的末尾,留下我的话;

1234一些文本
1235一些其他文本

我已经在vi中搜索并替换了一些内容,但我不确定如何进行搜索然后运行命令.

任何帮助,一如既往地非常感谢.

谢谢你的期待

linux vi vim

2
推荐指数
1
解决办法
584
查看次数

标签 统计

xml ×2

linux ×1

vi ×1

vim ×1

xinclude ×1

xml-error ×1

xml-validation ×1

xpointer ×1

xsd ×1