Open Graph 네임 스페이스 선언 : XMLNS 또는 머리 접두사가있는 HTML?


129

Open Graph 네임 스페이스를 가장 잘 구현하는 방법에 대한 상충되는 정보를 보았습니다. 특히 Open Graph 웹 사이트는 몇 가지 다른 방법을 사용하며 Facebook Open Graph 예제는 다른 방법을 사용합니다.

오픈 그래프 웹 사이트 예제 (HTML 접두사 속성 사용) :

<html prefix="og: http://ogp.me/ns#">

HTML XMLNS 속성을 사용하여 Open Graph 웹 사이트 소스 코드 :

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">

Facebook Open Graph 문서 (HEAD 접두사 속성 사용) :

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">

Facebook Open Graph 문서 # 2 (HTML XMLNS 속성 사용) :

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" 
      xmlns:fb="https://www.facebook.com/2008/fbml">

권장되는 방법은 무엇입니까, 심지어 중요하지 않습니까?


9
FB에서 내부적으로 후속 답변을 드리고자합니다.
Simon Cross

7
@SimonCross, 몇 년 후 (2017 년 11 월) 우리는 여전히 답을 기다리고 있습니다 ...;)
Helmut Granda

답변:


73

그것들은 모두 동등하며 모두 작동합니다.

새로운 권장 방법이며 더 적은 문자로 접두사를 사용하십시오.

모든 설명서를 접두사로 업데이트하겠습니다.


4
아무것도 사용하지 않는지 설명해 주 시겠습니까? 이 선언을 그냥 내버려두면 어떨까요? 내가 그렇게하면 아무것도 깨지나요?
andrewrk

3
지금 당장은 아무 것도 깨지지 않지만, 기본 설정에 의존하는 것이 명시적일 수있는 좋은 아이디어는 아닙니다. 2 년이 지나도 기본 설정이 변경되면 사이트가 중단됩니다. 또한 네임 스페이스를 직접 선언하면 Facebook뿐만 아니라 다른 파서에도 도움이됩니다.
Paul Tarjan

1
폴, 나는 문서가 11 월 이후 업데이트되지 않았다는 것을 알아 차렸다. 미래의 모든 기존 브라우저에서 두 가지 방법을 모두 지원할 경우 새로운 방법을 사용하는 것이 가장 좋은 이유는 무엇입니까? 사용자 에이전트, 파서 등 지원이 모두없는 경우 새로운 것을 채택하는 것은 둘 사이에 약간의 차이가 없다면 불필요한 위험처럼 보입니다. 나는 그렇게 말하는 자원을 찾을 수 없었습니다.
AndrewF

3
@PaulTarjan 여기 ! 그 중 하나를 사용하는 예가 xmlns있습니다. 또한 prefixhtml또는 head태그를 사용해야 합니까? 어느 쪽이든 괜찮을까요? 어느 것이 권장됩니까?
its_me

9
아, 그 문서는 낡았습니다. 상단의 노란색이 그렇게 말합니다. 우리는 그것들이 많이 참조되기 때문에 그것들을 만지고 싶지 않았습니다. 를 붙이 prefixhead. 둘 다 작동하지만 태그에 더 가깝습니다.
Paul Tarjan

4

나는 머리에 접두사를 사용하는 @Paul Tarjan의 대답을 따라 갔다. 그러나 Internet Explorer 8 문제가 있습니다. 결국 나는 여전히 fb 네임 스페이스에 xmlns 방식을 사용합니다.

<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
  <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">

3

상관 없습니다. RDFa Core Initial Context 는 널리 사용되는 어휘 접두어로 인식 og 합니다.

RDFa 사용자는 HTML 코드에서 접 두부를 정의 할 필요없이 이러한 접 두부 사용할 수 있습니다 . URI에서 JSON-LD 컨텍스트 와 동일한 접두사 목록도 JSON-LD에 대해 정의되었습니다 http://www.w3.org/2013/json-ld-context/rdfa11. JSON-LD 사용자는 @context동일한 접두사를 사용하기 위해 해당 URI와 함께 키를 속기로 사용할 수 있습니다.

명확성을 강조했다.

따라서 HTML 문서에 네임 스페이스를 추가 할 필요가 없습니다. 자세한 내용은 여기를 참조 하십시오 .


2
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>

확인하는 가장 좋은 방법이 있습니다.


1

prefix / xmlns 속성은 속기를 정의하는 데 유용합니다. rdf는 xml 계보에서 유래하므로 xmlns 표기법은 doctype detail과 독립적으로 작동해야합니다. rdfa는 http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax 에서 제공 한 접두사를 포함한 속성으로 HTML을 확장합니다 . 그러나 http : // dev를 준수해야합니다 . w3.org/html5/rdfa/rdfa-module.html 또한, 언급 된 바와 같이 rel = "profile"에 대한 툴 지원이 아직 기다리고있다. 그때까지는 선택의 여지가 오래된 doctype을 사용하거나 rdf :를 수동으로 배치하는 것입니다. 선언의 올바른 장소는 속기 표기법이 사용되는 곳의 조상 인 모든 요소 여는 태그입니다. 특히 og 접두사의 경우 RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.html 의 초기 컨텍스트에 의해 사전 정의되어 있으므로 새로운 doctype에 대해서는 생략하지 않아도됩니다. 특히 html5의 경우 RDFa 초기 컨텍스트 http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 은 앞서 언급 한 RDFa 초기 컨텍스트 이후에만로드됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.