2017-05-06 1 views
0

以下のない名前空間スキーマのトップレベル要素:第2の更新XSLTは私が書き、実行XSLスタイルシートの下には、XMLエディタ18.1を使用してい

:スタイルシートのコンパイル時

<?xml version="1.1" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified" 
    xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xi="http://www.w3.org/2001/XInclude" 
    vc:minVersion="1.1"> 

    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml_namespace.xsd"/> 


<xs:element name="orig"> 
    <xs:complexType> 
     <xs:sequence> 
      ... 
     </xs:sequence> 
     <xs:attributeGroup ref="pointer_attributes"/> 
    </xs:complexType> 
</xs:element> 

は、サクソン-EE 9.6.0.7は、以下のエラーメッセージが返さ

システムID:メイン検証ファイル:...エンジン名:Saxon-EE 9.6.0.7 重大度:致命的説明:XPST0008 XSLTのパターン構文エラー: {schema-element(orig)}の12行目のchar 26要素には 宣言がインポートされたスキーマのスタートの場所ではありません: 12:26 URL:できるだけ早く私はvc:minVersion="1.1"追加として、しかし

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

<xs:element name="orig"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element name="nested_element" type="xs:string"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 

</xs:schema> 

http://www.w3.org/TR/xpath20/#ERRXPST0008

コンパイルは以下のスキーマと罰金です再度エラーが発生しています。

+0

https://www.w3.org/TR/xpath-30/#id-schema-element-testの条件は満たされていますか?最小限で完全なXSLT、XSDのサンプルを表示する必要があります。スキーマがトップレベルの 'xsl:element name =" orig "'を持つかどうかを確認する必要があります。 –

+0

申し訳ありませんが、「」は最上位要素です(このスキーマのインスタンスのルート要素として使用できます)。私はXSLTを 'xsl:import-schema'とschema-element(orig)テンプレートだけで単純なスタイルシートでデバッグしようとしていますが、Saxonはまだ' orig'がスキーマで宣言されていないことを教えています。 – colibrisson

+0

私が言ったように、ここで他の人に手伝ってもらうには、問題の再現を可能にするためにコードの最小限で完全なサンプルを投稿するのが最善です.Saxonを使用するときに、スキーマの実行方法(例えば、oXygenの内部またはコマンドラインから正確なコマンドラインを表示するなど)。 –

答えて

2

SaxonがXSD 1.1プロセッサとしてではなくXSD 1.0プロセッサとして動作するように設定されているため、この問題はほぼ確実に発生しています。デフォルト設定はXSD 1.0です。

XMLエディタ18.1(おそらくoXygen XML Editor 18.1)を使用しているとします。したがって、oXygen内でこの設定パラメータを設定する必要があります。 「トランスフォーメーションシナリオの設定」では、まずトランスエンジンとしてSaxon-EEを選択します。 「Advanced Configuration Options」を表すアイコンをクリックします。このフォームの下部には、XSD 1.0またはXSD 1.1を選択するラジオボタンを含む、「Saxon-EE固有のオプション」というセクションがあります。

+0

ありがとう、また@マーチン、サクソンの構成に問題を解決していただきありがとうございます。 – colibrisson

関連する問題