StrategiesForUsingMetadata

595 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
595
On SlideShare
0
From Embeds
0
Number of Embeds
331
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Suite Solutions: DITA Quick Start Training for Authors iDTP, March 16-18, 2009
  • StrategiesForUsingMetadata

    1. 1. Strategies for Using Metadata Reuven Weiser, Suite Solutions
    2. 2. Who am I? <ul><li>Background in Computer Science and Education </li></ul><ul><li>Experience in several computer companies over the past decade </li></ul><ul><ul><li>Web applications </li></ul></ul><ul><ul><li>Server- and Client-side applications </li></ul></ul><ul><li>Early member of the Suite Solutions team </li></ul><ul><ul><li>On-site and online training seminars </li></ul></ul><ul><ul><li>PDF and HTML style sheet projects </li></ul></ul><ul><ul><li>CMS integration </li></ul></ul><ul><ul><li>Project Management </li></ul></ul>
    3. 3. What is Suite Solutions? <ul><li>Our Mission </li></ul><ul><li>To increase our customers’ profitability by significantly improving the efficiency of their information development and delivery processes. </li></ul><ul><li>Qualitative Advantage </li></ul><ul><li>Content Lifecycle Implementation (CLI) is Suite Solutions’ comprehensive approach – from concept to publication – to maximizing the value of your information assets. </li></ul><ul><li>Our professionals are with you at every phase, determining, recommending and implementing the most cost-effective, flexible and long term solution for your business. </li></ul>
    4. 4. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    5. 5. What is metadata? Source: http://itmanagement.earthweb.com/cnews/article.php/3878261/Tech-Comics-Whats-Metadata.htm
    6. 6. What is metadata? <ul><li>Metadata is “data about data” </li></ul><ul><li>It can be used to describe the nature of a publication or topic, or the nature of the product that the publication or topic is about. </li></ul><ul><li>Why is it helpful? </li></ul><ul><li>It allows for the inclusion of information aside from the actual document content. </li></ul><ul><li>Examples: </li></ul><ul><li>Copyright information </li></ul><ul><li>Product version </li></ul><ul><li>Source documents </li></ul>
    7. 7. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    8. 8. Metadata options Default options <ul><li>The DITA language specification offers a wide variety of default metadata tags </li></ul><ul><li>Metadata can be applied to an entire map, a submap, or an individual topic </li></ul><ul><li>The default tags available depend on whether the content is organized in a ditamap or a bookmap </li></ul><ul><li>Full reference can be found online: http://docs.oasis-open.org/dita/v1.1/OS/langspec/ditaref-type.html </li></ul>
    9. 9. Metadata options Default options: (dita)map/topicmeta
    10. 10. Metadata options Default options: bookmap/bookmeta
    11. 11. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    12. 12. Metadata options Custom options <ul><li>A number of approaches exist for including types of metadata not directly or specifically supported by the default tags: </li></ul><ul><li>outputclass attribute </li></ul><ul><li><othermeta> element </li></ul><ul><li><data> element </li></ul><ul><li>Specialization </li></ul>
    13. 13. Metadata options Custom options: outputclass <ul><li>Goal: </li></ul><ul><li>A client wants a publication to have a title and a subtitle on the cover page, and a different title in the running header </li></ul><ul><li>Challenge: </li></ul><ul><li>The <booktitle> element supports only <mainbooktitle> and <booktitlealt> </li></ul><ul><li>Solution: </li></ul><ul><li>Use outputclass! </li></ul><ul><li>Example: </li></ul><ul><li><booktitle> <mainbooktitle> Your New Gadget </mainbooktitle> <booktitlealt outputclass= “subtitle” > An Overview </booktitlealt> <booktitlealt outputclass= “header_title” > New Gadget </booktitlealt> </booktitle> </li></ul>
    14. 14. Metadata options Custom options <ul><li>outputclass attribute </li></ul><ul><li><othermeta> element </li></ul><ul><li><data> element </li></ul><ul><li>Specialization </li></ul>
    15. 15. Metadata options Custom options: <othermeta> <ul><li>Goal: </li></ul><ul><li>A client wants to indicate whether a publication relates to a hardware product or a software product </li></ul><ul><li>Challenge: </li></ul><ul><li>There is no default metadata element intended for that piece of information (<category> may be used for something else) </li></ul><ul><li>Solution: </li></ul><ul><li>Use <othermeta>! </li></ul><ul><li>Example: </li></ul><ul><li><othermeta name= “product_type” content= “software” /> </li></ul>
    16. 16. Metadata options Custom options <ul><li>outputclass attribute </li></ul><ul><li><othermeta> element </li></ul><ul><li><data> element </li></ul><ul><li>Specialization </li></ul>
    17. 17. Metadata options Custom options: <data> <ul><li>Goal: </li></ul><ul><li>A client wants to display a series of contact information on the back cover </li></ul><ul><li>Sample: </li></ul>
    18. 18. Metadata options Custom options: <data> <ul><li>Challenge: </li></ul><ul><li>There are no default metadata tags that provide that structure and allow that flexibility </li></ul><ul><li>Solution: </li></ul><ul><li>Use <data>! </li></ul>
    19. 19. Metadata options Custom options: <data> <ul><li>Example: </li></ul><ul><li><data name= “contacts” > <data name= “contact” > <data name= “name” > BigCorp Inc. USA </data> <data> Worldwide Headquarters </data> <data> 7070 Wilshire Circle </data> <data> Boulder, Colorado 80301 </data> <data> T +1 303-555-5200 </data> <data> T +1 800-555-6277 </data> <data> F +1 303-555-8459 </data> <data name= “url” > www.bigcorp.com </data> </data> <data name= “contact” > <data name= “name” > BigCorp Europe </data> <data> Subdivision Management </data> <data> Hydrostraat 1 </data> <data> 6718 WX Ede </data> <data> The Netherlands </data> <data> T +31 (0) 318 555 555 </data> <data> F +31 (0) 318 555 556 </data> <data name= “url” > www.bigcorp.nl </data> </data> </li></ul> <data name= “contact” > <data name= “name” > BigCorp Asia </data> <data> Subdivision Management </data> <data> 1 Dragon Crescent </data> <data> Singapore 128461 </data> <data> Republic of Singapore </data> <data> T +65 5555-8211 </data> <data> F +65 5555-8003 </data> </data> <data name= “contact” > <data name= “name” > BigCorp UK </data> <data> Subdivision Management Limited </data> <data> Shepsfield Way </data> <data> Crackerbury Industrial Estate </data> <data> Stockport SK6 2SU U.K. </data> <data> T +44 0870 555 1978 </data> <data> F +44 0800 555 181 </data> </data> </data>
    20. 20. Metadata options Custom options <ul><li>outputclass attribute </li></ul><ul><li><othermeta> element </li></ul><ul><li><data> element </li></ul><ul><li>Specialization </li></ul>
    21. 21. Metadata options Custom options: Specialization <ul><li>Goal: </li></ul><ul><li>A client wants to indicate whether a publication relates to a hardware product or a software product, but doesn’t want authors to have to remember the correct value for the “name” attribute, and wants to limit the possible values to “hardware”, “software” or “system” </li></ul><ul><li>Challenge: </li></ul><ul><li>Limiting values isn’t possible with approaches discussed so far </li></ul><ul><li>Solution: </li></ul><ul><li>Specialize the <category> element! </li></ul><ul><li>Example: </li></ul><ul><li><prodcategory value= “software” /> </li></ul>
    22. 22. Metadata options Custom options <ul><li>outputclass attribute </li></ul><ul><li><othermeta> element </li></ul><ul><li><data> element </li></ul><ul><li>Specialization </li></ul>
    23. 23. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    24. 24. Extracting metadata Basic technique <ul><li>Metadata: </li></ul><ul><li><bookmeta> <prodinfo> <prodname> My Product </prodname> <vrmlist> <vrm version= “2.4” /> </vrmlist> </prodinfo> </bookmeta> </li></ul><ul><li>The “Right” Way: </li></ul><ul><li><xsl:value-of select= “/*[contains(@class, ' bookmap/bookmap ')]/ </li></ul><ul><li>opentopic:map/*[contains(@class, ' bookmap/bookmeta ')]/ </li></ul><ul><li>*[contains(@class, ' topic/prodinfo ')][1]/ </li></ul><ul><li>*[contains(@class, ' topic/vrmlist ')]/ </li></ul><ul><li>*[contains(@class, ' topic/vrm ')][1]/@version” /> </li></ul><ul><li>The Easy Way: </li></ul><ul><li><xsl:value-of select= “//*[contains(@class, ' topic/vrm ')][1]/@version” /> </li></ul>
    25. 25. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    26. 26. Extracting metadata Tips <ul><li>For best performance, avoid using “//” </li></ul><ul><li>Be sure to note which metadata elements allow multiple instances, and restrict accordingly </li></ul><ul><li>For easy reuse, declare variables: </li></ul><ul><ul><li><xsl:variable name= “version” > </li></ul></ul><ul><ul><li><xsl:value-of select=“ /*[contains(@class, ' bookmap/bookmap ')]/ </li></ul></ul><ul><ul><li>opentopic:map/*[contains(@class, ' bookmap/bookmeta ')]/ </li></ul></ul><ul><ul><li>*[contains(@class, ' topic/prodinfo ')][1]/ </li></ul></ul><ul><ul><li>*[contains(@class, ' topic/vrmlist ')]/ </li></ul></ul><ul><ul><li>*[contains(@class, ' topic/vrm ')][1]/@version” /> </li></ul></ul><ul><ul><li></xsl:variable > </li></ul></ul><ul><ul><li><xsl:value-of select= “$version” > </li></ul></ul>
    27. 27. Extracting metadata Tips <ul><li>When designing cover pages, start with the FO and work your way back to the XSL </li></ul><ul><li>Some helpful header/footer information can be retrieved from markers in addition to metadata </li></ul><ul><ul><li>Example: </li></ul></ul><ul><ul><li><fo:retrieve-marker retrieve-class-name= “current-header” /> </li></ul></ul>
    28. 28. Main Topics <ul><li>What is metadata? </li></ul><ul><li>Metadata options </li></ul><ul><ul><li>Default options </li></ul></ul><ul><ul><li>Custom options </li></ul></ul><ul><li>Extracting metadata using custom XSL </li></ul><ul><ul><li>Basic technique </li></ul></ul><ul><ul><li>Tips </li></ul></ul>
    29. 29. End of Strategies for Using Metadata <ul><li>Be in touch! Reuven Weiser [email_address] </li></ul><ul><li>Let us know how we can help you further… </li></ul><ul><ul><li>One-on-one support and training </li></ul></ul><ul><ul><li>CMS </li></ul></ul>

    ×