Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于XSD元素无效(XML架构)_Xml_Xsd - Fatal编程技术网

关于XSD元素无效(XML架构)

关于XSD元素无效(XML架构),xml,xsd,Xml,Xsd,我有一个关于XSD格式的问题 例如,我有一个XML文档 <?xml version="1.0" encoding="utf-8"?> <feed xmlns:media="http://search.yahoo.com/mrss/"> <entry> <title>Examples</title> <id>1</id> <media:group> <med

我有一个关于XSD格式的问题
例如,我有一个XML文档

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:media="http://search.yahoo.com/mrss/">
  <entry>
    <title>Examples</title>
    <id>1</id>
    <media:group>
      <media:thumbnail url="http://www.abc.com/image.jpg" />
      <trailer url="http://www.abc.com" />
      <info url="http://www.abc.com/xsd/info.jpg" />
      <media:description>1</media:description>
      <media:content name="video.mp4" type="video" duration="400" repeat="true"/>
    </media:group>
    <menu>
      <item uri="localhost:8080/xyzt" />
    </menu>
  </entry>
</feed>

例子
1.
1.
然后,我使用该网站自动转换为XSD文件(您可以尝试)。但是,当我使用该网站检查XSD验证程序时,当时有一个关于XSD格式的问题
问题:

无效的“名称”属性值“媒体:组”:“名称中位置5处的“:”字符,十六进制值0x3A,不能包含在名称中。”


我不明白。。。为什么xsd:element的名称不能包含“:”字符??? 如果上述问题是正确的,我如何解决它

如果你知道的话,请帮助我

多谢各位

尝试其他验证程序。我对这个网站一无所知,但根据你的证据,他们正在使用一个不知道名称空间的XML解析器解析XML。这是一件非常奇怪的事情。

在“:”之前的文本被称为
名称空间。e、 g.在“媒体:组”中,名称空间为“媒体”

要在名称空间中定义元素,不能像预期的那样像
那样说

相反,您必须为整个模式将其指定为
targetNamespace
,然后该模式中定义的所有元素都将具有该名称空间。这样(限定的
部分意味着XML需要使用名称空间,就像XML使用“媒体”一样):

注意:要在两个名称空间中定义元素,需要两个模式。通常,您可以通过
导入到另一个模式中来组合模式。但是XML有一个问题:对名称空间的引用是循环的,因为
包含
,而
包含


抱歉:我无法解决此问题。我的最佳尝试使用了第三种模式(定义
),但这会崩溃
xmllint
。。。其他人能解决这个问题吗?

如果包含模式,这会很有帮助,因为这就是错误所在。等一下,我会修好的。。。完成。
    <xsd:element name="entry">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="title" type="xsd:string" />
          <xsd:element name="id" type="xsd:int" />
          <xsd:element name="media:group">             <!-- here -->
            <xsd:complexType>
              <xsd:sequence>
<xsd:schema targetNamespace="http://search.yahoo.com/mrss/"
            elementFormDefault="qualified" ...>
  ...
  <xsd:element name="group"> 
<xsd:schema ...>
  ...
  <xsd:element name="entry">