2010-03-10 3 views
1

처리해야 할 서비스에서이 XML을 가져오고 있습니다. 나는 XML Schema 나 Namespace fu에별로 관심이 없지만 나에게는 엉망으로 보인다. 누군가 그것을 살펴보고 더 좋게 만드는 방법을 말해 줄 수 있습니까?일부 추한 XML을 정리할 수 있도록 도와주세요

http://gist.github.com/325952

나는 네임 스페이스 정의가 첫 번째 줄에 선언 할 수 있다는 사실을 알고, 그리고 모든 라인. 청소할 수있는 것이 있습니까?

+0

나는 URI를 생각합니다. 그리고 이것은 아닙니다. 어쩌면 내가 틀렸어? – thermans

+1

URI가 포함될 예정인 이유는 없습니다. 일반적인 경우 일뿐입니다. 그러나 URI를 포함 시키려면 유효해야합니다. 편집 : 사실, 나는 지적해야한다고 생각했다. XML 네임 스페이스는 단지 하나의 문자열 일 뿐이다. 이것을 위해 URI를 사용하는 것은 '전통'이지만, 다른 것을 사용하는 것도 똑같이 유효합니다. 어떤 시점에서도 URI 조회가 발생하지 않습니다. –

+0

@ 대니얼 (Daniel I-S) 나는 "URL을 사용하는 것이 전통이라고 말할 것"이라고 생각합니다. URI 여야하지만 예, URI에는 프로토콜 한정자 등이 필요하지 않으므로 일반 문자열이 작동합니다. URN은 내가 일한 곳에서도 사용됩니다. – xcut

답변

3

내가 말할 것이다 : XSD를 접두사 처음 두 요소를 떠나 : 그것은 단지 두 개의 바깥 쪽 요소에서 발생합니다. 또한 xmlns="http://com/acmephone/ovm/cas/types"을 루트에 선언하고 모든 항목에서 typ: 접두어를 제거하십시오.

편집 : 사실 xsd 접두어를 다른 접두사로 변경하십시오. 그다지 중요하지는 않지만 XML 스키마 네임 스페이스에 일반적으로 바인딩되는 접두어를 사용하는 것만 혼란을 일으키는 것으로 보입니다. 네임 스페이스가 유효한 RFC에게 3986 URI 있어야하는데 대한, 또는 적어도 그들이 "HTTP"접두사를 사용하려는 경우

+0

+1 나는 똑같은 것을 시도했지만, 설명하기를 원했기 때문에 나는 W3C 스펙에 갇혀있다. – stacker

+0

글쎄, 시작하기에 충분히 쉬워야한다. 모든 xmlns를 제거하십시오 : typ = ""속성; 그런 다음 typ를 빈 문자열로 검색하고 바꿉니다. 마지막으로 선언문을 내 대답에 루트에 넣습니다. – xcut

관련 문제