]> granicus.if.org Git - docbook-dsssl/commitdiff
Added new stylesheet parameters for profiling.
authorJirka Kosek <jirka@kosek.cz>
Sun, 3 Mar 2002 19:21:29 +0000 (19:21 +0000)
committerJirka Kosek <jirka@kosek.cz>
Sun, 3 Mar 2002 19:21:29 +0000 (19:21 +0000)
20 files changed:
xsl/fo/param.ent
xsl/fo/param.xweb
xsl/html/Makefile.param
xsl/html/param.ent
xsl/html/param.xweb
xsl/params/profile.arch.xml [new file with mode: 0644]
xsl/params/profile.attribute.xml [new file with mode: 0644]
xsl/params/profile.condition.xml [new file with mode: 0644]
xsl/params/profile.conformance.xml [new file with mode: 0644]
xsl/params/profile.lang.xml [new file with mode: 0644]
xsl/params/profile.os.xml [new file with mode: 0644]
xsl/params/profile.revision.xml [new file with mode: 0644]
xsl/params/profile.revisionflag.xml [new file with mode: 0644]
xsl/params/profile.role.xml [new file with mode: 0644]
xsl/params/profile.security.xml [new file with mode: 0644]
xsl/params/profile.separator.xml [new file with mode: 0644]
xsl/params/profile.userlevel.xml [new file with mode: 0644]
xsl/params/profile.value.xml [new file with mode: 0644]
xsl/params/profile.vendor.xml [new file with mode: 0644]
xsl/profiling/profile-mode.xsl

index 20d361c8aa3a54d6405ac91f4da8a6c00d558928..09cb17da72c792723b485979e03107fbb554714a 100644 (file)
 <!ENTITY preface.autolabel SYSTEM "../params/preface.autolabel.xml">
 <!ENTITY process.empty.source.toc SYSTEM "../params/process.empty.source.toc.xml">
 <!ENTITY process.source.toc SYSTEM "../params/process.source.toc.xml">
+<!ENTITY profile.arch SYSTEM "../params/profile.arch.xml">
+<!ENTITY profile.condition SYSTEM "../params/profile.condition.xml">
+<!ENTITY profile.conformance SYSTEM "../params/profile.conformance.xml">
+<!ENTITY profile.lang SYSTEM "../params/profile.lang.xml">
+<!ENTITY profile.os SYSTEM "../params/profile.os.xml">
+<!ENTITY profile.revision SYSTEM "../params/profile.revision.xml">
+<!ENTITY profile.revisionflag SYSTEM "../params/profile.revisionflag.xml">
+<!ENTITY profile.role SYSTEM "../params/profile.role.xml">
+<!ENTITY profile.security SYSTEM "../params/profile.security.xml">
+<!ENTITY profile.userlevel SYSTEM "../params/profile.userlevel.xml">
+<!ENTITY profile.vendor SYSTEM "../params/profile.vendor.xml">
+<!ENTITY profile.attribute SYSTEM "../params/profile.attribute.xml">
+<!ENTITY profile.value SYSTEM "../params/profile.value.xml">
+<!ENTITY profile.separator SYSTEM "../params/profile.separator.xml">
 <!ENTITY punct.honorific SYSTEM "../params/punct.honorific.xml">
 <!ENTITY qanda.inherit.numeration SYSTEM "../params/qanda.inherit.numeration.xml">
 <!ENTITY qandadiv.autolabel SYSTEM "../params/qandadiv.autolabel.xml">
index a36834944e3c51d3341fce3d66e120269daa09c0..7f0d50c661a19c1e0c2b70a1a85c37e07800357c 100644 (file)
@@ -318,6 +318,29 @@ zero by default, so this is simply the page-master region-left.
 &verbatim.properties;
 </reference>
 
+<reference><title>Profiling</title>
+<partintro>
+<para>Following parameters can be used for attribute value based
+profiling of your document. For more info about profiling look at
+<ulink
+url="http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html">http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html</ulink>.</para>
+</partintro>
+&profile.arch;
+&profile.condition;
+&profile.conformance;
+&profile.lang;
+&profile.os;
+&profile.revision;
+&profile.revisionflag;
+&profile.role;
+&profile.security;
+&profile.userlevel;
+&profile.vendor;
+&profile.attribute;
+&profile.value;
+&profile.separator;
+</reference>
+
 <!--
 <reference><title></title>
 </reference>
@@ -439,6 +462,20 @@ around all these parameters.</para>
 <src:fragref linkend="preface.autolabel.frag"/>
 <src:fragref linkend="process.empty.source.toc.frag"/>
 <src:fragref linkend="process.source.toc.frag"/>
+<src:fragref linkend="profile.arch.frag"/>
+<src:fragref linkend="profile.condition.frag"/>
+<src:fragref linkend="profile.conformance.frag"/>
+<src:fragref linkend="profile.lang.frag"/>
+<src:fragref linkend="profile.os.frag"/>
+<src:fragref linkend="profile.revision.frag"/>
+<src:fragref linkend="profile.revisionflag.frag"/>
+<src:fragref linkend="profile.role.frag"/>
+<src:fragref linkend="profile.security.frag"/>
+<src:fragref linkend="profile.userlevel.frag"/>
+<src:fragref linkend="profile.vendor.frag"/>
+<src:fragref linkend="profile.attribute.frag"/>
+<src:fragref linkend="profile.value.frag"/>
+<src:fragref linkend="profile.separator.frag"/>
 <src:fragref linkend="punct.honorific.frag"/>
 <src:fragref linkend="qanda.inherit.numeration.frag"/>
 <src:fragref linkend="qandadiv.autolabel.frag"/>
index 6d98ef6d4a6bb75954e7b57fbc200e658908b1a4..6a372a6c3918d78f35527a939827bf2f2e208f23 100644 (file)
@@ -108,6 +108,20 @@ PARAMS=../params/admon.graphics.xml \
        ../params/preface.autolabel.xml \
        ../params/process.empty.source.toc.xml \
        ../params/process.source.toc.xml \
+       ../params/profile.arch.xml \
+       ../params/profile.condition.xml \
+       ../params/profile.conformance.xml \
+       ../params/profile.lang.xml \
+       ../params/profile.os.xml \
+       ../params/profile.revision.xml \
+       ../params/profile.revisionflag.xml \
+       ../params/profile.role.xml \
+       ../params/profile.security.xml \
+       ../params/profile.userlevel.xml \
+       ../params/profile.vendor.xml \
+       ../params/profile.attribute.xml \
+       ../params/profile.value.xml \
+       ../params/profile.separator.xml \
        ../params/punct.honorific.xml \
        ../params/qanda.defaultlabel.xml \
        ../params/qanda.inherit.numeration.xml \
index a426603c957de31a1af53879b21904320e0b8992..311881d148de830d0c09d8217ebbd66bb26dbbb1 100644 (file)
 <!ENTITY preface.autolabel SYSTEM "../params/preface.autolabel.xml">
 <!ENTITY process.empty.source.toc SYSTEM "../params/process.empty.source.toc.xml">
 <!ENTITY process.source.toc SYSTEM "../params/process.source.toc.xml">
+<!ENTITY profile.arch SYSTEM "../params/profile.arch.xml">
+<!ENTITY profile.condition SYSTEM "../params/profile.condition.xml">
+<!ENTITY profile.conformance SYSTEM "../params/profile.conformance.xml">
+<!ENTITY profile.lang SYSTEM "../params/profile.lang.xml">
+<!ENTITY profile.os SYSTEM "../params/profile.os.xml">
+<!ENTITY profile.revision SYSTEM "../params/profile.revision.xml">
+<!ENTITY profile.revisionflag SYSTEM "../params/profile.revisionflag.xml">
+<!ENTITY profile.role SYSTEM "../params/profile.role.xml">
+<!ENTITY profile.security SYSTEM "../params/profile.security.xml">
+<!ENTITY profile.userlevel SYSTEM "../params/profile.userlevel.xml">
+<!ENTITY profile.vendor SYSTEM "../params/profile.vendor.xml">
+<!ENTITY profile.attribute SYSTEM "../params/profile.attribute.xml">
+<!ENTITY profile.value SYSTEM "../params/profile.value.xml">
+<!ENTITY profile.separator SYSTEM "../params/profile.separator.xml">
 <!ENTITY punct.honorific SYSTEM "../params/punct.honorific.xml">
 <!ENTITY qanda.defaultlabel SYSTEM "../params/qanda.defaultlabel.xml">
 <!ENTITY qanda.inherit.numeration SYSTEM "../params/qanda.inherit.numeration.xml">
index 2bf94828d9c3c0d89a7b9e3d33d618a0ba60cbcd..f5379c8a3175e6517ed3d36ebe648f5952ce50c5 100644 (file)
@@ -249,6 +249,29 @@ to be incomplete. Don't forget to read the source, too :-)</para>
 &navig.showtitles;
 </reference>
 
+<reference><title>Profiling</title>
+<partintro>
+<para>Following parameters can be used for attribute value based
+profiling of your document. For more info about profiling look at
+<ulink
+url="http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html">http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html</ulink>.</para>
+</partintro>
+&profile.arch;
+&profile.condition;
+&profile.conformance;
+&profile.lang;
+&profile.os;
+&profile.revision;
+&profile.revisionflag;
+&profile.role;
+&profile.security;
+&profile.userlevel;
+&profile.vendor;
+&profile.attribute;
+&profile.value;
+&profile.separator;
+</reference>
+
 <reference><title>HTML Help</title>
 &htmlhelp.encoding;
 &htmlhelp.autolabel;
@@ -400,6 +423,20 @@ around all these parameters.</para>
 <src:fragref linkend="preface.autolabel.frag"/>
 <src:fragref linkend="process.empty.source.toc.frag"/>
 <src:fragref linkend="process.source.toc.frag"/>
+<src:fragref linkend="profile.arch.frag"/>
+<src:fragref linkend="profile.condition.frag"/>
+<src:fragref linkend="profile.conformance.frag"/>
+<src:fragref linkend="profile.lang.frag"/>
+<src:fragref linkend="profile.os.frag"/>
+<src:fragref linkend="profile.revision.frag"/>
+<src:fragref linkend="profile.revisionflag.frag"/>
+<src:fragref linkend="profile.role.frag"/>
+<src:fragref linkend="profile.security.frag"/>
+<src:fragref linkend="profile.userlevel.frag"/>
+<src:fragref linkend="profile.vendor.frag"/>
+<src:fragref linkend="profile.attribute.frag"/>
+<src:fragref linkend="profile.value.frag"/>
+<src:fragref linkend="profile.separator.frag"/>
 <src:fragref linkend="punct.honorific.frag"/>
 <src:fragref linkend="qanda.defaultlabel.frag"/>
 <src:fragref linkend="qanda.inherit.numeration.frag"/>
diff --git a/xsl/params/profile.arch.xml b/xsl/params/profile.arch.xml
new file mode 100644 (file)
index 0000000..d29cb9c
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.arch">
+<refmeta>
+<refentrytitle>profile.arch</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.arch</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">arch</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.arch.frag'>
+<xsl:param name="profile.arch" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.attribute.xml b/xsl/params/profile.attribute.xml
new file mode 100644 (file)
index 0000000..5653723
--- /dev/null
@@ -0,0 +1,29 @@
+<refentry id="profile.attribute">
+<refmeta>
+<refentrytitle>profile.attribute</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.attribute</refname>
+<refpurpose>Name of user-specified profiling attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.attribute.frag'>
+<xsl:param name="profile.attribute" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>This parameter is used in conjuction with <link
+linkend="profile.value"><parameter>profile.value</parameter></link>.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.condition.xml b/xsl/params/profile.condition.xml
new file mode 100644 (file)
index 0000000..f8e7753
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.condition">
+<refmeta>
+<refentrytitle>profile.condition</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.condition</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">condition</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.condition.frag'>
+<xsl:param name="profile.condition" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.conformance.xml b/xsl/params/profile.conformance.xml
new file mode 100644 (file)
index 0000000..1b4441e
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.conformance">
+<refmeta>
+<refentrytitle>profile.conformance</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.conformance</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">conformance</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.conformance.frag'>
+<xsl:param name="profile.conformance" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.lang.xml b/xsl/params/profile.lang.xml
new file mode 100644 (file)
index 0000000..9796138
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.lang">
+<refmeta>
+<refentrytitle>profile.lang</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.lang</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">lang</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.lang.frag'>
+<xsl:param name="profile.lang" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.os.xml b/xsl/params/profile.os.xml
new file mode 100644 (file)
index 0000000..45172a5
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.os">
+<refmeta>
+<refentrytitle>profile.os</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.os</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">os</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.os.frag'>
+<xsl:param name="profile.os" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.revision.xml b/xsl/params/profile.revision.xml
new file mode 100644 (file)
index 0000000..ea4769d
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.revision">
+<refmeta>
+<refentrytitle>profile.revision</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.revision</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">revision</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.revision.frag'>
+<xsl:param name="profile.revision" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.revisionflag.xml b/xsl/params/profile.revisionflag.xml
new file mode 100644 (file)
index 0000000..5a44373
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.revisionflag">
+<refmeta>
+<refentrytitle>profile.revisionflag</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.revisionflag</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">revisionflag</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.revisionflag.frag'>
+<xsl:param name="profile.revisionflag" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.role.xml b/xsl/params/profile.role.xml
new file mode 100644 (file)
index 0000000..88645fa
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.role">
+<refmeta>
+<refentrytitle>profile.role</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.role</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">role</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.role.frag'>
+<xsl:param name="profile.role" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.security.xml b/xsl/params/profile.security.xml
new file mode 100644 (file)
index 0000000..9353632
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.security">
+<refmeta>
+<refentrytitle>profile.security</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.security</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">security</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.security.frag'>
+<xsl:param name="profile.security" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.separator.xml b/xsl/params/profile.separator.xml
new file mode 100644 (file)
index 0000000..f48fd02
--- /dev/null
@@ -0,0 +1,22 @@
+<refentry id="profile.separator">
+<refmeta>
+<refentrytitle>profile.separator</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.separator</refname>
+<refpurpose>Separator character for compound profile values</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.separator.frag'>
+<xsl:param name="profile.separator" select="';'"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Separator character for compound profile values.</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.userlevel.xml b/xsl/params/profile.userlevel.xml
new file mode 100644 (file)
index 0000000..d2aeae0
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.userlevel">
+<refmeta>
+<refentrytitle>profile.userlevel</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.userlevel</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">userlevel</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.userlevel.frag'>
+<xsl:param name="profile.userlevel" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.value.xml b/xsl/params/profile.value.xml
new file mode 100644 (file)
index 0000000..c22c5c9
--- /dev/null
@@ -0,0 +1,36 @@
+<refentry id="profile.value">
+<refmeta>
+<refentrytitle>profile.value</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.value</refname>
+<refpurpose>Target profile for user-specified attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.value.frag'>
+<xsl:param name="profile.value" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>When you are using this parameter you must also specify name of
+profiling attribute with parameter <link
+linkend="profile.attribute"><parameter>profile.attribute</parameter></link>.</para>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
diff --git a/xsl/params/profile.vendor.xml b/xsl/params/profile.vendor.xml
new file mode 100644 (file)
index 0000000..06800d8
--- /dev/null
@@ -0,0 +1,33 @@
+<refentry id="profile.vendor">
+<refmeta>
+<refentrytitle>profile.vendor</refentrytitle>
+<refmiscinfo role="type">string</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>profile.vendor</refname>
+<refpurpose>Target profile for <sgmltag class="attribute">vendor</sgmltag>
+attribute</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='profile.vendor.frag'>
+<xsl:param name="profile.vendor" select="''"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>Value of this parameter specifies profiles which should be
+included in the output. You can specify multiple profiles by
+separating them by semicolon. You can change separator character by
+<link linkend="profile.separator"><parameter>profile.separator</parameter></link>
+parameter.</para>
+
+<para>This parameter has effect only when you are using profiling
+stylesheets (<filename>profile-docbook.xsl</filename>,
+<filename>profile-chunk.xsl</filename>, &#x2026;) instead of normal
+ones (<filename>docbook.xsl</filename>,
+<filename>chunk.xsl</filename>, &#x2026;).</para>
+
+</refsect1>
+</refentry>
index 1948f7df24f683659ad71fcacfe4aa69f06b24a9..b006475a8030ae3d5aa3ed1356e50c73ccf73a0c 100644 (file)
@@ -1,24 +1,6 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="1.0">
 
-<!-- Which OSes to select -->
-<xsl:param name="os"/>
-
-<!-- Which UserLevels to select -->
-<xsl:param name="ul"/>
-
-<!-- Which Archs to select -->
-<xsl:param name="arch"/>
-
-<!-- Name of attribute with profiling information -->
-<xsl:param name="attr"/>
-
-<!-- Which $attrs to select -->
-<xsl:param name="val"/>
-
-<!-- Seperator for profiling values -->
-<xsl:param name="sep" select="';'"/>  
-
 <!-- Copy all non-element nodes -->
 <xsl:template match="@*|text()|comment()|processing-instruction()" mode="profile">
   <xsl:copy/>
 
 <!-- Profile elements based on input parameters -->
 <xsl:template match="*" mode="profile">
+
+  <xsl:variable name="arch.content">
+    <xsl:if test="@arch">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.arch"/>
+        <xsl:with-param name="b" select="@arch"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="arch.ok" select="not(@arch) or not($profile.arch) or
+                                       $arch.content != '' or @arch = ''"/>
+
+  <xsl:variable name="condition.content">
+    <xsl:if test="@condition">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.condition"/>
+        <xsl:with-param name="b" select="@condition"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="condition.ok" select="not(@condition) or not($profile.condition) or
+                                            $condition.content != '' or @condition = ''"/>
+
+  <xsl:variable name="conformance.content">
+    <xsl:if test="@conformance">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.conformance"/>
+        <xsl:with-param name="b" select="@conformance"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="conformance.ok" select="not(@conformance) or not($profile.conformance) or
+                                              $conformance.content != '' or @conformance = ''"/>
+
+  <xsl:variable name="lang.content">
+    <xsl:if test="@lang">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.lang"/>
+        <xsl:with-param name="b" select="@lang"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="lang.ok" select="not(@lang) or not($profile.lang) or
+                                       $lang.content != '' or @lang = ''"/>
+
   <xsl:variable name="os.content">
     <xsl:if test="@os">
       <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$os"/>
+        <xsl:with-param name="a" select="$profile.os"/>
         <xsl:with-param name="b" select="@os"/>
       </xsl:call-template>
     </xsl:if>
   </xsl:variable>
-  <xsl:variable name="os.ok" select="not(@os) or not($os) or
+  <xsl:variable name="os.ok" select="not(@os) or not($profile.os) or
                                      $os.content != '' or @os = ''"/>
 
-  <xsl:variable name="ul.content">
+  <xsl:variable name="revision.content">
+    <xsl:if test="@revision">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.revision"/>
+        <xsl:with-param name="b" select="@revision"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="revision.ok" select="not(@revision) or not($profile.revision) or
+                                           $revision.content != '' or @revision = ''"/>
+
+  <xsl:variable name="revisionflag.content">
+    <xsl:if test="@revisionflag">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.revisionflag"/>
+        <xsl:with-param name="b" select="@revisionflag"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="revisionflag.ok" select="not(@revisionflag) or not($profile.revisionflag) or
+                                               $revisionflag.content != '' or @revisionflag = ''"/>
+
+  <xsl:variable name="role.content">
+    <xsl:if test="@role">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.role"/>
+        <xsl:with-param name="b" select="@role"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="role.ok" select="not(@role) or not($profile.role) or
+                                       $role.content != '' or @role = ''"/>
+
+  <xsl:variable name="security.content">
+    <xsl:if test="@security">
+      <xsl:call-template name="cross.compare">
+        <xsl:with-param name="a" select="$profile.security"/>
+        <xsl:with-param name="b" select="@security"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:variable>
+  <xsl:variable name="security.ok" select="not(@security) or not($profile.security) or
+                                           $security.content != '' or @security = ''"/>
+
+  <xsl:variable name="userlevel.content">
     <xsl:if test="@userlevel">
       <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$ul"/>
+        <xsl:with-param name="a" select="$profile.userlevel"/>
         <xsl:with-param name="b" select="@userlevel"/>
       </xsl:call-template>
     </xsl:if>
   </xsl:variable>
-  <xsl:variable name="ul.ok" select="not(@userlevel) or not($ul) or
-                                     $ul.content != '' or @userlevel = ''"/>
+  <xsl:variable name="userlevel.ok" select="not(@userlevel) or not($profile.userlevel) or
+                                            $userlevel.content != '' or @userlevel = ''"/>
 
-  <xsl:variable name="arch.content">
-    <xsl:if test="@arch">
+  <xsl:variable name="vendor.content">
+    <xsl:if test="@vendor">
       <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$arch"/>
-        <xsl:with-param name="b" select="@arch"/>
+        <xsl:with-param name="a" select="$profile.vendor"/>
+        <xsl:with-param name="b" select="@vendor"/>
       </xsl:call-template>
     </xsl:if>
   </xsl:variable>
-  <xsl:variable name="arch.ok" select="not(@arch) or not($arch) or
-                                       $arch.content != '' or @arch = ''"/>
+  <xsl:variable name="vendor.ok" select="not(@vendor) or not($profile.vendor) or
+                                         $vendor.content != '' or @vendor = ''"/>
 
-  <xsl:variable name="attr.content">
-    <xsl:if test="@*[local-name()=$attr]">
+  <xsl:variable name="attribute.content">
+    <xsl:if test="@*[local-name()=$profile.attribute]">
       <xsl:call-template name="cross.compare">
-        <xsl:with-param name="a" select="$val"/>
-        <xsl:with-param name="b" select="@*[local-name()=$attr]"/>
+        <xsl:with-param name="a" select="$profile.value"/>
+        <xsl:with-param name="b" select="@*[local-name()=$profile.attribute]"/>
       </xsl:call-template>
     </xsl:if>
   </xsl:variable>
-  <xsl:variable name="attr.ok" select="not(@*[local-name()=$attr]) or not($val) or
-                                       $attr.content != '' 
-                                       or @*[local-name()=$attr] = '' or not($attr)"/>
+  <xsl:variable name="attribute.ok" 
+                select="not(@*[local-name()=$profile.attribute]) or not($profile.value) or
+                        $attribute.content != '' or 
+                        @*[local-name()=$profile.attribute] = '' or not($profile.attribute)"/>
 
-  <xsl:if test="$os.ok and $ul.ok and $arch.ok and $attr.ok">
+  <xsl:if test="$arch.ok and $condition.ok and $conformance.ok and $lang.ok and $os.ok 
+                and $revision.ok and $revisionflag.ok and $role.ok and $security.ok
+                and $userlevel.ok and $vendor.ok and $attribute.ok">
     <xsl:copy>
       <xsl:apply-templates select="@*|node()" mode="profile"/>
     </xsl:copy>
 <xsl:template name="cross.compare">
   <xsl:param name="a"/>
   <xsl:param name="b"/>
-  <xsl:param name="head" select="substring-before(concat($a, $sep), $sep)"/>
-  <xsl:param name="tail" select="substring-after($a, $sep)"/>
+  <xsl:param name="sep" select="$profile.separator"/>
+  <xsl:variable name="head" select="substring-before(concat($a, $sep), $sep)"/>
+  <xsl:variable name="tail" select="substring-after($a, $sep)"/>
   <xsl:if test="contains(concat($sep, $b, $sep), concat($sep, $head, $sep))">1</xsl:if>
   <xsl:if test="$tail">
     <xsl:call-template name="cross.compare">