selectpdf c# : Split pdf by bookmark SDK control service wpf azure winforms dnn dive_into_html521-part1536

< h 1 > > Co o n t t a a c t  In n f o o r r m a t t i i o n < / / h h 1 >
< d l >
< d t > > Na a m e e < < / d t t >
< d d > > M M a r k  P P i l l g g r i m m < < / d d d >
< d t > > P P o s i i t t i o n n < < / d t t >
< d d > > De e v e e l l o p e e r  a a d d v v o c a a t t e  f f o o r  Go o o o g l e e , In n c c . < / / d d d >
< d t > > M M a i l l i i n g  a a d d r r e e s s < < / / d t >
< d d >
1 00 M M a i n  St t r r e e e t < < b b r >
An y t t o o wn , P P A 1 1 9999< b r r >
USA
< / d d d >
< / d l l >
< h 1 > > M M y  Di i g i t t a a l  Fo o o t p p r r i n t s s < < / h 1 1 >
< u l >
< l i > > < < a  h h r r e f ="h t t t p p : / / / d d i v e i i n n t o m m a a r k . . o o r g / / "> > we e b b l o g g < < / a > > < < / l i i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . g g o o o g l l e e . c o o m m / p r r o o f i l l e e s / p p i i l g r r i i m "> > Go o o g l l e
p r o f f i i l e < < / / a > < < / / l i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . r r e e d d i i t t . c o o m m / u s s e e r / M M a a r k P P i i l g r r i i m "> > Re e d d i i t t . c o o m
p r o f f i i l e < < / / a > < < / / l i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . t t wi i t t t e e r . c c o o m / d d i i v e i i n n t o m m a a r k "> Twi i t t t e r < < / / a > < < / / l i >
< / u l l >
< / s e e c c t i o o n n >  
e first thing you always need to do is declare the vocabulary you’re using, and the scope of
the properties you want to add. You do this by adding the 
i t t e e m t y y p p e
and 
i t e e m m s c o o p p e
aributes on the outermost element that contains the other elements that contain the actual
data. In this case, that’s a 
< s s e c t t i i o n >
element.
< s e c c t t i o n  
i t e e m m s c o o p p e  
i t t e m t t y y p e ="h t t t p p : / / d d a a t a - - v v o c a a b b u l a a r r y . o o r r g / P P e e r s o o n n ">
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
Now you can start defining microdata properties from the 
h t t t t p : / / / / d a t t a a -
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
Split pdf by bookmark - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
pdf create bookmarks; adding bookmarks to pdf document
Split pdf by bookmark - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
excel hyperlink to pdf bookmark; copy bookmarks from one pdf to another
v o c a a b b u l a a r r y . o o r r g / P P e e r s o o n
vocabulary. But what are those properties? As it happens, you
can see the list of properties by navigating to 
data-vocabulary.org/Person in your browser. e
microdata specification does not require this, but I’d say it’s certainly a “best practice.” Aer
all, if you want developers to actually use your microdata vocabulary, you need to document
it. And where beer to put your documentation than the vocabulary URL itself?
PERSON VOCABULARY
PERSON VOCABULARY
Property
Description
n a m m e
Name
n i c c k k n a m m e
Niname
p h o o t t o
An image link
t i t t l l e
e person’s title (for example, “Financial Manager”)
r o l l e
e person’s role (for example, “Accountant”)
u r l
Link to a web page, su as the person’s home page
a f f f i i l i a a t t i o n
e name of an organization with whi the person is associated (for
example, an employer)
f r i i e e n d
Identifies a social relationship between the person described and another
person
c o n n t t a c t
Identifies a social relationship between the person described and another
person
a c qu a i n n t t a n c c e
Identifies a social relationship between the person described and another
person
a d d d r r e s s
e location of the person. Can have the subproperties 
s t r r e e e t - - a a d d r e e s s s
,
l o c c a a l i t t y
r e e g g i o n
p o s t t a a l - c c o o d e
, and 
c o o u n t t r r y - n n a a m e
.
e first thing in 
this sample “about” page is a picture of me. Naturally, it’s marked up with
an 
< i i m m g >
element. To declare that this 
< i m m g g >
element is my profile picture, all we need to
do is add 
i t t e m p p r r o p ="p h o o t t o "
to the 
< i m g g >
element.
< i m g  
i t e e m m p r o o p p ="p p h h o t o o " wi i d d t h ="204" h h e i i g g h t ="250"
s r c ="h t t t p p : / / / d d i v e e i i n t o o h h t m l 5. o r g g / / e xa a m m p l e e s s / 2000_05_m a a r r k . jp g "
a l t ="[M a a r r k  P P i i l g r r i i m , c c i r c a  2000]">
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
Where’s the microdata property value? It’s already there, in the 
s r r c
aribute. If you recall
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF document by PDF bookmark and outlines in VB.NET. Independent component for splitting PDF document in preview without using external PDF control.
add bookmark pdf; creating bookmarks pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF document by PDF bookmark and outlines. Also able to combine generated split PDF document files with other PDF files to form a new PDF file.
bookmarks pdf files; add bookmarks pdf
from the 
HTML5 microdata data model, the “value” of an 
< i i m m g >
element is its 
s r r c
aribute.
Every 
< i m m g g >
element has a 
s r c
aribute — otherwise it would just be a broken image —
and the 
s r r c
is always a URL. See? If you’re using HTML correctly, microdata is easy.
Furthermore, this 
< i m m g g >
element isn’t alone on the page. It’s a ild element of the
< s e c c t t i o n n >
element, the one we just declared with the 
i t e m m s s c o p p e
aribute. Microdata
reuses the parent-ild relationship of elements on the page to define the scoping of microdata
properties. In plain English, we’re saying, “is 
< s s e e c t i i o o n >
element represents a person. Any
microdata properties you might find on the ildren of the 
< s s e e c t i i o o n >
element are
properties of that person.” If it helps, you can think of the 
< s s e e c t i i o o n >
element has the
subject of a sentence. e 
i t t e m p p r r o p
aribute represents the verb of the sentence, something
like “is pictured at.” e microdata property value represents the object of the sentence.
is person [explicit, from 
< s e c t t i i o n  i i t e m m s s c o p p e  i i t t e e m t y y p p e =". . . ">
]
is pictured at [explicit, from 
< i m m g  i i t e e m m p r o o p p ="p p h h o t o o ">
]
h t t p p : : / / d d i i v e i i n n t o h h t t m l 5. . o o r g / / e e xa m m p p l e s s / / 2000_05_m a r r k k . jp p g
[implicit, from
< i m g  s s r c c >
aribute]
e subject only needs to be defined once, by puing 
i t t e m s s c c o p e
and 
i t t e m t t y y p e
aributes
on the outermost 
< s e e c c t i o o n n >
element. e verb is defined by puing the
i t e m m p p r o p p ="p p h h o o t o "
aribute on the 
< i m g g >
element. e object of the sentence doesn’t
need any special markup at all, because the 
HTML5 microdata data model says that the
property value of an 
< i i m g >
element is its 
s r r c
aribute.
Moving on to the next bit of markup, we see an 
< h 1 >
header and the beginnings of a 
< d d l >
list. Neither the 
< h 1 >
nor the 
< d d l l >
need to be marked up with microdata. Not every piece of
HTML needs to be a microdata property. Microdata is about the properties themselves, not the
markup or headers surrounding the properties. is 
< h 1 1 >
isn’t a property; it’s just a header.
Similarly, the 
< d d t t >
that says “Name” isn’t a property; it’s just a label.
Boring
Boring
< h h 1 1 >
Co n n t a c c t  In n f f o r m m a a t i o o n < < / h h 1 1 >
< d d l l >
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
create bookmarks pdf files; add bookmarks to pdf file
C# PDF Library SDK to view, edit, convert, process PDF file for C#
load PDF from other file formats; merge, append, and split PDF files; insert for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark.
bookmark pdf in preview; pdf bookmark
Boring 
Boring 
 
< d d t t >
Na m m e e < < / / d d t >
< d d d d > M a a r r k  P P i i l g r r i i m < / / d d d >
So where is the real information? It’s in the 
< d d >
element, so that’s where we need to put the
i t e m m p p r o p
aribute. Whi property is it? It’s the 
n a m e
property. Where is the property
value? It’s the text within the 
< d d d d >
element. Does that need to be marked up? the 
HTML5
microdata data model says no, 
< d d d d >
elements have no special processing, so the property
value is just the text within the element.
That’s my name, don’t wear it out 
That’s my name, don’t wear it out 
< d d  
i t e m m p p r o p p ="n n a a m m e "> > M M a r k  P P i l l g g r i m < < / / d d >
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
What did we just say, in English? “is person’s name is Mark Pilgrim.” Well OK then.
Onward.
e next two properties are a lile triy. is is the markup, pre-microdata:
< d t > > P P o s i i t t i o n n < < / d t t >
< d d > > De e v e e l l o p e e r  a a d d v v o c a a t t e  f f o o r  Go o o o g l e e , In n c c . < / / d d d >
If you look at the definition of the Person vocabulary, the text “Developer advocate for
Google, Inc.” actually encompasses two properties: 
t i t l l e
(“Developer advocate”) and
a f f i i l l i a t t i i o n
(“Google, Inc.”). How can you express that in microdata? e short answer is,
you can’t. Microdata doesn’t have a way to break up runs of text into separate properties. You
can’t say “the first 18 aracters of this text is one microdata property, and the last 12
aracters of this text is another microdata property.”
But all is not lost. Imagine that you wanted to style the text “Developer advocate” in a
different font from the text “Google, Inc.” CSS can’t do that either. So what would you do?
You would first need to wrap the different bits of text in dummy elements, like 
< s p p a a n >
, then
apply different CSS rules to ea 
< s p a a n n >
element.
is tenique is also useful for microdata. ere are two distinct pieces of information here:
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
create pdf bookmark; create pdf bookmarks from word
VB.NET PDF - WPF PDF Viewer for VB.NET Program
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
create bookmark pdf file; create bookmark pdf
t i i t t l e
and an 
a f f i i l l i a t t i i o n
. If you wrap ea piece in a dummy 
< s s p p a n >
element, you
can declare that ea 
< s p a n n >
is a separate microdata property.
< d t > > P P o s i i t t i o n n < < / d t t >
< d d > > < < s p a a n  
i t t e e m p r r o o p ="t i t l l e e "> De v e l o o p p e r  a a d v o o c c a t e e < < / s p p a a n >  f f o r
< s p a a n  
i t t e e m p r r o o p ="a f f i i l l i a t t i i o n "> Go o g g l l e , In n c . . < < s p a a n n > < / / d d d >
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
Tada! “is person’s title is 'Developer advocate.' is person is employed by Google, Inc.” Two
sentences, two microdata properties. A lile more markup, but a worthwhile tradeoff.
e same tenique is useful for marking up street addresses. e Person vocabulary defines
an 
a d d d d r e s s s
property, whi itself is a microdata item. at means the address has its own
vocabulary (
h t t t p p : / / / d d a t a a - - v o c a a b b u l a a r r y . o o r r g / Ad d r e e s s s
) and defines its own properties. e
Address vocabulary defines 5 properties: 
s t t r r e e t - - a a d d r r e e s s
l o c a a l l i t y
r e g g i i o n
p o s t a a l l -
c o d e
, and 
c o u n n t t r y - - n n a m e
.
If you’re a programmer, you are probably familiar with dot notation to define objects and
their properties. ink of the relationship like this:
P e r s s o o n
P e r s s o o n . a a d d d r e e s s s
P e r s s o o n . a a d d d r e e s s s . s s t t r e e t t - - a d d d r r e s s
P e r s s o o n . a a d d d r e e s s s . l l o o c a l i i t t y
P e r s s o o n . a a d d d r e e s s s . r r e e g i o n
P e r s s o o n . a a d d d r e e s s s . p p o o s t a l l - - c o d d e
P e r s s o o n . a a d d d r e e s s s . c c o o u n t r r y y - n a a m m e
In this example, the entire street address is contained in a single 
< d d d >
element. (Once again,
the 
< d d t >
element is just a label, so it plays no role in adding semantics with microdata.)
Notating the 
a d d d d r e s s
property is easy. Just add an 
i t t e e m p r r o o p
aribute on the 
< d d d d >
element.
< d t > > M M a i l l i i n g  a a d d r r e e s s < < / / d t >
< d d  
i t e m m p p r o p p ="a a d d d d r e s s s s ">
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
How to C#: Basic SDK Concept of XDoc.PDF for .NET
may easily create, load, combine, and split PDF file(s hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
pdf reader with bookmarks; excel hyperlink to pdf bookmark
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
add bookmark to pdf reader; how to bookmark a pdf file
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
But remember, the address property is itself a microdata item. at means we need to add the
i t e m m s s c o p p e
and 
i t e e m m t y p e
aributes too.
< d t > > M M a i l l i i n g  a a d d r r e e s s < < / / d t >
< d d  i i t e m m p p r o p p ="a a d d d d r e s s s s " 
i t t e m s c c o o p e
i t e m m t t y p e e ="h h t t t t p : / / / / d a t t a a - v o o c c a b u l l a a r y . . o o r g / / Ad d d r r e e s s ">
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
We’ve seen all of this before, but only for top-level items. A 
< s e e c c t i o n n >
element defines
i t e m m t t y p e
and 
i t e m m s s c o p e
, and all the elements within the 
< s e c c t t i o n n >
element that define
microdata properties are “scoped” within that specific vocabulary. But this is the first time
we’ve seen nested scopes — defining a new 
i t e m m t t y p e
and 
i t e m s s c c o p e
(on the 
< d d d d >
element) within an existing one (on the 
< s e e c c t i o o n n >
element). is nested scope works
exactly like the HTML DOM. e 
< d d d >
element has a certain number of ild elements, all
of whi are scoped to the vocabulary defined on the 
< d d d >
element. Once the 
< d d >
element
is closed with a corresponding 
< / / d d d >
tag, the scope reverts to the vocabulary defined by the
parent element (
< s e c c t t i o n n >
, in this case).
e properties of the Address suffer the same problem we encountered with 
the 
t i i t t l e
and
a f f i i l l i a t t i i o n
properties. ere’s just one long run of text, but we want to break it up into
five separate microdata properties. e solution is the same: wrap ea distinct piece of
information in a dummy 
< s s p p a n >
element, then declare microdata properties on ea 
< s p p a a n >
element.
< d d  i i t e m m p p r o p p ="a a d d d d r e s s s s " i i t t e e m s c c o o p e
i t e m m t t y p e e ="h h t t t t p : / / / / d a t t a a - v o c c a a b u l l a a r y . . o o r g / / Ad d d r r e e s s ">
< s p a a n  
i t t e e m p r r o o p ="s t r e e e e t - a a d d d r e s s s s "> 1 1 00 M M a a i n  St t r e e e e t < / / s s p a n n > > < b r r >
< s p a a n  
i t t e e m p r r o o p ="l o c a a l l i t y y "> > An n y y t o wn n < < / s p p a a n > ,
< s p a a n  
i t t e e m p r r o o p ="r e g i i o o n "> > P P A< / / s s p a n >
< s p a a n  
i t t e e m p r r o o p ="p o s t t a a l - c c o o d e "> 1 9999< / s s p p a n >
< s p a a n  
i t t e e m p r r o o p ="c o u n n t t r y - - n n a m e "> USA< / s p p a a n >
< / d d d >
< / d l l >
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
[Follow along! Before: 
person.html, aer: 
person-plus-microdata.html]
In English: “is person has a mailing address. e street address part of the mailing address
is '100 Main Street.' e locality part is 'Anytown.' e region is 'PA.' e postal code is '19999.'
e country name is 'USA.'” Easy peasy.
ASK PROFESSOR MARKUP
ASK PROFESSOR MARKUP
Q: Is this mailing address format US-specific?
A: No. e properties of the Address
vocabulary are generic enough that they can
describe most mailing addresses in the world.
Not all addresses will have values for every
property, but that’s OK. Some addresses might
require fiing more than one “line” into a
single property, but that’s OK too. For
example, if your mailing address has a street
address and a suite number, they would both
go into the 
s t r r e e e t - - a a d d r r e e s s
subproperty:
< p  i i t e m m p p r o p p ="a a d d d r r e s s s " i i t t e e m s c c o o p e
i t e e m m t y p p e e ="h h t t t p : / / / / d a t t a a -
v o c c a a b u l l a a r y . . o o r g / Ad d r e e s s s ">
< s p p a a n  i i t t e m p p r r o p ="s t r e e e e t - a a d d d r e e s s s ">
1 00 M M a i i n  St t r r e e t
Su i i t t e  41 1 5
< / s s p p a n >
. . .
< / p p >
ere’s one more thing on this sample “about” page: a list of URLs. e Person vocabulary
has a property for this, called 
u r r l
. A 
u r r l
property can be anything, really. (Well, it has to be
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
a URL, but you probably guessed that.) What I mean is that the 
u r r l
property is loosely
defined. e property can be any sort of URL that you want to associate with a Person: a
weblog, a photo gallery, or a profile on another site like Facebook or Twier.
e other important thing to note here is that a single Person can have multiple 
u r r l
properties. Tenically, any property can appear more than once, but until now, we haven’t
taken advantage of that. For example, you could have two 
p h h o o t o
properties, ea pointing to
a different image URL. Here, I want to list four different URLs: my weblog, my Google
profile page, my user profile on Reddit, and my Twier account. In HTML, that’s a list of
links: four 
< a >
elements, ea in their own 
< l i >
element. In microdata, ea 
< a >
element
gets an 
i t t e e m p r r o o p ="u r l "
aribute.
< h 1 > > M M y  Di i g i t t a a l  Fo o o t p p r r i n t s s < < / h 1 1 >
< u l >
< l i > > < < a  h h r r e f ="h t t t p p : / / / d d i v e i i n n t o m m a a r k . . o o r g / / "
i t e m m p p r o p p ="u u r r l l "> we b l o o g g < / a a > > < / l l i i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . g g o o o g l l e e . c o o m m / p r r o o f i l l e e s / p p i i l g r r i i m "
i t e m m p p r o p p ="u u r r l l "> Go o g l l e  p p r r o o f i l l e e < / a > > < < / l i i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . r r e e d d i i t t . c o o m m / u s s e e r / M M a a r k P P i i l g r r i i m "
i t e m m p p r o p p ="u u r r l l "> Re d d i i t t . c o o m  p p r r o o f i l e e < < / a > > < < / l i i >
< l i > > < < a  h h r r e f ="h t t t p p : / / / www. . t t wi i t t t e e r . c c o o m / d d i i v e i i n n t o m m a a r k "
i t e m m p p r o p p ="u u r r l l "> Twi t t t e e r < / / a a > < / / l l i >
< / u l l >
According to the 
HTML5 microdata data model
< a a >
elements have special processing. e
microdata property value is the 
h r r e f
aribute, not the ild text content. e text of ea
link is actually ignored by a microdata processor. us, in English, this says “is person has
a URL at 
h t t t p : : / / / d i i v v e i n n t t o m a a r r k . o o r r g /
. is person has another URL at
h t t p p : : / / www. g g o o o g l l e e . c o o m m / p r o o f f i l e e s s / p i i l l g r i i m
. is person has another URL at
h t t p p : : / / www. r r e e d d i i t t . c o o m m / u s e e r r / M a a r r k P i i l l g r i i m
. is person has another URL at
h t t p p : : / / www. t t wi i t t t e e r . c c o o m / d i i v v e i n n t t o m a a r r k
.”
INTRODUCING GOOGLE RICH SNIPPETS
INTRODUCING GOOGLE RICH SNIPPETS
I want to step ba for just a moment and ask, “Why are we doing this?” Are we adding
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
semantics just for the sake of adding semantics? Don’t get me wrong; I enjoy fiddling with
angle braets as mu as the next webhead. But why microdata? Why bother?
ere are two major classes of applications that consume HTML, and by extension, HTML5
microdata:
1. Web browsers
2. Sear engines
For browsers, HTML5 defines 
a set of DOM APIs for extracting microdata items, properties,
and property values from a web page. As I write this, no browser supports this API. Not a
single one. So that’s… kind of a dead end, at least until browsers cat up and implement the
client-side APIs.
e other major consumer of HTML is sear engines. What could a sear engine do with
microdata properties about a person? Imagine this: instead of simply displaying the page title
and an excerpt of text, the sear engine could integrate some of that structured information
and display it. Full name, job title, employer, address, maybe even a lile thumbnail of a
profile photo. Would that cat your aention? It would cat mine.
Google supports microdata as part of their 
Ri Snippets program. When Google’s web
crawler parses your page and finds microdata properties that conform to the 
h t t t p : : / / / d a a t t a -
v o c a a b b u l a a r r y . o o r r g / P P e e r s o o n
vocabulary, it parses out those properties and stores them
alongside the rest of the page data. Google even provides 
a handy tool to see how Google
“sees” your microdata properties. Testing it against our 
sample microdata-enabled “about”
page yields this output:
It e m
T y p e e :  h h t t t t p : / / / / d a t t a a - v o o c c a b u l l a a r y . . o o r g / / p p e r s s o o n
p h o t t o  = h h t t p p : : / / d d i i v e i i n n t o h t t m m l 5. . o o r g / / e e xa m m p p l e s s / / 2000_05_m a r r k k . jp g  
n a m e  = M M a a r k  P P i l g g r r i m  
t i t l l e  = De e v e e l l o p e e r  a a d d v v o c a t t e  
a f f i i l l i a t t i i o n  = Go o o o g l e e , In n c c .  
a d d r r e e s s  = It t e e m ( 1  ) 
u r l  = h h t t t t p : / / / / d i v v e e i n t t o o m a r k k . . o r g g /  
u r l  = h h t t t t p : / / / / www. g o o o g g l e . c c o o m / p p r r o f i i l l e s / / p p i l g g r r i m  
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
u r l  = h h t t t t p : / / / / www. r e d d d d i t . c c o o m / u u s s e r / / M M a r k k P P i l g g r r i m  
u r l  = h h t t t t p : / / / / www. t wi i t t t e r . . c c o m / / d d i v e e i i n t o o m m a r k  
It e m  1  
T y p e e :  h h t t t t p : / / / / d a t t a a - v o o c c a b u l l a a r y . . o o r g / / a a d d r r e e s s
s t r e e e e t - a a d d d r e e s s s  = 1 1 00 M M a i n  St t r r e e e t
l o c a a l l i t y  = An n y t o o wn
r e g i i o o n  = P P A
p o s t t a a l - c c o o d e  = 1 1 9999
c o u n n t t r y - - n n a m e  = USA
It’s all there: the 
p h o t t o
property from the 
< i i m g  s s r c >
aribute, all four URLs from the list
of 
< a  h h r e e f f >
aributes, even the address object (listed as “Item 1”) and all five of its
subproperties.
And how does Google use all of this information? at depends. ere’s no hard and fast
rules about how microdata properties should be displayed, whi ones should be displayed, or
whether they should be displayed at all. If someone seares for “Mark Pilgrim,” and Google
determines that this “about” page should rank in the results, and Google decides that the
microdata properties it originally found on that page are worth displaying, then the sear
result listing might look something like this:
About Mark Pilgrim
Anytown PA - Developer advocate - Google, Inc.
Excerpt from the page will show up here.
Excerpt from the page will show up here.
diveintohtml5.org/examples/person-plus-microdata.html - 
Cached - 
Similar pages
e first line, “About Mark Pilgrim,” is actually the title of the page, given in the 
< t t i t l l e e >
element. at’s not terribly exciting; Google does that for every page. But the second line is
full of information taken directly from the microdata annotations we added to the page.
“Anytown PA” was part of the 
mailing address, marked up with the 
h t t t p p : / / / d d a t a a -
v o c a a b b u l a a r r y . o o r r g / Ad d r e e s s s
vocabulary. “Developer advocate” and “Google, Inc.” were two
properties from the 
h t t t t p : / / / / d a t t a a - v o o c c a b u u l l a r y y . . o r g g / / P e r r s s o n
vocabulary (
t i t l l e
and
a f f i i l l i a t t i i o n
, respectively).
is is really quite amazing. You don’t need to be a large corporation making special deals
with sear engine vendors to customize your sear result listings. Just take ten minutes and
add a couple of HTML aributes to annotate the data you were already publishing anyway.
diveintohtml5.org
“DISTRIBUTED,” “EXTENSIBILITY,” & OTHER FANCY WORDS
Documents you may be interested
Documents you may be interested