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-dt-element"><dt></a> 023 * element. 024 * 025 * <p> 026 * The dt element represents the term, or name, part of a term-description group in a description 027 * list (dl element). It is used to mark up the term that is being defined or described in a 028 * description list. The dt element can contain any flow content and is typically followed by 029 * one or more dd elements that provide the definition or description for the term. 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 term</jc> 036 * Dt <jv>simple</jv> = <jsm>dt</jsm>(<js>"HTML"</js>); 037 * 038 * <jc>// Term with styling</jc> 039 * Dt <jv>styled</jv> = <jsm>dt</jsm>(<js>"CSS"</js>) 040 * .class_(<js>"term"</js>); 041 * 042 * <jc>// Term with complex content</jc> 043 * Dt <jv>complex</jv> = <jsm>dt</jsm>( 044 * <js>"JavaScript"</js>, 045 * <jsm>span</jsm>().class_(<js>"abbrev"</js>).children(<js>" (JS)"</js>) 046 * ); 047 * 048 * <jc>// Term with links</jc> 049 * Dt <jv>withLinks</jv> = <jsm>dt</jsm>( 050 * <js>"Web Standards"</js>, 051 * <jsm>a</jsm>(<js>"/standards"</js>, <js>" (Learn More)"</js>) 052 * ); 053 * 054 * <jc>// Term with ID</jc> 055 * Dt <jv>withId</jv> = <jsm>dt</jsm>(<js>"HTML"</js>) 056 * .id(<js>"html-term"</js>); 057 * 058 * <jc>// Term with styling</jc> 059 * Dt <jv>styled2</jv> = <jsm>dt</jsm>(<js>"API"</js>) 060 * .style(<js>"font-weight: bold; color: blue;"</js>); 061 * 062 * <jc>// Term with multiple elements</jc> 063 * Dt <jv>multiple</jv> = <jsm>dt</jsm>( 064 * <js>"Responsive Design"</js>, 065 * <jsm>span</jsm>().class_(<js>"new"</js>).children(<js>" (New)"</js>), 066 * <jsm>span</jsm>().class_(<js>"popular"</js>).children(<js>" (Popular)"</js>) 067 * ); 068 * </p> 069 * 070 * <p> 071 * The following convenience methods are provided for constructing instances of this bean: 072 * <ul class='javatree'> 073 * <li class='jc'>{@link HtmlBuilder} 074 * <ul class='javatree'> 075 * <li class='jm'>{@link HtmlBuilder#dt() dt()} 076 * <li class='jm'>{@link HtmlBuilder#dt(Object...) dt(Object...)} 077 * </ul> 078 * </ul> 079 * </p> 080 * 081 * <h5 class='section'>See Also:</h5><ul> 082 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 083 * </ul> 084 */ 085@Marshalled(typeName = "dt") 086public class Dt extends HtmlElementMixed<Dt> { 087 088 /** 089 * Creates an empty {@link Dt} element. 090 */ 091 public Dt() {} 092 093 /** 094 * Creates a {@link Dt} element with the specified child nodes. 095 * 096 * @param children The child nodes. 097 */ 098 public Dt(Object...children) { 099 children(children); 100 } 101 102}