java吧 关注:1,262,764贴子:12,763,428
  • 1回复贴,共1

xml schema 用xerces校验出问题了,认不出来xs:assert标签

只看楼主收藏回复

用的是apache下载的xerces-j,运行sample中的saxcount,只是文件换成我的就认不出来了,有人知道咋回事不?


IP属地:广东1楼2017-07-16 19:13回复
    person.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation='person.xsd'>
    <employee >abc</employee>
    <member>aaa</member>
    <abc width="10" height="10"/>
    </person>
    person.xsd:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    vc:minVersion="1.1" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning">
    <xs:element name="person">
    <xs:complexType>
    <xs:all>
    <xs:element name="employee" type="xs:string"/>
    <xs:element name="member" type="xs:string"/>
    <xs:element name="abc" type="a123" />
    </xs:all>
    </xs:complexType>
    </xs:element>
    <xs:complexType name="a123">
    <xs:attribute name="height" type="xs:int"/>
    <xs:attribute name="width" type="xs:int"/>
    <xs:assert test="@height != @width"/>
    </xs:complexType>
    </xs:schema>
    错误信息:
    [Error] person.xsd:18:43: s4s-elt-invalid-content.1: The content of 'a123' is in
    valid. Element 'assert' is invalid, misplaced, or occurs too often.


    IP属地:广东2楼2017-07-16 19:18
    回复