001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.juneau.bean.html5; 018 019import org.apache.juneau.marshall.*; 020 021/** 022 * DTO for an HTML <a class="doclink" href="https://www.w3.org/TR/html5/grouping-content.html#the-dd-element"><dd></a> 023 * element. 024 * 025 * <p> 026 * The dd element represents the description, definition, or value, part of a term-description group 027 * in a description list (dl element). It is used to provide the definition or description for the 028 * term that precedes it in a dt element. The dd element can contain any flow content and is typically 029 * used within a dl element to create definition lists, glossaries, or other term-description pairs. 030 * 031 * <h5 class='section'>Examples:</h5> 032 * <p class='bcode w800'> 033 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 034 * 035 * <jc>// Simple definition</jc> 036 * Dd <jv>simple</jv> = <jsm>dd</jsm>(<js>"A markup language used to create web pages."</js>); 037 * 038 * <jc>// Definition with styling</jc> 039 * Dd <jv>styled</jv> = <jsm>dd</jsm>(<js>"A programming language for web development."</js>) 040 * .class_(<js>"definition"</js>); 041 * 042 * <jc>// Definition with complex content</jc> 043 * Dd <jv>complex</jv> = <jsm>dd</jsm>( 044 * <js>"A "</js>, 045 * <jsm>strong</jsm>(<js>"hypertext"</js>), 046 * <js>" markup language used to create "</js>, 047 * <jsm>em</jsm>(<js>"web pages"</js>), 048 * <js>"."</js> 049 * ); 050 * 051 * <jc>// Definition with multiple paragraphs</jc> 052 * Dd <jv>multiple</jv> = <jsm>dd</jsm>( 053 * <jsm>p</jsm>(<js>"A programming language that runs in web browsers."</js>), 054 * <jsm>p</jsm>(<js>"It is commonly used for creating interactive web applications."</js>) 055 * ); 056 * 057 * <jc>// Definition with links</jc> 058 * Dd <jv>withLinks</jv> = <jsm>dd</jsm>( 059 * <js>"A "</js>, 060 * <jsm>a</jsm>(<js>"/css"</js>, <js>"styling language"</js>), 061 * <js>" used to describe the presentation of "</js>, 062 * <jsm>a</jsm>(<js>"/html"</js>, <js>"HTML"</js>), 063 * <js>" documents."</js> 064 * ); 065 * 066 * <jc>// Definition with ID</jc> 067 * Dd <jv>withId</jv> = <jsm>dd</jsm>(<js>"A styling language for web documents."</js>) 068 * .id(<js>"css-definition"</js>) 069 * .children(<js>"Cascading Style Sheets - a language for describing the presentation of web pages."</js>); 070 * 071 * <jc>// Definition with styling</jc> 072 * Dd <jv>styled2</jv> = <jsm>dd</jsm>(<js>"A server-side scripting language for web development."</js>) 073 * .style(<js>"margin-left: 20px; color: #666;"</js>); 074 * </p> 075 * 076 * <p> 077 * The following convenience methods are provided for constructing instances of this bean: 078 * <ul class='javatree'> 079 * <li class='jc'>{@link HtmlBuilder} 080 * <ul class='javatree'> 081 * <li class='jm'>{@link HtmlBuilder#dd() dd()} 082 * <li class='jm'>{@link HtmlBuilder#dd(Object...) dd(Object...)} 083 * </ul> 084 * </ul> 085 * </p> 086 * 087 * <h5 class='section'>See Also:</h5><ul> 088 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 089 * </ul> 090 */ 091@Marshalled(typeName = "dd") 092public class Dd extends HtmlElementMixed<Dd> { 093 094 /** 095 * Creates an empty {@link Dd} element. 096 */ 097 public Dd() {} 098 099 /** 100 * Creates a {@link Dd} element with the specified child nodes. 101 * 102 * @param children The child nodes. 103 */ 104 public Dd(Object...children) { 105 children(children); 106 } 107 108}