인터넷에서 리소스는 URL (국제화 리소스 식별자)을 사용하여 식별됩니다. 예를 들어, http://example.com에 위치한 someDrawing.svg라는 SVG 파일은 다음과 같은 URL을 가질 수 있습니다:
http://example.com/someDrawing.svg
URL은 또한 XML 문서 내의 특정 요소를 URL 프래그먼트 식별자를 포함하여 지정할 수 있습니다. URL에 URL 프래그먼트 식별자가 포함되면, 선택적으로 기본 URL 다음에 "#" 문자가 오고, 그 뒤에 URL 프래그먼트 식별자가 옵니다. 예를 들어, 다음 URL은 someDrawing.svg 파일 내에서 ID가 "Lamppost"인 요소를 지정하는 데 사용할 수 있습니다:
http://example.com/someDrawing.svg#Lamppost
다음 중 하나라도 해당되면 잘못된 참조입니다:
잘못된 참조는 오류일 수도 있고 아닐 수도 있습니다 (오류 처리 참고), 참조하는 속성이나 속성이 폴백 동작을 정의하는지 여부에 따라 달라집니다.
국제화 리소스 식별자(URL)는 통합 리소스 식별자(URI)를 더 일반화한 개념입니다. URL은 유니버설 문자 집합 [UNICODE]에서 선택된 문자들의 시퀀스입니다. URI는 훨씬 더 제한된 문자 집합으로 구성됩니다. 모든 URI는 이미 적합한 URL입니다. URL에서 URI로의 매핑은 URL 명세에서 정의되어 있으며, 이로 인해 URL을 XML 문서에서 URI 대신 사용하여 리소스를 식별할 수 있습니다. 네트워크에서 URL을 직접 지원하지 않는 프로토콜의 경우, URL을 URI로 변환하여 사용할 수 있습니다.
이전 버전의 SVG는 XLink를 따라 URL 참조 타입을 URI 또는 특정 이스케이프 절차를 적용한 후 URL이 되는 문자 시퀀스로 정의했습니다. 이스케이프 절차는 XLink 1.0 명세 [xlink]와 W3C XML Schema Part 2: Datatypes 명세 [xmlschema-2]에서 반복적으로 설명되었습니다. 이러한 중복은 오류와 불일치의 가능성을 높였지만, URL 명세가 아직 표준화되지 않았기 때문에 이루어진 것입니다.
이 명세에서는 "URI 또는 문자 시퀀스 + 알고리즘"에 대해 올바른 용어인 URL을 사용하며, URL을 URI로 변환하는 이스케이프 방법은 URL 명세 [rfc3987]를 참조하여 정의합니다. 이 명세는 IETF 현행 표준(Proposed Standard)입니다. 다른 W3C 명세들도 시간이 지나면서 이러한 중복된 이스케이프 절차 설명을 제거하고 URL을 직접 참조하도록 수정될 예정입니다.
SVG에서 두 요소 간의 대부분의 구조적 관계는 ‘href’ 속성에 URL 값을 사용하여 지정합니다. 하지만 많은 표시 속성은 URL과 텍스트 문자열 모두를 콘텐츠로 허용합니다. 텍스트 문자열과 상대 URL을 구분하기 위해, <url> 생성식을 표시 속성 및 해당 CSS 속성 [css-values]에 사용합니다. 이는 단순히 함수 표기법으로 구분된 URL입니다.
SVG는 절대 및 상대 URL 참조를 다른 객체에 광범위하게 사용합니다. 예를 들어, ‘linearGradient’ 요소는 다른 그라디언트 요소를 기반으로 할 수 있으며, 두 요소 간의 차이만을 지정하기 위해 ‘href’ 속성에 URL로 원본 그라디언트를 참조합니다:
<linearGradient id="SourceGradient">...</linearGradient> <linearGradient id="MyGradient" href="#SourceGradient">...</linearGradient>
해당 그라디언트로 사각형을 채우려면, 사각형의 fill 속성 값을 관련 ‘linearGradient’ 요소에 대한 URL 참조로 지정할 수 있습니다; 다음은 예시입니다:
<rect fill="url(#MyGradient)"/>
URL 참조는 일반적으로 ‘href’ 속성으로 지정합니다. 이 속성의 값은 원하는 리소스(또는 프래그먼트 식별자가 있다면 보조 리소스)에 대한 참조를 형성합니다. ‘href’ 속성의 값은 반드시 URL이어야 합니다.
어떤 애플리케이션도 값이 URL 참조인지 확인하는 것은 현실적으로 불가능하므로, 이 명세는 URL 현행 표준의 방침을 따르며 SVG 작성 도구에 해당 적합성 검사 요구사항을 부여하지 않습니다. 잘못된 URL이라도 SVG 문서가 비적합 문서가 되지는 않습니다. SVG 사용자 에이전트는 URL 참조 처리에 명시된 대로, 필요할 때만 URL을 처리하면 됩니다.
이전 SVG 버전에서는 ‘href’ 속성이 XLink 네임스페이스 [xlink]로 지정되었습니다. 이 사용법은 현재 사용 중단되었으며, 대신 URL 참조를 네임스페이스 없는 ‘href’ 속성으로 지정해야 합니다.
하위 호환성을 위해, 사용 중단된 ‘xlink:href’ 속성과 ‘xlink:title’ 속성 역시 아래에 정의되어 있습니다.
속성 정의:
이름 | 값 | 초기값 | 애니메이션 가능 |
---|---|---|---|
xlink:href | URL [URL] | (없음) | (아래 참조) |
하위 호환을 위해, ‘href’ 속성이 있는 요소는 XLink 네임스페이스 [xlink] 내의 ‘href’ 속성도 인식합니다.
‘href’ 속성이 네임스페이스 있는 경우와 네임스페이스 없는 경우 둘 다 존재하면, 네임스페이스 없는 속성값을 사용해야 하며, XLink 네임스페이스의 속성은 무시해야 합니다.
적합한 SVG 생성기는 네임스페이스 없는 ‘href’ 속성만 생성해야 합니다. 단, 하위 호환을 위해 XLink 네임스페이스의 ‘href’ 속성도 함께 생성할 수 있습니다.
이 속성은 해당 ‘href’ 속성이 애니메이션 가능으로 정의된 경우에만 애니메이션 가능입니다.
이름 | 값 | 초기값 | 애니메이션 가능 |
---|---|---|---|
xlink:title | <anything> | (없음) | 아니오 |
링크나 리소스의 의미를 사람이 읽을 수 있도록 설명하는 데 사용되던 사용 중단된 속성입니다. 새로운 콘텐츠에서는 ‘xlink:title’ 속성 대신 ‘title’ 자식 요소를 사용해야 합니다.
이 정보의 사용 방식은 처리 유형에 따라 크게 달라집니다. 예를 들어, 시각 장애인용 애플리케이션에서 제목을 제공하거나, 링크 목록을 만들거나, 사용자가 마우스 포인터를 시작 리소스 위에 올려둘 때 도움말 텍스트를 나타내는 데 사용할 수 있습니다.
‘title’ 속성을 사용할 경우, 반드시 XLink 네임스페이스에 있어야 합니다. XML Linking Language(XLink) [xlink] 참고.
사용 중단된 XLink 속성 ‘xlink:href’ 또는 ‘xlink:title’을 사용할 때는 명시적으로 XLink 네임스페이스 선언을 지정해야 합니다 [xml-names], XLink 네임스페이스 선언을 제공하는 가장 간단한 방법은, 해당 XLink 속성을 사용하는 콘텐츠의 ‘svg’ 요소에 XLink 네임스페이스용 ‘xmlns’ 속성을 포함하는 것입니다. 예시:
<svg xmlns:xlink="http://www.w3.org/1999/xlink" ...> <image xlink:href="foo.png" .../> </svg>
URL은 필요할 때 리소스를 식별하기 위해 다음과 같이 처리됩니다:
레거시 ‘xlink:href’ 속성은, 해당하는 ‘href’ 속성이 요소에 없을 때만 ‘href’ 속성 처리 시점에 처리됩니다.
URL 처리 과정은 세 단계로 이루어집니다: 절대 URL 생성; 문서 가져오기(필요한 경우); 타겟 요소 식별(필요한 경우).
URL 참조는 처리 결과가 잘못된 참조이거나 타겟 리소스가 식별될 때까지 미해결 참조 상태입니다. 구조적으로 외부 요소의 표시 속성이 아닌 속성에서 미해결 참조가 있으면 load 이벤트가 발생하지 않습니다. 사용자 에이전트는 동일 문서 URL 참조가 아닌 참조의 해상에 시간 제한을 둘 수 있으며, 이 제한 이후에는 네트워크 오류로 처리되어 (잘못된 참조가 됨) 처리해야 합니다.
동적 문서에서 동일 문서 URL 참조의 경우, 속성이나 프로퍼티의 수정·애니메이션 또는 요소가 DOM에서 제거되면 URL 참조가 다시 미해결 참조로 돌아갈 수 있습니다. 사용자 에이전트는 참조된 리소스를 식별하기 위해 다시 URI 해석을 시도해야 합니다.
URL 참조가 상대 URL인 경우, 사용 전에 반드시 절대 URL로 변환해야 합니다. 절대 URL은 다음 방법 중 하나로 생성해야 합니다:
‘xml:base’ 속성은 XML 문서에서만
효과가 있습니다;
SVG 문서 및 XHTML 문서는 포함되지만, XML이 아닌 HTML 문서에서는 효과가 없습니다.
반면, base
요소는
SVG 또는 HTML 문서에서 상대 URL에 영향을 주며,
문서 기본 URL을
변경합니다.
HTTP 등 프로토콜이 URL을 직접 지원하지 않으면, URL 명세 [rfc3987] 3.1절에 따라 사용자 에이전트가 URL을 URI로 변환해야 합니다.
절대 URL 생성 후:
링크 활성화 후 URL이 처리되는 경우, 사용자 에이전트는 HTML 명세에서 정의한 URL 탐색 알고리즘을 따라야 합니다 [현행 표준]. 이 알고리즘의 결과는 ‘target’ 브라우징 컨텍스트 및 브라우징 컨텍스트 간의 보안 제한, 그리고 링크가 현재 브라우징 컨텍스트의 동일 문서인지에 따라 달라집니다 (동일 문서면 프래그먼트만 이동하고 문서 재로드는 안 함). 이동된 문서가 SVG 문서라면, SVG 콘텐츠로의 링크에 명시된 대로 타겟 동작을 조정합니다.
처리 중인 URL이 전체 문서 파일을 참조할 때만 유효한 경우 (예: ‘href’ 속성이 ‘image’ 또는 ‘script’ 요소에 사용된 경우), 문서 가져오기로 계속 진행해야 합니다 (URL이 동일 문서인지 여부와 관계없이).
그 외 모든 경우, URL은 이 SVG 문서에서 사용할 리소스를 가리킵니다. 사용자 에이전트는 URL을 파싱하여 타겟 프래그먼트와 나머지 부분을 분리하고, 이를 문서 기본 URL과 비교해야 합니다. 타겟 프래그먼트 외의 모든 부분이 동일하다면, 동일 문서 URL 참조이며, URL 처리는 타겟 요소 식별로 이어져야 하며, 현재 문서가 참조 문서가 됩니다.
그 외의 경우, URL은 별도의 문서를 참조하며, 사용자 에이전트는 문서 가져오기에 따라 URL 처리를 계속해야 합니다.
CSS 값 및 단위에서 정의된 대로, 스타일 속성의 프래그먼트만 포함된 URL은 선언된 파일에 관계없이 동일 문서 URL 참조로 처리해야 합니다.
SVG 속성과 프로퍼티는 다른 문서를 참조할 수 있습니다. 이러한 URL을 처리할 때, 사용자 에이전트는 이 섹션에 설명된 대로 참조 문서를 가져와야 하며, 다음 조건이 있는 경우는 제외합니다:
URL 참조가 href 속성에서 SVG 애니메이션 요소에 사용된 경우, 동일 문서 URL 참조만 허용됩니다 [svg-animation]. 다른 문서를 참조하는 URL은 무효이며 문서를 가져오면 안 됩니다.
참조를 포함하는 문서가 보안 정적 모드 또는 보안 애니메이션 모드로 처리되는 경우, 외부 파일 참조는 허용되지 않습니다. 참조가 데이터 URL이 아니라면, 사용자 에이전트는 네트워크 오류인 것처럼 참조를 처리해야 하며, 이는 잘못된 참조가 됩니다.
브라우징 컨텍스트 또는 사용자 에이전트의 기타 보안 제한으로 인해 외부 파일 접근이 불가능한 경우, 사용자 에이전트는 네트워크 오류인 것처럼 참조를 처리해야 합니다.
인터넷에서 외부 리소스를 가져올 때, 사용자 에이전트는 HTML에서 정의한 잠재적 CORS 요청을 반드시 사용해야 하며 corsAttributeState는 다음과 같이 설정합니다:
base
요청의 origin은
HTML과 동일한 규칙으로 계산되며,
SVG ‘script’ 요소는
HTML script
요소처럼,
SVG ‘image’ 요소는 HTML
img
요소처럼 취급합니다.
기본 origin 동작은 taint로 설정되어야 합니다.
향후 SVG 명세에서는 ‘href’ 속성이 있는 다른 SVG 요소에서도 CORS 참조를 활성화할 수 있습니다.
가져오기 알고리즘이 오류 또는 빈 응답 본문을 반환하면 참조 URL은 잘못된 참조로 처리됩니다.
유효한 응답이 반환되고, 해당 참조의 유효한 URL 타겟이 특정 요소 타입을 포함한다면, 사용자 에이전트는 서브리소스 문서 처리로 계속 진행해야 합니다. 그렇지 않고 전체 문서만 유효한 경우에는, 가져온 문서가 참조 리소스가 됩니다.
그 외의 경우, 하위 리소스를 파싱하여 타겟 요소를 식별해야 합니다. 가져온 문서가 사용자 에이전트가 파싱하여 문서 객체 모델을 생성할 수 있는 타입이라면, 보안 정적 모드로 처리해야 합니다 (즉, 추가 외부 리소스를 가져오지 않고, 스크립트 실행이나 애니메이션/비디오 재생을 하지 않음). 외부 하위 리소스 참조로 생성된 문서 모델은 반드시 불변(읽기 전용)이어야 하며, 수정할 수 없습니다.
가져온 파일에서 문서 객체 모델을 생성할 수 있으면, URL 처리는 타겟 요소 식별에 명시된 대로, 파싱된 하위 리소스 문서를 참조 문서로 사용하여 계속 진행해야 합니다. 사용자 에이전트는 문서를 완전히 파싱하기 전에 타겟 식별 과정을 시작할 수 있습니다.
사용자 에이전트는 외부 리소스 URL과 연관된 파싱된 문서 목록을 유지할 수 있으며, 처리 모드, 캐싱, CORS 요구사항을 위반하지 않는 한, 후속 참조에서 해당 문서를 재사용할 수 있습니다.
특정 요소에 대한 URL 참조의 경우, 참조가 유효한지는 참조 문서 내에서 요소를 찾을 수 있는지와 해당 요소가 허용된 타입인지에 따라 결정됩니다.
이전 처리 단계에서 식별한 참조 문서(외부 하위 리소스 문서 또는 현재 문서)를 사용하여, 타겟 요소는 다음과 같이 식별합니다:
URL이 타겟 프래그먼트에서 특정 요소를 지정하지 않으면, 타겟 요소는 참조 문서의 루트 요소가 됩니다.
그 외의 경우, URL은 특정 요소를 타겟으로 합니다. 참조 문서에 현재 해당하는 요소가 있으면, 그 요소가 타겟 요소가 됩니다.
그 외의 경우, 현재 일치하는 요소가 없습니다. 참조 문서가 불변이면, URL 참조는 잘못된 값입니다. 외부 하위 리소스 문서는 완전히 파싱된 이후에는 항상 불변이며; 현재 문서도 동적 상호작용 모드가 아니면 파싱 후 불변이 됩니다.
그 외의 경우, 참조 문서의 변이를 관찰하여 URL이 타겟 요소를 성공적으로 정의할 수 있을 때까지, 또는 문서가 불변이 될 때까지(예: 동적이 아닌 문서가 파싱 완료됨) 참조 해석을 시도합니다.
타겟 요소는 해당 참조에 대해 유효한 URL 타겟인 경우에만 참조 리소스를 제공합니다.
‘href’ (또는 ‘xlink:href’) 속성에 대한 유효한 타겟 요소 타입은 해당 속성을 가진 요소에 따라 다음과 같습니다:
이 명세에서 정의된 스타일 속성의 유효한 타겟 요소 타입은 다음과 같습니다:
타겟 요소 또는 이미지 파일 모두 참조 가능한 경우 (예: shape-inside, shape-subtract, mask 속성 등), 사용자 에이전트는 타겟 요소를 식별하고 해당 요소가 유효한 타겟인지 판단해야 합니다. 해석된 타겟 요소가 허용된 타입이 아니면, 참조 리소스는 전체 문서 파일이 되며, 타겟 프래그먼트는 이미지 처리 시 해당 파일 내에서 사용됩니다.
그 외 모든 경우, 해석된 타겟 요소 타입(또는 문서 타입)이 URL 참조에 허용되지 않으면, 잘못된 참조가 됩니다.
SVG는 링크(즉, 하이퍼링크 또는 웹 링크)를 나타내기 위해 ‘a’ 요소를 제공합니다. ‘a’ 요소가 ‘href’ 또는 ‘xlink:href’ 속성을 갖고 있으면 링크를 형성합니다; 이 속성이 없으면 ‘a’ 요소는 비활성 링크 자리 표시자 역할을 합니다.
SVG 1.1은 XLink 명세([XLink])에 따라 XLink 네임스페이스에 정의된 속성으로 링크를 정의했습니다. SVG 2는 HTML 링크와 일관된 기본 네임스페이스의 대체 속성 집합을 사용하며 XLink 속성은 사용 중단됨.
‘a’ 요소는 부모가 포함할 수 있는 모든 요소를 포함할 수 있지만, 다른 ‘a’ 요소는 포함할 수 없습니다; 동일한 요소가 그래픽 및 텍스트 링크 콘텐츠 모두에 사용됩니다. 링크는 중첩될 수 없습니다; ‘a’ 요소가 다른 하이퍼링크 요소(다른 네임스페이스 포함)의 후손이면, 사용자 에이전트는 해당 href 속성을 무시하고 비활성으로 처리해야 합니다. 잘못된 ‘a’ 요소도 일반 컨테이너 요소로 렌더링되어야 합니다.
잘못된 중첩 링크의 렌더링은 위험에 처해 있으며, ‘unknown’ 요소의 렌더링 결정과 동기화될 가능성이 높습니다.
포인터 이벤트 처리에서, 각 개별 렌더링된 요소에 대해 ‘a’ 요소 내에 링크 히트 영역이 정의됩니다 (해당 요소의 pointer-events 속성 값에 따라), ‘a’ 요소 자체의 경계 박스가 아니라 각 하위 요소 별로 지정됩니다. 사용자 에이전트는 모든 링크가 포커스 가능하고 키보드 명령으로 활성화될 수 있도록 보장해야 합니다.
원격 리소스(링크 목적지)는 ‘a’ 요소의 ‘href’ 속성으로 지정된 URL로 정의됩니다. 원격 리소스는 이미지, 동영상, 음성, 프로그램, 다른 SVG 문서, HTML 문서, 현재 문서 내의 요소, 다른 문서 내의 요소 등 모든 웹 리소스가 될 수 있습니다. 사용자가 링크를 활성화하면(마우스 클릭, 키보드 입력, 음성 명령 등), 사용자 에이전트는 지정된 리소스 문서를 가져와서 표시하거나 다운로드 파일로 제공해야 합니다.
예제 link01은 타원에 링크를 할당합니다.
<?xml version="1.0" standalone="no"?> <svg width="5cm" height="3cm" viewBox="0 0 5 3" version="1.1" xmlns="http://www.w3.org/2000/svg"> <desc>예제 link01 - 타원에 링크 적용 </desc> <rect x=".01" y=".01" width="4.98" height="2.98" fill="none" stroke="blue" stroke-width=".03"/> <a href="http://www.w3.org"> <ellipse cx="2.5" cy="1.5" rx="2" ry="1" fill="red" /> </a> </svg>
예제 link01
위의 SVG 파일을 SVG와 HTML을 모두 지원하는 사용자 에이전트로 보는 경우, 타원을 클릭하면 현재 창이나 프레임이 W3C 홈페이지로 대체됩니다.
속성 정의:
이름 | 값 | 초기값 | 애니메이션 가능 |
---|---|---|---|
href | URL [URL] | (없음) | 예 |
이름 | 값 | 초기값 | 애니메이션 가능 |
---|---|---|---|
target | _self | _parent | _top | _blank | <XML-Name> | _self | 예 |
여러 가능한 링크 목적지가 있을 때(예: 부모 문서가 HTML/XHTML 문서에 임베드되었거나 탭 브라우저에서 볼 때) 이 속성을 사용해야 합니다. 이 속성은 링크가 활성화될 때 문서를 열 브라우징 컨텍스트(예: 브라우저 탭, SVG/HTML/XHTML iframe 또는 object 요소)의 이름을 지정합니다:
브라우징 컨텍스트와 브라우징 컨텍스트 간 내비게이션 동작의 보안 제한에 대한 규범적 정의는 HTML [현행 표준]의 웹 페이지 로딩 장입니다.
이전 SVG 버전에서는 특별한 target 값 '_replace'를 정의했습니다. 이는 실제로 잘 구현되지 않았고, '_replace'와 '_self'의 차이는 HTML의 브라우징 컨텍스트 정의 변경으로 불필요해졌습니다. 현재 SVG 문서를 대체하려면 '_self'를 사용하세요.
'_new' 값은 유효한 target 값이 아닙니다. 새 탭/윈도우에서 문서를 열려면 '_blank'를 사용하세요.
이름 | 값 | 초기값 | 애니메이션 가능 |
---|---|---|---|
download | 아무 값(비어 있지 않으면, 값이 제안 파일명) | (없음) | 아니오 |
ping | 공백으로 구분된 유효한 비어있지 않은 URL 토큰 [현행 표준] | (없음) | 아니오 |
rel | 공백으로 구분된 키워드 토큰 [현행 표준] | (없음) | 아니오 |
hreflang | BCP 47 언어 태그 문자열 [현행 표준] | (없음) | 아니오 |
type | MIME 타입 문자열 [현행 표준] | (없음) | 아니오 |
referrerPolicy | referrer policy 문자열 [REFERRERPOLICY] | (없음) | 아니오 |
a
요소 정의를 따릅니다.
SVG 콘텐츠는 종종 어떤 대상을 그림이나 도면으로 표현하므로, 문서의 특정 뷰로 링크할 필요가 많습니다. 뷰란 문서의 특정 부분을 확대하여 보여줄 수 있도록 초기 변환을 지정하는 것을 의미합니다.
SVG 2 요구사항: | SVG 1.1 SE 텍스트와 SVG Tiny 1.2의 프래그먼트 식별자 링크 이동 텍스트를 병합하고 미디어 프래그먼트 추가. |
---|---|
결정: | SVG 2는 미디어 프래그먼트 식별자를 가짐. |
목적: | 미디어 프래그먼트 URI와 맞추기 위함. |
담당자: | Cyril (ACTION-3442) |
SVG 문서의 특정 뷰로 링크하려면 프래그먼트 식별자가 포함된 URL 참조가 올바르게 작성된 SVG 프래그먼트 식별자여야 합니다. SVG 프래그먼트 식별자는 MIME 미디어 타입 "image/svg+xml" 리소스를 지정하는 URL의 "selector" 또는 "fragment identifier" 부분의 의미를 정의합니다.
SVG 프래그먼트 식별자는 다음과 같은 형태로 작성할 수 있습니다:
SVG 프래그먼트 식별자는 다음과 같이 정의됩니다:
SVGFragmentIdentifier ::= BareName *( "&" timesegment ) | SVGViewSpec *( "&" timesegment ) | spacesegment *( "&" timesegment ) | timesegment *( "&" spacesegment ) BareName ::= XML_Name SVGViewSpec ::= 'svgView(' SVGViewAttributes ')' SVGViewAttributes ::= SVGViewAttribute | SVGViewAttribute ';' SVGViewAttributes SVGViewAttribute ::= viewBoxSpec | preserveAspectRatioSpec | transformSpec | zoomAndPanSpec viewBoxSpec ::= 'viewBox(' ViewBoxParams ')' preserveAspectRatioSpec = 'preserveAspectRatio(' AspectParams ')' transformSpec ::= 'transform(' TransformParams ')' zoomAndPanSpec ::= 'zoomAndPan(' ZoomAndPanParams ')'
여기서:
SVG 뷰박스 파라미터는 CSS 변환 명세대로 순서대로 적용됩니다(예: SVG 뷰가 ViewBoxParams에 따라 변환된 후, TransformParams에 따라 추가 변환됨).
프래그먼트 명세에는 공백을 사용할 수 있습니다. SVG 뷰 명세 내에서 숫자 값은 쉼표로 구분(예: #svgView(viewBox(0,0,200,200))), 속성은 세미콜론으로 구분(예: #svgView(viewBox(0,0,200,200);preserveAspectRatio(none)))합니다.
프래그먼트 식별자는 CSSOM 명세의 규칙에 따라 URL 이스케이프될 수 있습니다. 예를 들어, 세미콜론은 %3B로 이스케이프할 수 있으며, 이는 세미콜론이 리스트 구분자로 해석되는 것을 방지해 애니메이션 시 URL 리스트를 올바르게 처리할 수 있게 합니다.
네 가지 SVGViewAttribute 타입은 어떤 순서로든 올 수 있지만, 올바른 SVGViewSpec에서는 각 타입은 최대 한 번만 사용할 수 있습니다.
소스 문서가 SVG 문서로 링크를 수행할 때(예: HTML 앵커 요소 ([현행 표준]; 즉, <a href=...> HTML 요소) 또는 XLink 명세 [xlink] 등), SVG 프래그먼트 식별자는 SVG 문서의 초기 뷰를 다음과 같이 지정합니다:
‘view’ 요소는 다음과 같이 정의됩니다:
viewTarget 속성 제거하기로 결정됨.
결정: Paris 2015 F2F Day 3.
담당자: BogdanBrinza.
SVGElement 객체는 DOM에서 ‘a’ 요소를 나타냅니다.
[Exposed=Window] interface SVGAElement : SVGGraphicsElement { [SameObject] readonly attribute SVGAnimatedString target; attribute DOMString download; attribute USVString ping; attribute DOMString rel; [SameObject, PutsForward=value] readonly attribute DOMTokenList relList; attribute DOMString hreflang; attribute DOMString type; attribute DOMString text; attribute DOMString referrerPolicy; }; SVGAElement includes SVGURIReference; SVGAElement includes HTMLHyperlinkElementUtils;
target, download, ping, rel, hreflang, type IDL 속성은 동일한 이름의 콘텐츠 속성을 반영합니다.
relList IDL 속성은 ‘rel’ 콘텐츠 속성을 반영합니다.
referrerPolicy IDL 속성은 ‘referrerpolicy’ 콘텐츠 속성을 반영하며, 알려진 값만으로 제한됩니다.
text IDL 속성은, 값을 가져올 때는 해당 요소의 textContent IDL 속성과 같은 값을 반환하며, 값을 설정할 때는 textContent IDL 속성에 새 값이 설정된 것처럼 동작해야 합니다.
SVGViewElement 객체는 DOM에서 ‘view’ 요소를 나타냅니다.
[Exposed=Window] interface SVGViewElement : SVGElement {}; SVGViewElement includes SVGFitToViewBox; SVGViewElement includes SVGZoomAndPan;