<?xml version="1.0" encoding="UTF-8"?>
<!--
pragmatickm-procedure-taglib - Procedures nested within SemanticCMS pages and elements in a JSP environment.
Copyright (C) 2014, 2015, 2016, 2017, 2019, 2021, 2022, 2025, 2026  AO Industries, Inc.
    support@aoindustries.com
    7262 Bull Pen Cir
    Mobile, AL 36695

This file is part of pragmatickm-procedure-taglib.

pragmatickm-procedure-taglib is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

pragmatickm-procedure-taglib is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with pragmatickm-procedure-taglib.  If not, see <https://www.gnu.org/licenses/>.
-->
<taglib xmlns="https://jakarta.ee/xml/ns/jakartaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
                      https://jakarta.ee/xml/ns/jakartaee/web-jsptaglibrary_3_1.xsd"
  version="3.1">
  <!-- datePublished="2016-08-14T23:25:20-05:00" -->
  <!-- dateModified="2016-11-10T22:35:21-06:00" -->
  <description><![CDATA[
    <p>Procedures nested within <a target="_top" href="https://semanticcms.com/">SemanticCMS</a> pages and elements in a JSP environment.</p>
  ]]></description>
  <display-name>PragmaticKM Procedure Taglib</display-name>
  <tlib-version>
    <!-- Release: 2.0.0-POST-SNAPSHOT -->
    2.0.0
  </tlib-version>
  <short-name>procedure</short-name>
  <uri>https://pragmatickm.com/procedure/taglib/</uri>
  <tag>
    <!-- datePublished="2016-08-14T23:25:20-05:00" -->
    <!-- dateModified="2017-07-27T20:55:42-05:00" -->
    <description><![CDATA[
      <p class="semanticcms-tag-reference-summary">
        A procedure is a step-by-step set of instructions to carry-out a task.
      </p>
      <p>
        Must be nested inside a <a href="https://semanticcms.com/core/taglib/semanticcms-core.tld/tag-page">&lt;core:page&gt;</a> tag.
      </p>
    ]]></description>
    <name>procedure</name>
    <tag-class>com.pragmatickm.procedure.taglib.ProcedureTag</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
      <description><![CDATA[
        <p class="semanticcms-tag-reference-summary">
          A page-unique ID for the procedure.
        </p>
        <p>
          This will also be used as an anchor when generating links to the procedure.
          If not provided, is generated from the label.
          Ids generated from labels will be unique, but may change as page structure changes.
        </p>
      ]]></description>
      <name>id</name>
      <required>false</required>
      <deferred-value>
        <type>java.lang.String</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description><![CDATA[
        <p>Optional CSS style attribute.</p>
      ]]></description>
      <name>style</name>
      <required>false</required>
      <deferred-value>
        <type>java.lang.Object</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description><![CDATA[
        <p class="semanticcms-tag-reference-summary">
          A brief label for the procedure.
        </p>
        <p>
          Defaults to the page short title.
        </p>
      ]]></description>
      <name>label</name>
      <required>false</required>
      <deferred-value>
        <type>java.lang.String</type>
      </deferred-value>
    </attribute>
    <dynamic-attributes>true</dynamic-attributes>
  </tag>
  <tag>
    <!-- datePublished="2016-08-14T23:25:20-05:00" -->
    <!-- dateModified="2017-07-27T20:55:42-05:00" -->
    <description><![CDATA[
      <p class="semanticcms-tag-reference-summary">
        Writes a procedure tree as &lt;ul&gt; and &lt;li&gt; tags.
      </p>
      <p>
        Filters for only pages that have at least one procedure.
        The parent pages of any page that has a procedure will also be included.
      </p>
    ]]></description>
    <name>procedureTree</name>
    <tag-class>com.pragmatickm.procedure.taglib.ProcedureTreeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description><![CDATA[
        <p>The root page of the tree.</p>
      ]]></description>
      <name>root</name>
      <required>true</required>
      <deferred-value>
        <type>com.semanticcms.core.model.Page</type>
      </deferred-value>
    </attribute>
  </tag>
</taglib>
