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>
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では動作しません 、エラーは次のとおりです。深く掘る前に、私はしたいが
<body xml:lang="en"><div></div></body>
はい、私のXSDスキーマデータベースです。上記のコードでも同じ動作をしますが、Mark LogicでエラーXDMP-VALIDATEMISSINGELT:(エラー:「エラー」と表示されます)が失敗しましたsome_text 、 (任意の(スキップ、!())*、任意の(スキップ、!())+)必要な要素がありません。 –
Ranvir
正確な情報を得るために質問を編集しましたが、これはvalidateを使った例のフリーフォーマッタでチェックしていますが、marklogicにロードすると機能しません。 - > xqueryバージョン "1.0-ml"; let $ node:= xdmp:document-get( "d:/xml.xml") return try {xdmp:document-insert( "myxml/xml.xml"、lax {$ node}) } $ e/error:フォーマット文字列/テキスト()} catch($ e){"検証に失敗しました:" – Ranvir