On Jun 7, 2006, at 9:43 AM, Tantek Çelik wrote:

Those of you who have written parsers out there (Scott Reynen, Assaf Arkin, Tails/Flocktails folks, Reevoo, etc.), if you could please take a look at modifying your code to implement object-include support for the microformats you parse (e.g. hCard, hCalendar, hReview), it would be good to know if the
adding support for the include-pattern is:

1. easy
2. possible, but a bit of work
3. possible, but challenging/hard
4. impossible

1. easy

I haven't yet included this in either of my parsers, but here's a proxy you can use to do inclusion for you:

http://microformat.makedatamakesense.com/object_includer/

Here is the relevant portion of code in PHP 5:

----
$objects = $dom->getElementsByTagName( 'object' );
                
for ( $i = 0; $i < $objects->length; $i++ )
{

        $object = $objects->item( $i );
        $classes = explode( ' ' , $object->getAttribute( 'class' ) );
        if ( in_array( 'include' , $classes ) )
        {

                $data = $object->getAttribute( 'data' );
                if ( $data[0] == '#' )
                {
                
                        $data_node = $dom->getElementById( substr( $data , 1 ) 
);
                        
                        if ( $data_node )
                        {
                        
                                $object->parentNode->replaceChild(
                                        $data_node->cloneNode( true ) , $object
                                );

                        } // if
                
                } // if
        
        } // if

} // for
----

On Jun 7, 2006, at 11:57 AM, Michael Leikam wrote:

Since the X2V parser is not producing
what I'd hoped, I'd like some feedback on how the markup
could be improved.

I don't think you should be changing your code to suit a parser's divergence from the current spec. Here's a ridiculous URL of your data in vCard, after piping the document through two proxies:

<http://suda.co.uk/projects/X2V/get-vcard.php?uri=http%3A%2F% 2Fmicroformat.makedatamakesense.com%2Fobject_includer%2F%3Furl%3Dhttp% 253A%252F%252Fdaf.csulb.edu%252Forganization%252Ftelecom_hcard- test.html>

It turns out the emails aren't being parsed even after the inclusion is done with the root referenced node. I believe this is because you're putting them in <area> tags, and the hcard spec only allows them to be put in <a> tags:

'Similarly, EMAIL in vCard becomes <a class="email" href="mailto:...";>...</a>'

http://microformats.org/wiki/hcard#More_Semantic_Equivalents

Peace,
Scott_______________________________________________
microformats-discuss mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-discuss

Reply via email to