1

ここに私は再びいます:/私は既存のデータベースを組み込みモードで実行させることができました。しかし、私が機能できないのは、暗黙のXML検証です。私はこのページに従って進みました:http://exist.sourceforge.net/validation.html

これは私のconf.xmlです:

<validation mode="auto">
    <entity-resolver>
    <catalog uri="/db/catalog.xml" />
    </entity-resolver>
</validation>

これは、既存のデータベースに挿入した私のcatalog.xmlです。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">

    <uri name="http://www.w3.org/2001/XMLSchema" uri="videodes.xsd"/>
</catalog>

私もデータベースに挿入したXMLスキーマvideodes.xsdは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    ...
</xsd:schema>

(このファイルの内容全体は重要ではないと思います。この質問が長すぎるだけです)

そして、これは私がデータベースに挿入し、検証したい私のファイル(videodes.xml)です:

<?xml version="1.0" encoding="UTF-8"?>
<videodes xsi:noNamespaceSchemaLocation="videodes.xsd" xmlns=""
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    ...
</videodes>

(ここでも、コンテンツ全体をここに置く必要はないと思います)

残念ながら、検証は機能せず、videodes.xmlに無効なデータを挿入できます。私は何が欠けていますか?私のcatalog.xmlが問題だと思いますが、何を入れるべきかわかりません。たくさん検索してみましたが、役に立たなかったです。

私は本当にこの仕事をする必要があるので、私はどんな助けにも感謝します。

少し早いですがお礼を。

4

1 に答える 1

0

別の質問に対する私の回答を確認してください。これは役立つかもしれません。簡単に言うと、アプリケーションが閉じられたイントラネットにある場合、catalog.xml ファイルに DOCTYPE 宣言が存在することが問題になる可能性があります。システム識別子を解決できないためです。DOCTYPE 宣言は (ファイルの検証を除いて) 必要ないため、本番環境では削除してください。

于 2012-02-03T00:29:54.933 に答える