XSL 변환을 처리하는 서버에서 네임 스페이스 검사가 비활성화되어 있습니다 (XSL을 작성한 사람이 네임 스페이스를 이해하지 못했기 때문). 나는 XSL을 변경해야하지만 ie 정의 된 네임 스페이스가 없기 때문에이를 테스트 할 수 없다. 그들은 모두 네임 스페이스의 모든 자격을 갖춘이기 때문에XSL 변환 중에 네임 스페이스를 무시할 수 있습니까?
는
<xsl:template match="element[position()=1]">...
을 가지고 대신
<xsl:template match="ns:element[position()=1]">...
의 그래서 그것은 XML의 요소와 일치하지 않습니다.
액세스 권한이 없기 때문에 서버에서 테스트 할 수 없습니다. 네임 스페이스 검사가 가능해야하고 다른 모든 변환을 깨뜨릴 것이므로 XSL을 수정하는 것은 쓸모가 없습니다.
그래서 내가해야 할 일은 XSL 변환 중에 네임 스페이스를 무시하는 방법을 찾는 것입니다. MSXML, XMLSpy (여기서 옵션을 찾을 수 없음)에 액세스 할 수 있으며, 정말로 필요한 경우 C#이나 비슷한 언어로 코드를 작성할 수 있습니다. 자세한 내용에 대한 덧글에 대한 응답으로 내가 몇 정규 표현식에를 코딩 할 수 있지만 난 정말, 특히 XML을 처리 할 때, 그 길을 가고 싶지 않아 최후의 수단으로
...
:
이것은 Methode Servlet (www.eidosmedia.com) 인스턴스를 실행하는 Windows 2003 가상 서버입니다. 이 서블릿이 XSL 변환을 수행하기 위해 어떤 기술을 사용하는지 모르겠습니다. 그들은 원래 XSL을 작성한 사람이 XSL을 이해하지 못하고 XSL에 포함시키지 않았기 때문에 네임 스페이스를 무시합니다. 이제 모든 XSL 파일 (수백)은 네임 스페이스가 없습니다.
이러한 모든 파일을 한 번에 해결하는 것은 흥미로운 과제 일 수 있지만, 지금 당장 필요한 것은 아닙니다. (그리고 부서별 관리자는 관련된 테스트의 양 때문에 어쨌든 동의하지 않습니다.) 내가 알고 싶은 것은 내가이 XSL 파일을 그대로 사용하고 네임 스페이스를 고려하지 않고 해당 XML 문서를 변형 할 수있는 도구 (또는 기술)가 있는지 여부입니다. 원래 XSL을 작성한 사람이 변형을 테스트하기 위해 비슷한 것을 사용해야했기 때문에 도구가 있어야한다고 생각합니다.
서버에서 네임 스페이스 검사를 어떻게 비활성화합니까? 나는 그런 것을 들어 본 적이 없다. –
변환을 처리하는 타사 제품 (Microsoft 또는 Sun 제품 아님)입니다. 개발자는 개발자에게 사용 중지 옵션을 제공하도록 요청했습니다. – ilitirit
더 자세한 정보를 얻을 수 있습니까? 어떤 유형의 서버인지 등. 또한 네임 스페이스를 무시함으로써 해결해야 할 문제는 무엇입니까? 이름 공간을 무시하는 것은 매우 어렵 기 때문에 문제의 근본적인 문제를 안다면 대신 해결할 수 있습니다. –