<?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>
的XSD:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
</xs:import>
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body">
<xs:complexType mixed="true">
<xs:complexContent>
<xs:extension base="someType">
<xs:attribute ref="xml:lang" use="required">
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="someType" mixed="true">
<xs:sequence>
<xs:any maxOccurs="unbounded" minOccurs="1" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
经过this和它的作品。 但是,这并不在Marklogic工作,错误的是:
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"
我的目的是让HTML内容的体内强制性的发生是这样的:
<body xml:lang="en"><div></div></body>
是我的XSD是架构数据库。我需要在some_text 以上代码中添加模式检查,这些检查与上述代码中的相同,但在Marklogic中失败,表示错误XDMP-VALIDATEMISSINGELT:(err: XQDY0027)validate lax {$ node} - 缺少必需的元素:Expected(any(skip,!())*,any(skip,!())+)。 –
Ranvir
我已经编辑了精确信息的问题,只需检查这个免费格式化与验证的例子,但是当我加载到marklogic,它不起作用。 - > xquery版本“1.0-ml”; 设$节点:= xdmp:文档获取( “d:/xml.xml”) 回报 尝试{xdmp:文档插入( “myxml/xml.xml”,验证不严{$节点})} catch($ e){“验证失败:”, $ e/error:format-string/text()} – Ranvir