[uf-discuss] Best Practice for fn and n?
Costello, Roger L.
costello at mitre.org
Sun Nov 5 07:51:37 PST 2006
Thanks Brian. Okay, let's see if I can articulate the rules for
determining the value of fn:
Case 1: The contents of the fn-containing element is pure text:
The value of fn is the pure text.
<cite class="fn">Mr. John Q. Public, M.D.</cite>
The value of fn is: Mr. John Q. Public, M.D.
Case 2: The fn-containing element has one or more value-containing
The value of fn is the concatentation of the value-containing element
<span class="value">John </span>
is the speaker. Mr.
will talk on ...
The value of fn is: concatenation('John ', 'Public') = John Public
Notice the importance of having a space after John
Case 3: The fn-containing element has one or more child elements:
The value of fn is obtained by:
1. concatenate the text outside the child elements with the text inside
the child elements.
2. normalize the resulting string.
<cite class="fn n">
The value of fn is:
This string is then normalized to: John Public
Are these the rules? Am I missing any other cases?
From: microformats-discuss-bounces at microformats.org
[mailto:microformats-discuss-bounces at microformats.org] On Behalf Of
Sent: Sunday, November 05, 2006 9:55 AM
To: Microformats Discuss
Subject: Re: RE: [uf-discuss] Best Practice for fn and n?
On 11/5/06, Costello, Roger L. <costello at mitre.org> wrote:
> Thanks Brian. I intuitively figured there was something wrong with
> using an empty abbr element.
> In fact, my first attempt was to do just as you suggest. However, I
> realized that there is a problem with that. Namely, when all the
> values are concatenated together we get this value for fn:
--- In this case, they would not be concatenated together.
Concatenation only happens with class="value". The white-space between
the nodes is considered as well. In HTML one or more white-space
values (space, tab, return) is considered one space unless you
explicitily use the . So your FN value would actually be:
With XSLT there is 'normalize-space' which converts that to the string
you would expect. "Mr. John Q. Public, M.D."
White-space is only preseved when you are using <pre> elements.
> One solution would be to add a space after each part:
--- in this case, it is not needed.
> Any suggestions on how to solve this problem?
--- i don't think it is a problem, unless you WANT to preserve the
white-space, then in that case, i would suggest using the <pre>
microformats-discuss mailing list
microformats-discuss at microformats.org
More information about the microformats-discuss