2016-12-16 18 views
1
私のXML検証は、以下の理由で失敗している

XSD検証が失敗している

ゴールse.ericsson.jcat.ebsの実行に失敗しました:XMLの検証 - プラグイン:1.0.2:検証(デフォルト)にproject ebs-extensions:mojoを実行することができません:/ home/xchoshu/latest_space/ebs-extension/src/main /resources/log4j.xsd、18行64列:src-resolve.4.1: 'ConfigurationType'コンポーネントの解決でエラーが発生しました。 'ConfigurationType'には名前空間がありませんが、ターゲット名前空間のないコンポーネントは、スキーマ文書 'file:/home/xchoshu/latestWorkspace/ebs-extensions/src/main/resources/log4j.xsd'から参照できませんでした。 'ConfigurationType'が名前空間を持つことを意図している場合は、接頭辞を付ける必要があります。 'ConfigurationType'に名前空間がないことが意図されている場合は、 'namespace'属性のない 'import'を 'file:/home/xchoshu/latestWorkspace/ebs-extensions/src/main/resources/log4j.xsd'に追加する必要があります' - > [ヘルプ1]

私のXDSは、次のようになります。私のxmlのように見える

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with 
this work for additional information regarding copyright ownership. 
The ASF licenses this file to You under the Apache License, Version 2.0 
(the "License"); you may not use this file except in compliance with 
the License. You may obtain a copy of the License at 
     http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License. 
--> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://logging.apache.org/log4j/2.0/config" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:element name="Configuration" type="ConfigurationType"/> 
    <xs:complexType name="ConfigurationType"> 
     <xs:sequence> 
      <xs:choice minOccurs="0" maxOccurs="1"> 
       <xs:element name="CustomLevels" type="CustomLevelsType"/> 
       <xs:element name="CustomLevel" type="CustomLevelType"/> 
      </xs:choice> 
      <xs:element name="Properties" type="PropertiesType"/> 
      <xs:choice minOccurs="0" maxOccurs="1"> 
       <xs:element name="Filters" type="FiltersType"/> 
       <xs:element name="Filter" type="FilterType"/> 
      </xs:choice> 
      <xs:element name="ThresholdFilter" type="ThresholdFilterType"/> 
      <xs:element name="Appenders" type="AppendersType"/> 
      <xs:element name="Loggers" type="LoggersType"/> 
     </xs:sequence> 
     <xs:attribute name="packages" type="xs:string"/> 
     <xs:attribute name="status" type="xs:string"/> 
     <xs:attribute name="strict" type="xs:string"/> 
     <xs:attribute name="name" type="xs:string"/> 
     <xs:attribute name="advertiser" type="xs:string"/> 
     <xs:attribute name="schema" type="xs:string"/> 
    </xs:complexType> 
    <xs:complexType name="PropertiesType"> 
     <xs:sequence> 
      <xs:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="AppenderType"> 
     <xs:sequence> 
      <xs:element name="Layout" type="LayoutType" minOccurs="0"/> 
      <xs:choice minOccurs="0" maxOccurs="1"> 
       <xs:element name="Filters" type="FiltersType"/> 
       <xs:element name="Filter" type="FilterType"/> 
      </xs:choice> 
     </xs:sequence> 
     <xs:attribute name="type" type="xs:string" use="required"/> 
     <xs:attribute name="name" type="xs:string" use="required"/> 
     <xs:attribute name="fileName" type="xs:string" use="optional"/> 
    </xs:complexType> 
    <xs:complexType name="RootType"> 
     <xs:sequence> 
      <xs:element name="AppenderRef" type="AppenderRefType" minOccurs="1" maxOccurs="unbounded"/> 
     </xs:sequence> 
     <xs:attribute name="level" type="xs:string"/> 
    </xs:complexType> 
    <xs:complexType name="PropertyType"> 
     <xs:simpleContent> 
      <xs:extension base="xs:string"> 
       <xs:attribute name="name" type="xs:string"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    <xs:complexType name="KeyValuePairType"> 
     <xs:simpleContent> 
      <xs:extension base="xs:string"> 
       <xs:attribute name="key" type="xs:string"/> 
       <xs:attribute name="value" type="xs:string"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    <xs:complexType name="AppendersType"> 
     <xs:sequence> 
      <xs:element name="Appender" type="AppenderType" minOccurs="1" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="AppenderRefType"> 
     <xs:simpleContent> 
      <xs:extension base="xs:string"> 
       <xs:attribute name="ref" type="xs:string" use="required"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    <xs:complexType name="LoggerType"> 
     <xs:sequence> 
      <xs:choice minOccurs="0" maxOccurs="1"> 
       <xs:element name="Filters" type="FiltersType"/> 
       <xs:element name="Filter" type="FilterType"/> 
      </xs:choice> 
      <xs:element name="AppenderRef" type="AppenderRefType"/> 
     </xs:sequence> 
     <xs:attribute name="name" type="xs:string" use="required"/> 
     <xs:attribute name="level" type="xs:string" use="optional"/> 
     <xs:attribute name="additivity" type="xs:string" use="optional"/> 
    </xs:complexType> 
    <xs:complexType name="FilterType" mixed="true"> 
     <xs:sequence> 
      <xs:element name="KeyValuePair" type="KeyValuePairType" minOccurs="0"/> 
     </xs:sequence> 
     <xs:attribute name="type" type="xs:string" use="required"/> 
     <xs:attribute name="level" type="xs:string" use="optional"/> 
     <xs:attribute name="marker" type="xs:string" use="optional"/> 
     <xs:attribute name="onMatch" type="xs:string" use="optional"/> 
     <xs:attribute name="onMismatch" type="xs:string" use="optional"/> 
    </xs:complexType> 
    <xs:complexType name="FiltersType"> 
     <xs:sequence> 
      <xs:element name="Filter" type="FilterType" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="CustomLevelType"> 
     <xs:attribute name="name" type="xs:string" use="required"/> 
     <xs:attribute name="intLevel" type="xs:string" use="required"/> 
    </xs:complexType> 
    <xs:complexType name="CustomLevelsType"> 
     <xs:sequence> 
      <xs:element name="CustomLevel" type="CustomLevelType" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="LoggersType" mixed="true"> 
     <xs:sequence> 
      <xs:element name="Logger" type="LoggerType" minOccurs="0" maxOccurs="unbounded"/> 
      <xs:element name="Root" type="RootType" minOccurs="1" maxOccurs="1"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="LayoutType" mixed="true"> 
     <xs:sequence> 
      <xs:element name="Pattern" type="xs:string" minOccurs="0"/> 
     </xs:sequence> 
     <xs:attribute name="type" type="xs:string" use="required"/> 
     <xs:attribute name="pattern" type="xs:string" use="optional"/> 
    </xs:complexType> 
    <xs:complexType name="ThresholdFilterType"> 
     <xs:attribute name="level" type="xs:string" use="optional"/> 
     <xs:attribute name="onMatch" type="xs:string" use="optional"/> 
     <xs:attribute name="onMismatch" type="xs:string" use="optional"/> 
    </xs:complexType> 
</xs:schema> 

<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://logging.apache.org/log4j/2.0/config" 
    xsi:schemaLocation="http://logging.apache.org/log4j/2.0/config https://ei-switching.rnd.ki.sw.ericsson.se/browser/jcat-bsp/log4j.xsd"> 

    <Appenders> 
     <Console name="JCATDefaultConsoleAppender" target="SYSTEM_OUT" 
      follow="true"> 
      <PatternLayout pattern="%d{default} %m [%t] %l%n%ex{full}" /> 
     </Console> 
    </Appenders> 

    <Loggers> 
     <Root level="INFO"> 
      <AppenderRef ref="JCATDefaultConsoleAppender" /> 
     </Root> 
    </Loggers> 

誰もがXSDを修正するには私を助けることができます。 TIA

よろしく、 Shubhankar

答えて

0

は、XSDは、名前空間宣言のxmlns = "http://logging.apache.org/log4j/2.0/config"が欠落しています。それはXSDを有効にします。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns="http://logging.apache.org/log4j/2.0/config" 
      targetNamespace="http://logging.apache.org/log4j/2.0/config" 
      elementFormDefault="qualified" 
      attributeFormDefault="unqualified"> 
    <xs:element name="Configuration" type="ConfigurationType"/> 

しかし、その後、あなたのXMLファイルが

enter image description here

あなたがとThresholdFiltersアペンダは、少なくとも1 が含まれている必要がありアペンダを必須要素が欠落しプロパティされている問題の多くを持っています(コンソール

サンプル文書は、あなたが適切な順序でそれらを配置することで私を助けることができる私は、XSDおよびXMLに新しいです。この

<?xml version="1.0" encoding="utf-8"?> 
<!-- Created with Liquid XML 2017 Liquid Studio - Data Designer Edition 15.0.0.6978 (https://www.liquid-technologies.com) --> 
<ns:Configuration xmlns:ns="http://logging.apache.org/log4j/2.0/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://logging.apache.org/log4j/2.0/config C:\Temp\StackOverflow\41177776\Schema.xsd" packages="string" status="string" strict="string" name="string" advertiser="string" schema="string"> 
    <ns:CustomLevels><!--optional--> 
     <ns:CustomLevel name="string" intLevel="string" /> 
     <ns:CustomLevel name="string" intLevel="string" /> 
     <ns:CustomLevel name="string" intLevel="string" /> 
    </ns:CustomLevels> 
    <ns:Properties> 
     <ns:Property>string</ns:Property> 
     <ns:Property>string</ns:Property> 
    </ns:Properties> 
    <ns:Filters><!--optional--> 
     <ns:Filter type="string" level="string" marker="string" onMatch="string" onMismatch="string"> 
      <ns:KeyValuePair key="string" value="string">string</ns:KeyValuePair> 
     </ns:Filter> 
    </ns:Filters> 
    <ns:ThresholdFilter level="string" onMatch="string" onMismatch="string" /> 
    <ns:Appenders> 
     <ns:Appender type="string" name="string" fileName="string" /> 
     <ns:Appender type="string" name="string" /> 
    </ns:Appenders> 
    <ns:Loggers> 
     <ns:Logger name="string" level="string" additivity="string"> 
      <ns:AppenderRef ref="string">string</ns:AppenderRef> 
     </ns:Logger> 
     <ns:Root> 
      <ns:AppenderRef ref="string">string</ns:AppenderRef> 
     </ns:Root> 
    </ns:Loggers> 
</ns:Configuration> 
+0

ようになります。 –

関連する問題