我正在尝试为Media Server Markup Language (MSML) - RFC 5707找到某个有效的xml架构。我需要编写一个解析器,但我只找到这些spec doc。我复制&将它们粘贴到.xsd文件中。但似乎他们是一个错误。我使用JAXB从这些模式类创建,但是出现了这个错误: (我把错误信息翻译成英文)
[ERROR] Elementtyp“xs:complexType”需要一个合适的Endtag “”。 Row 332 von 文件:/ E:/Downloads/jaxb-ri-2.2.6/bin/msml-dialog-base-datatypes.xsd
我用eclipse检查了文件,问题出在这个元素定义中:
<xs:element name="dtmfgen" substitutionGroup="primitive">
<xs:complexType>
<xs:extension base="primitiveType">
<xs:choice minOccurs="0">
<xs:element name="dtmfgenexit">
<xs:complexType>
<xs:group ref="sendType"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="level" use="optional" default="-6">
<xs:simpleType>
<xs:restriction base="xs:nonPositiveInteger">
<xs:maxInclusive value="0"/>
<xs:minInclusive value="-96"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="digits" type="dtmfDigits.datatype"
use="required"/>
<xs:attribute name="dur" type="posDuration.datatype" use="optional"
default="100ms"/>
<xs:attribute name="interval" type="posDuration.datatype"
use="optional" default="100ms"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
我找不到解决方法来修复它,所以也许有人可以帮助我。或者给我一个指向MSML的有效xsd包的链接。或者更好的是有人为我提供解析器。?
由于 -G。
答案 0 :(得分:0)
您一直是复制/粘贴错误的受害者,该错误导致您的声明副本形成错误:沿途的某处,xs:complexContent
的起始标记(作为{{1的子句发生)并且作为xs:complexType
的父级被删除了。
我推断这是一个复制/粘贴错误,因为RFC 2707中的XSD架构文档没有此问题。
答案 1 :(得分:0)
发布的错误消息与切割和粘贴的工作方式有关,最有可能。
尽管如此,即使你解决了这个问题,你仍然会遇到两个问题(至少对那些曾经尝试过的人而言......):
This archive包含您需要的所有文件;它们是有效的,这意味着已经应用了所有必要的修复。