Xquery xsd<;任何/>;标记逻辑中的不同结果

Xquery xsd<;任何/>;标记逻辑中的不同结果,xquery,marklogic,marklogic-8,Xquery,Marklogic,Marklogic 8,XML: <?xml version="1.0"?> <note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <b

XML:

<?xml version="1.0"?>
<note
xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body xml:lang="en"><div></div></body>
</note>
我的意图是在正文中强制出现HTML内容,如下所示:

<body xml:lang="en"><div></div></body>

在深入挖掘之前,我只想澄清一点——您的模式在哪里

MarkLogic希望模式存在于特定内容数据库的配置中引用的模式数据库中。这默认为Schemas数据库

您是否已将所有引用的SCEMA(通过XML或XSD)包括在模式数据库中

请在此处查看详细信息,包括MarkLogic解析架构的顺序和位置:


最后,在开始探索MarkLogic中的模式用法时,请注意,在更改模式时重新启动MarkLogic是一个好主意。从技术上讲,您不需要重新启动,实际上只需清除一些缓存,但如果可以重新启动,那么这会让您更快地到达目的地,并使学习曲线保持在较低的水平。

在MarkLogic架构解析中,complexType被标记为“mixed”,并且还有一个扩展,似乎存在一个bug

由于第一个“混合”是多余的,如果您正在扩展另一个混合的类型,那么这一切都将按照您的预期工作

因此,您应该尝试使用模式:



是,我的xsd在架构数据库中。我需要添加一个模式检查,在一些文本中强制出现html内容,这在上面的代码中同样有效,但在Marklogic中失败,说错误XDMP-VALIDATEMISSINGELT:(err:XQDY0027)validate lax{$node}--缺少必需的元素:Expected(any(skip,!())*,any(skip,!())+)。我编辑了这个问题以获得准确的信息,只需在免费格式化程序上用validate检查这个示例,但当我加载到marklogic时,它就不起作用了。-->xquery版本“1.0-ml”;让$node:=xdmp:document get(“d:/xml.xml”)返回try{xdmp:document insert(“myxml/xml.xml”,validate lax{$node})}catch($e){Validation failed:,$e/error:format string/text()}
XDMP-VALIDATEMISSINGELT: (err:XQDY0027) validate lax { $node } -- Missing required elements: Expected ((any(skip,!())+),(any(skip,!())+)) at fn:doc("d:/xml.xml")/*:note/*:body using schema "/schemas/xsd.xsd"
<body xml:lang="en"><div></div></body>