문제

옛날 옛적에 나는 유효한 doctype와 유효한 XML을 가지고있었습니다. 나는 전자를 후자의 위에 올려 놓고 cntrl-s'd를 보았다. 요즘에는 유효한 스키마가 있습니다 (여전히 유효한 XML에 맞게 구축). 나는 똑같은 시도와 진정한 접근법을 시도했지만 아아, 성공하지 못했습니다.

사용하는 각각의 다른 유효성 검사기마다 다른 오류가 발생하지만 브라우저에서 새로운 오류가 발생합니다 (그러나 의미가 있습니다). 그래서 나는 내가 가장 도움이되기 위해 어떤 것을 주어야하는지 잘 모르겠습니다. validome의 말 :

요소 'xs : schema'의 선언을 찾을 수 없습니다.

그리고

루트 요소를 따르는 문서의 마크 업은 잘 형성되어야합니다.

(하지만 그것은!)

XML과 스키마를 갖는 것이 유용하다면 주저하지 말고 물어보십시오, 나는 단지 그들이 W3가 유효하고 긴이기 때문에 처음에는 그들을 남겨 두겠다고 생각했습니다. 내가하고있는 일은 스키마를 XML 위에 놓고 유효성 검사기/브라우저를 통해 전송하는 것입니다.

감사!

도움이 되었습니까?

해결책

@Nona 스키마는 잘 형성된 문서이며 인스턴스도 마찬가지입니다. 그러나, 당신이 그들을 연결하면 결과는 더 이상 잘 형성되지 않습니다.

당신이 가진 것이 :

<xs:schema ...>...</xs:schema>
<myxml ...>...</myxml>

이것은 잘 형성되지 않았습니다 (단일 루트 요소 없음)

DTD 접근법이 다른 이유는 내부 서브 세트가 루트 요소로 구체적으로 배제되기 때문입니다. 그래서:

<DOCTYPE myxml [
... my DTD ...
]>
<myxml ...>...</myxml>

잘 형성됩니다.

불행히도 스키마를 인스턴스와 연결하는 것은 완전히 사소한 것은 아닙니다. 당신은 봐야 할 수도 있습니다 xsi:schema-location.

업데이트불행히도 답은 사용하는 소프트웨어 프레임 워크에 따라 다릅니다. AFAIK 소프트웨어가 수락하고 검증하려는 문서와 스키마를 포장하는 방법이 없습니다. 이것이 스키마가 DTD보다 훨씬 더 많은 노력을 기울이는 이유입니다.

다음은 두 문서와 테스트를 제출할 수있는 간단한 사이트입니다.

그 이상은 소프트웨어에 대한 지식이 필요할 수 있습니다. Oracle, Microsoft 등을 사용하는지 여부에 따라 다른 접근 방식이 있습니다. 이는 문서를로드하거나 스키마를로드 한 다음 유효성 검사 또는 속성을 설정하는 방법 (Xerces에서 수행 할 수 있음)을 호출하여 수행 할 수 있습니다.

대답은 왜이 일을하는지에 달려있을 수 있습니다. 스키마 소유자에게 문서를 제출하는 경우 Probbaly에는 검증 시스템이 있습니다. 다른 사람의 스키마에 대해 valiadte를해야한다면 SchemaValidation 소프트웨어를 얻고이를 실행해야합니다. MS 또는 UNIX/Java에 있습니까?

더 많은 업데이트제안하다 XSD 파일에 대해 XML 파일을 검증하는 가장 좋은 방법은 무엇입니까?그들이 말했듯이 매우 간단한 접근법은 없습니다.

다른 팁

어둠 속에서 찌르지 만 XML 스키마 네임 스페이스 접두사가 루트 요소에 선언되어 있습니까? xmlns : xs = "http://www.w3.org/2001/xmlschema"입니다. 네임 스페이스 접두사가 네임 스페이스 이름에 바인딩되지 않으면 문서가 유효하지 않습니다.

명백한 말을 할 위험이 있으면 요소 XS : 스키마의 선언을 검증기에서 찾을 수없는 이유를 고려할 수 있습니다.

두 번째 오류는 어딘가에 각도 브래킷이 없거나 제대로 중첩되지 않은 요소가 있음을 나타냅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top