2014-10-14 1 views
1

XML 스키마에서이를 수행 할 수 있습니까?XML 스키마 요소 이름에 특수 문자를 사용할 수 있습니까?

<xs:element name="A/B" type="xs:string"/> 

스키마 요소 이름에 특수 문자 "/"를 사용할 수없는 것 같습니다. 특수 문자 "/"가 오류를 던지고 있습니다. 이것을 달성 할 수있는 다른 방법이 있습니까?

아래의 샘플 코드는 오류를 재현하는 데 사용할 수 있습니다. Test.xsd로 저장하고 Jdeveloper에서 열면 "NCName 유형이 아닌 속성 이름의 값"이라는 오류 메시지가 나타납니다.

<?xml version="1.0" encoding="windows-1252" ?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns="http://www.example.org" 
      targetNamespace="http://www.example.org" 
      elementFormDefault="qualified"> 
    <xs:element name="exampleElement"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="A/B" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 

답변

1

짧은 대답 :No. 슬래시는 허용되지 않습니다.

긴 대답 :

Section 3.3.1 of the XSD specification[XML-Namespaces]에 의해 정의 된 name 속성이

의 NCName이라고 정의합니다.

이 부 2. Declaring Namespaces 하에서 NCName 정의 Namespaces in XML의 스펙을 참조한다.

name (A) 속성의 첫 번째 문자는 Letter 클래스에 있으므로 괜찮습니다. 그러나 두 번째 문자 (/)는 NCNameChar 클래스에 없습니다. NCNameChar 클래스를 구성하는 클래스 링크를 따라 가면 slash's code pointU+002F을 찾을 수 없습니다.

이 프로세스를 반복적으로 수행하면 스키마에서 허용되는 값이나 허용되지 않는 값을 체계적으로 알 수 있습니다.

0

는 산소 XML 편집기 또는 당신에게 당신의 XML 파일의 모든 오류를 알려줍니다 다른 유사한, 느릅 나무와 같은 도구를 사용하여 가능 여부를 당신은 확인할 수 있습니다.

+0

Jdeveloper에서 볼 때 오류가 발생합니다. "NCName 유형이 아닌 속성 이름의 값"이라는 오류 메시지가 표시됩니다. – subhadip21a

관련 문제