Xml 属性';MaxOccurs';不能出现在元素';元素'&引用;在RAML定义中
我在为Xml输入定义Raml时遇到了这个错误,但是我遇到了这个错误,我已经知道这个问题是针对xsd的,但是我在Raml中没有xsd 有人能提出一个在xml设计中如何定义数组的解决方案吗 因为我已经浏览了下面的Url 输入:Xml 属性';MaxOccurs';不能出现在元素';元素'&引用;在RAML定义中,xml,mule,raml,Xml,Mule,Raml,我在为Xml输入定义Raml时遇到了这个错误,但是我遇到了这个错误,我已经知道这个问题是针对xsd的,但是我在Raml中没有xsd 有人能提出一个在xml设计中如何定义数组的解决方案吗 因为我已经浏览了下面的Url 输入: <numbers> <value>3</value> <value>2</value> <value>1</value> </numbers> #%R
<numbers>
<value>3</value>
<value>2</value>
<value>1</value>
</numbers>
#%RAML 1.0
title: Claim Request
version: 0.1
baseUri: http://localhost:8767/claim
mediaType: [ application/xml ]
protocols: HTTP
types:
value:
type: string
numbers:
type: value[]
uniqueItems: true
/claimDemo:
post:
body:
type : numbers
responses:
200:
body:
application/json:
example: |
{
"message" : "Hello World"
}
试着这样做:
#%RAML 1.0
title: Claim Request
version: 0.1
baseUri: http://localhost:8767/claim
mediaType: [ application/xml ]
protocols: HTTP
types:
value:
type: string
numbers:
type: value[]
maxItems: 3
uniqueItems: true
/claimDemo:
post:
body:
type : numbers
responses:
200:
body:
application/xml:
example: |
{
"message" : "Hello World"
}
根据:中的文档,您可以使用
wrapped
选项,这将允许您避免此处定义所面临的问题
请参见下面的示例
#%RAML 1.0
title: Claim Request
version: 0.1
baseUri: http://localhost:8767/claim
mediaType: [ application/xml ]
protocols: HTTP
types:
value: string
numbers:
type: value[]
xml:
wrapped: true
/claimDemo:
post:
body:
type: numbers
responses:
200:
body:
application/json:
example: |
{
"message" : "Hello World"
}
作为附加说明,为了在初始示例中演示错误的来源,如果删除了数组定义,即:更改:
numbers:
type: value[]
uniqueItems: true
到
然后您就可以使用如下输入:
<numbers value="a">
嗯,某个地方有一个XSD文件不是有效的模式,我想您的第一个任务就是找到它。嗨,Rafael,我仍然收到相同的错误消息:验证XML时出错。错误:s4s att不允许:属性“maxOccurs”不能出现在元素“element”中。有效负载:java.io。ByteArrayInputStream@669b21b6元素:/arrayApi main/processors/0@ramlwitharrays:arrayApi.xml:10(APIkit路由器)----------------------------------------------------------------验证xml时出错。错误:s4s att不允许:属性“maxOccurs”不能出现在元素“element”中。嗨,Matt,整个想法是确保值是一个数字数组,而不是单个值。响应的第一部分演示了如何实现与完整示例类似的目标。第二部分演示了另一种选择,它演示了原始示例不起作用的原因。
numbers:
type: value
<numbers value="a">