2012-12-16 4 views
0
URL에 등 제공 될 때 네임 스페이스는 XSLT에서 할 무엇을

:XSLT 네임 스페이스 URL

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 

가 인터넷에 연결하려면이 시도합니까?

+1

아니오; 명세가 고안되었을 때 URI (URL이 가장 많이 사용되는)가 네임 스페이스 형식으로 결정되었다는 것이 너무나도 드뭅니다. – dash

+1

아니요, 네트워크 케이블을 분리하고 Wi-Fi를 끄고 변환을 실행하여 성공적으로 수행되는지 확인하십시오. 네임 스페이스는 고유 한 문자열이어야합니다. 엄밀히 말하면 URL 일 필요는 없습니다. XML 어휘를 고유하게 식별하는 한 임의의 문자열을 사용할 수 있습니다. 이 네임 스페이스에 요소를 지정해보십시오 : " '! @ # $ %%^123'"- XML ​​문서가 형식이 잘되어있어이 문서를 처리하는 데 오류가 발생하지 않습니다. –

답변

0

아니요 xsd, xslt 또는 기타 xml 파일에 네임 스페이스가 무엇이든간에 인터넷 요청이 없습니다.

네임 스페이스는 XML 요소의 수식에 사용됩니다.

1

아니오; XML Namespaces (W3C XSL Namespace specifications 참고)의 스펙이 URI 일뿐입니다.

다른 언어의 네임 스페이스와 똑같은 방식으로 작동합니다. 그들은 서로 다른 맥락에서 동일한 이름을 가진 것을 식별하는 것을 돕는다.

XSL 변환을로드하거나 사용하는 동안 컴퓨터에서 HTTP 모니터를 사용하여 리소스를 검색하려고 시도하지 않았 음을 증명할 수 있습니다.이 answer에는 여러 가지 좋은 제안이 있습니다.

+0

특히 네임 스페이스 URI는 임의의 URI 일 수 있으며 해결할 수있는 URL 일 필요는 없습니다. 예를 들어 Microsoft는 .NET XSLT 프로세서의 확장에 대한 네임 스페이스 URI로 URN'urn : schemas-microsoft-com : xslt'을 사용합니다. –

0

XSLT 변환을 수행하면 XSLT 엔진이 XSLT 파일의 유효성을 검사합니다. stylesheet 등 루트 요소와 같은 많은 검사를 수행합니다. 엔진은 XSLT 관련 요소 (예 : <xsl:stylesheet>)에서 리터럴 결과 요소 (예 : <table>)를 식별 할 수 있어야합니다.

요소는 XSLT 네임 스페이스에있을 때 XSLT 특정 요소로 인식됩니다. 게시 한 URI의 값 (http://www.w3.org/1999/XSL/Transform)은 단순히 XSLT에 대해 이야기하는 규칙입니다. 정의 된 접두사 (xsl)는 XSLT 요소를 한정하기 위해 XSLT 파일에 사용되는 접두사입니다. 원하는 경우 다른 접두사를 사용할 수 있습니다 (XSLT 네임 스페이스에 매핑 한 경우).

실제로는 URI (식별자)이며 URL (locator)이 아닙니다. 아무것도 찾을 수있는 HTTP 요청이 없으며 단지 추상 개념 (이 경우 "XSLT")을 식별합니다.

+0

XSLT 엔진이 XSLT의 "유효성 검사"를하는 이유는 무엇입니까? 완벽하게 합리적인 구현은 XSLT가 올바르다 고 가정 할 수 있으며 깨진 경우 실패 할 수 있습니다. 특히 많은 시나리오에서 동일한 XSLT가 반복적으로 여러 변형을 수행하는 데 사용되는 경우 여분의 유효성 검사 단계가 단순히 오버 헤드가 될 수 있습니다. –

+0

@ 도미니크 : 고장인지 여부를 확인하려면 수표를 수행해야합니다. 어쨌든 요점은 엔진이 XSLT 특정 요소를 비 XSLT 특정 요소와 구분해야한다는 것이 었습니다. – Dabbler

+0

프로그램을 실행하려고하면 프로그램의 유효성을 어느 정도 검사하지만 유효성을 확인하고 프로그램을 실행하는 것은 겹칠 수 있지만 별개의 작업입니다. 다른 사람의 XSLT 요소를 식별하는 것이 필요하기 때문에 프로그램 실행 작업입니다.결과적으로 올바르게 작동하려면 프로세서가 루트 요소가 xsl : stylesheet, xsl : transform 또는 합법적으로 단순화 된 구문 일 수있는 다른 요소인지 여부를 감지해야합니다. 그래도. 나는 너의 요점을 알고있다. –