Compare commits
No commits in common. 'cs10' and 'c9' have entirely different histories.
@ -1 +1 @@
|
||||
SOURCES/libxslt-1.1.39.tar.xz
|
||||
SOURCES/libxslt-1.1.34.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
9ee1055b999b3ae27cadc43428932e74e2c8cb6c SOURCES/libxslt-1.1.39.tar.xz
|
||||
5b42a1166a1688207028e4a5e72090828dd2a61e SOURCES/libxslt-1.1.34.tar.gz
|
||||
|
@ -0,0 +1,887 @@
|
||||
From f165525fe744e6fe3b377b480d6cc5f9c546d360 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Sun, 20 Sep 2020 16:59:23 +0200
|
||||
Subject: [PATCH] Recreate xsltproc man page with old Docbook stylesheet URL
|
||||
|
||||
Fixes #31.
|
||||
---
|
||||
doc/xsltproc.1 | 627 ++++++++++++-----------------------------------
|
||||
doc/xsltproc.xml | 2 +-
|
||||
2 files changed, 161 insertions(+), 468 deletions(-)
|
||||
|
||||
diff --git a/doc/xsltproc.1 b/doc/xsltproc.1
|
||||
index 7393b6db..bbf4098f 100644
|
||||
--- a/doc/xsltproc.1
|
||||
+++ b/doc/xsltproc.1
|
||||
@@ -1,7 +1,7 @@
|
||||
'\" t
|
||||
.\" Title: xsltproc
|
||||
.\" Author: John Fleck <jfleck@inkstain.net>
|
||||
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: $Date$
|
||||
.\" Manual: xsltproc Manual
|
||||
.\" Source: libxslt
|
||||
@@ -27,72 +27,13 @@
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
.SH "NAME"
|
||||
xsltproc \- command line XSLT processor
|
||||
-
|
||||
.SH "SYNOPSIS"
|
||||
-
|
||||
- .HP \w'\fBxsltproc\fR\ 'u
|
||||
-
|
||||
- \fBxsltproc\fR
|
||||
- [
|
||||
- [
|
||||
- | \fB\-V\fR
|
||||
- | \fB\-\-version\fR
|
||||
- ]
|
||||
- [
|
||||
- | \fB\-v\fR
|
||||
- | \fB\-\-verbose\fR
|
||||
- ]
|
||||
- [
|
||||
- {
|
||||
- | \fB\-o\fR
|
||||
- | \fB\-\-output\fR
|
||||
- }
|
||||
- {
|
||||
- | \fIFILE\fR
|
||||
- | \fIDIRECTORY\fR
|
||||
- }
|
||||
- ]
|
||||
- | \fB\-\-timing\fR
|
||||
- | \fB\-\-repeat\fR
|
||||
- | \fB\-\-debug\fR
|
||||
- | \fB\-\-novalid\fR
|
||||
- | \fB\-\-noout\fR
|
||||
- | \fB\-\-maxdepth\ \fR\fB\fIVALUE\fR\fR
|
||||
- | \fB\-\-html\fR
|
||||
- | \fB\-\-encoding\ \fR\fB\fIENCODING\fR\fR\fB\ \fR
|
||||
- | \fB\-\-param\ \fR\fB\fIPARAMNAME\fR\fR\fB\ \fR\fB\fIPARAMVALUE\fR\fR\fB\ \fR
|
||||
- | \fB\-\-stringparam\ \fR\fB\fIPARAMNAME\fR\fR\fB\ \fR\fB\fIPARAMVALUE\fR\fR\fB\ \fR
|
||||
- | \fB\-\-nonet\fR
|
||||
- | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR
|
||||
- | \fB\-\-load\-trace\fR
|
||||
- | \fB\-\-catalogs\fR
|
||||
- | \fB\-\-xinclude\fR
|
||||
- | [\ |\ \fB\-\-profile\fR\ |\ \fB\-\-norman\fR\ ]
|
||||
- | \fB\-\-dumpextensions\fR
|
||||
- | \fB\-\-nowrite\fR
|
||||
- | \fB\-\-nomkdir\fR
|
||||
- | \fB\-\-writesubtree\ \fR\fB\fIPATH\fR\fR
|
||||
- | \fB\-\-nodtdattr\fR
|
||||
- ]
|
||||
- [\fISTYLESHEET\fR]
|
||||
- {
|
||||
- | \fIXML\-FILE\fR...
|
||||
- | \-
|
||||
- }
|
||||
-
|
||||
-
|
||||
-
|
||||
+.HP \w'\fBxsltproc\fR\ 'u
|
||||
+\fBxsltproc\fR [[\fB\-V\fR | \fB\-\-version\fR] [\fB\-v\fR | \fB\-\-verbose\fR] [{\fB\-o\fR | \fB\-\-output\fR} {\fIFILE\fR | \fIDIRECTORY\fR}] | \fB\-\-timing\fR | \fB\-\-repeat\fR | \fB\-\-debug\fR | \fB\-\-novalid\fR | \fB\-\-noout\fR | \fB\-\-maxdepth\ \fR\fB\fIVALUE\fR\fR | \fB\-\-maxvars\ \fR\fB\fIVALUE\fR\fR | \fB\-\-maxparserdepth\ \fR\fB\fIVALUE\fR\fR | \fB\-\-huge\fR | \fB\-\-seed\-rand\ \fR\fB\fIVALUE\fR\fR | \fB\-\-html\fR | \fB\-\-encoding\ \fR\fB\fIENCODING\fR\fR\fB\ \fR | \fB\-\-param\ \fR\fB\fIPARAMNAME\fR\fR\fB\ \fR\fB\fIPARAMVALUE\fR\fR\fB\ \fR | \fB\-\-stringparam\ \fR\fB\fIPARAMNAME\fR\fR\fB\ \fR\fB\fIPARAMVALUE\fR\fR\fB\ \fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-catalogs\fR | \fB\-\-xinclude\fR | \fB\-\-xincludestyle\fR | [\fB\-\-profile\fR\ |\ \fB\-\-norman\fR] | \fB\-\-dumpextensions\fR | \fB\-\-nowrite\fR | \fB\-\-nomkdir\fR | \fB\-\-writesubtree\ \fR\fB\fIPATH\fR\fR | \fB\-\-nodtdattr\fR] [\fISTYLESHEET\fR] {\fIXML\-FILE\fR... | \-}
|
||||
.SH "DESCRIPTION"
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBxsltproc\fR
|
||||
is a command line tool for applying
|
||||
XSLT
|
||||
@@ -100,46 +41,32 @@ stylesheets to
|
||||
XML
|
||||
documents\&. It is part of
|
||||
\fBlibxslt\fR(3), the XSLT C library for GNOME\&. While it was developed as part of the GNOME project, it can operate independently of the GNOME desktop\&.
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBxsltproc\fR
|
||||
is invoked from the command line with the name of the stylesheet to be used followed by the name of the file or files to which the stylesheet is to be applied\&. It will use the standard input if a filename provided is
|
||||
\fB\-\fR
|
||||
\&.
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
If a stylesheet is included in an
|
||||
XML
|
||||
document with a Stylesheet Processing Instruction, no stylesheet need to be named at the command line\&.
|
||||
\fBxsltproc\fR
|
||||
will automatically detect the included stylesheet and use it\&.
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
By default, output is to
|
||||
stdout\&. You can specify a file for output using the
|
||||
\fB\-o\fR
|
||||
or
|
||||
\fB\-\-output\fR
|
||||
option\&.
|
||||
-
|
||||
-
|
||||
.SH "OPTIONS"
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBxsltproc\fR
|
||||
accepts the following options (in alphabetical order):
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fB\-\-catalogs\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Use the
|
||||
+Use the
|
||||
SGML
|
||||
catalog specified in
|
||||
\fBSGML_CATALOG_FILES\fR
|
||||
@@ -148,154 +75,101 @@ to resolve the location of external entities\&. By default,
|
||||
looks for the catalog specified in
|
||||
\fBXML_CATALOG_FILES\fR\&. If that is not specified, it uses
|
||||
/etc/xml/catalog\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-debug\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Output an
|
||||
+Output an
|
||||
XML
|
||||
tree of the transformed document for debugging purposes\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-dumpextensions\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Dumps the list of all registered extensions on
|
||||
+Dumps the list of all registered extensions on
|
||||
stdout\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-html\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- The input document is an
|
||||
+The input document is an
|
||||
HTML
|
||||
file\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-load\-trace\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Display all the documents loaded during the processing to
|
||||
+Display all the documents loaded during the processing to
|
||||
stderr\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-maxdepth \fR\fB\fIVALUE\fR\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Adjust the maximum depth of the template stack before
|
||||
+Adjust the maximum depth of the template stack before
|
||||
\fBlibxslt\fR(3)
|
||||
concludes it is in an infinite loop\&. The default is 3000\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
+\fB\-\-maxvars \fR\fB\fIVALUE\fR\fR
|
||||
+.RS 4
|
||||
+Maximum number of variables\&. The default is 15000\&.
|
||||
+.RE
|
||||
+.PP
|
||||
+\fB\-\-maxparserdepth \fR\fB\fIVALUE\fR\fR
|
||||
+.RS 4
|
||||
+Maximum element nesting level of parsed XML documents\&. The default is 256\&.
|
||||
+.RE
|
||||
+.PP
|
||||
+\fB\-\-huge\fR
|
||||
+.RS 4
|
||||
+Relax hardcoded limits of the XML parser by setting the XML_PARSE_HUGE parser option\&.
|
||||
+.RE
|
||||
+.PP
|
||||
+\fB\-\-seed\-rand \fR\fB\fIVALUE\fR\fR
|
||||
+.RS 4
|
||||
+Initialize pseudo random number generator with specific seed\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-nodtdattr\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Do not apply default attributes from the document\*(Aqs
|
||||
+Do not apply default attributes from the document\*(Aqs
|
||||
DTD\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-nomkdir\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Refuses to create directories\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Refuses to create directories\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-nonet\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Do not use the Internet to fetch
|
||||
+Do not use the Internet to fetch
|
||||
DTDs, entities or documents\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-noout\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Do not output the result\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Do not output the result\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-novalid\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Skip loading the document\*(Aqs
|
||||
+Skip loading the document\*(Aqs
|
||||
DTD\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-nowrite\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Refuses to write to any file or resource\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Refuses to write to any file or resource\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-o\fR or \fB\-\-output\fR \fIFILE\fR | \fIDIRECTORY\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Direct output to the given
|
||||
+Direct output to the given
|
||||
\fIFILE\fR\&. Using the option with a
|
||||
\fIDIRECTORY\fR
|
||||
directs the output files to the specified directory\&. This can be useful for multiple outputs (also known as "chunking") or manpage processing\&.
|
||||
-
|
||||
- .if n \{\
|
||||
+.if n \{\
|
||||
.sp
|
||||
.\}
|
||||
.RS 4
|
||||
@@ -307,14 +181,12 @@ directs the output files to the specified directory\&. This can be useful for mu
|
||||
\fBImportant\fR
|
||||
.ps -1
|
||||
.br
|
||||
-
|
||||
- The given directory
|
||||
+The given directory
|
||||
\fBmust\fR
|
||||
already exist\&.
|
||||
-
|
||||
- .sp .5v
|
||||
+.sp .5v
|
||||
.RE
|
||||
- .if n \{\
|
||||
+.if n \{\
|
||||
.sp
|
||||
.\}
|
||||
.RS 4
|
||||
@@ -326,8 +198,7 @@ already exist\&.
|
||||
\fBNote\fR
|
||||
.ps -1
|
||||
.br
|
||||
-
|
||||
- Make sure that
|
||||
+Make sure that
|
||||
\fIFILE\fR
|
||||
and
|
||||
\fIDIRECTORY\fR
|
||||
@@ -338,82 +209,47 @@ as described in RFC 2396 and laters\&. This means, that e\&.g\&.
|
||||
will maybe not work, but
|
||||
\fB\-o directory/\fR
|
||||
will\&.
|
||||
-
|
||||
- .sp .5v
|
||||
+.sp .5v
|
||||
.RE
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-encoding \fR\fB\fIENCODING\fR\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Allow to specify the encoding for the input\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
- .PP
|
||||
+Allow to specify the encoding for the input\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-param \fR\fB\fIPARAMNAME\fR\fR\fB \fR\fB\fIPARAMVALUE\fR\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Pass a parameter of name
|
||||
+Pass a parameter of name
|
||||
\fIPARAMNAME\fR
|
||||
and value
|
||||
\fIPARAMVALUE\fR
|
||||
to the stylesheet\&. You may pass multiple name/value pairs up to a maximum of 32\&. If the value being passed is a string, you can use
|
||||
\fB\-\-stringparam\fR
|
||||
instead, to avoid additional quote characters that appear in string expressions\&. Note: the XPath expression must be UTF\-8 encoded\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-path "\fR\fB\fIPATH(S)\fR\fR\fB"\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Use the (space\- or colon\-separated) list of filesystem paths specified by
|
||||
+Use the (space\- or colon\-separated) list of filesystem paths specified by
|
||||
\fIPATHS\fR
|
||||
to load
|
||||
DTDs, entities or documents\&. Enclose space\-separated lists by quotation marks\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-profile\fR or \fB\-\-norman\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Output profiling information detailing the amount of time spent in each part of the stylesheet\&. This is useful in optimizing stylesheet performance\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Output profiling information detailing the amount of time spent in each part of the stylesheet\&. This is useful in optimizing stylesheet performance\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-repeat\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Run the transformation 20 times\&. Used for timing tests\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Run the transformation 20 times\&. Used for timing tests\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-stringparam \fR\fB\fIPARAMNAME\fR\fR\fB \fR\fB\fIPARAMVALUE\fR\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Pass a parameter of name
|
||||
+Pass a parameter of name
|
||||
\fIPARAMNAME\fR
|
||||
and value
|
||||
\fIPARAMVALUE\fR
|
||||
@@ -422,268 +258,136 @@ where
|
||||
is a string rather than a node identifier\&.
|
||||
\fBNote:\fR
|
||||
The string must be UTF\-8 encoded\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-timing\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Display the time used for parsing the stylesheet, parsing the document and applying the stylesheet and saving the result\&. Displayed in milliseconds\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Display the time used for parsing the stylesheet, parsing the document and applying the stylesheet and saving the result\&. Displayed in milliseconds\&.
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-v\fR or \fB\-\-verbose\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Output each step taken by
|
||||
+Output each step taken by
|
||||
\fBxsltproc\fR
|
||||
in processing the stylesheet and the document\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-V\fR or \fB\-\-version\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Show the version of
|
||||
+Show the version of
|
||||
\fBlibxml\fR(3)
|
||||
and
|
||||
\fBlibxslt\fR(3)
|
||||
used\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-writesubtree \fR\fB\fIPATH\fR\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Allow file write only within the
|
||||
+Allow file write only within the
|
||||
\fIPATH\fR
|
||||
subtree\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fB\-\-xinclude\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Process the input document using the XInclude specification\&. More details on this can be found in the XInclude specification:
|
||||
+Process the input document using the XInclude specification\&. More details on this can be found in the XInclude specification:
|
||||
\m[blue]\fB\%http://www.w3.org/TR/xinclude/\fR\m[]
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
-
|
||||
-
|
||||
+.RE
|
||||
+.PP
|
||||
+\fB\-\-xincludestyle\fR
|
||||
+.RS 4
|
||||
+Process the stylesheet with XInclude\&.
|
||||
+.RE
|
||||
.SH "ENVIRONMENT"
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBSGML_CATALOG_FILES\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- SGML
|
||||
+SGML
|
||||
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
|
||||
\fBSGML_CATALOG_FILES\fR
|
||||
environment variable to a list of catalogs\&. An empty one should deactivate loading the default
|
||||
/etc/sgml/catalog
|
||||
catalog\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+.RE
|
||||
+.PP
|
||||
\fBXML_CATALOG_FILES\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- XML
|
||||
+XML
|
||||
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
|
||||
\fBXML_CATALOG_FILES\fR
|
||||
environment variable to a list of catalogs\&. An empty one should deactivate loading the default
|
||||
/etc/xml/catalog
|
||||
catalog\&.
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
-
|
||||
-
|
||||
+.RE
|
||||
.SH "DIAGNOSTICS"
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBxsltproc\fR
|
||||
return codes provide information that can be used when calling it from scripts\&.
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fB0\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- No error (normal operation)
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+No error (normal operation)
|
||||
+.RE
|
||||
+.PP
|
||||
\fB1\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- No argument
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+No argument
|
||||
+.RE
|
||||
+.PP
|
||||
\fB2\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Too many parameters
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Too many parameters
|
||||
+.RE
|
||||
+.PP
|
||||
\fB3\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Unknown option
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Unknown option
|
||||
+.RE
|
||||
+.PP
|
||||
\fB4\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Failed to parse the stylesheet
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Failed to parse the stylesheet
|
||||
+.RE
|
||||
+.PP
|
||||
\fB5\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Error in the stylesheet
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Error in the stylesheet
|
||||
+.RE
|
||||
+.PP
|
||||
\fB6\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Error in one of the documents
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Error in one of the documents
|
||||
+.RE
|
||||
+.PP
|
||||
\fB7\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Unsupported xsl:output method
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Unsupported xsl:output method
|
||||
+.RE
|
||||
+.PP
|
||||
\fB8\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- String parameter contains both quote and double\-quotes
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+String parameter contains both quote and double\-quotes
|
||||
+.RE
|
||||
+.PP
|
||||
\fB9\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Internal processing error
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Internal processing error
|
||||
+.RE
|
||||
+.PP
|
||||
\fB10\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Processing was stopped by a terminating message
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
- .PP
|
||||
+Processing was stopped by a terminating message
|
||||
+.RE
|
||||
+.PP
|
||||
\fB11\fR
|
||||
.RS 4
|
||||
-
|
||||
-
|
||||
-
|
||||
- Could not write the result to the output file
|
||||
-
|
||||
-
|
||||
- .RE
|
||||
-
|
||||
-
|
||||
-
|
||||
+Could not write the result to the output file
|
||||
+.RE
|
||||
.SH "SEE ALSO"
|
||||
-
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
\fBlibxml\fR(3),
|
||||
\fBlibxslt\fR(3)
|
||||
-
|
||||
- .PP
|
||||
+.PP
|
||||
More information can be found at
|
||||
.sp
|
||||
.RS 4
|
||||
@@ -694,12 +398,10 @@ More information can be found at
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
-
|
||||
- \fBlibxml\fR(3)
|
||||
+\fBlibxml\fR(3)
|
||||
web page
|
||||
\m[blue]\fB\%http://www.xmlsoft.org/\fR\m[]
|
||||
-
|
||||
- .RE
|
||||
+.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
@@ -709,24 +411,15 @@ web page
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
-
|
||||
- W3C
|
||||
+W3C
|
||||
XSLT
|
||||
page
|
||||
\m[blue]\fB\%http://www.w3.org/TR/xslt\fR\m[]
|
||||
-
|
||||
- .RE
|
||||
+.RE
|
||||
.sp
|
||||
-
|
||||
-
|
||||
-
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
|
||||
-.br
|
||||
-
|
||||
-
|
||||
-
|
||||
.RS 4
|
||||
Author.
|
||||
.RE
|
||||
diff --git a/doc/xsltproc.xml b/doc/xsltproc.xml
|
||||
index 8b78693e..051cbc01 100644
|
||||
--- a/doc/xsltproc.xml
|
||||
+++ b/doc/xsltproc.xml
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl"
|
||||
- href="http://cdn.docbook.org/release/xsl/current//manpages/docbook.xsl"?>
|
||||
+ href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,103 @@
|
||||
--- libxslt-1.1.26/ChangeLog.utf8 2009-07-24 10:16:49.000000000 +0200
|
||||
+++ libxslt-1.1.26/ChangeLog 2011-03-20 03:28:28.142684293 +0100
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
Thu Aug 23 11:47:20 CEST 2007 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * libexslt/date.c: apply patch from Björn Wiberg fixing build on AIX
|
||||
+ * libexslt/date.c: apply patch from Björn Wiberg fixing build on AIX
|
||||
and closing bug #332173
|
||||
|
||||
Fri Aug 3 15:49:26 CEST 2007 Daniel Veillard <daniel@veillard.com>
|
||||
@@ -2112,7 +2112,7 @@
|
||||
Tue Feb 17 11:29:15 CET 2004 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* libxslt/templates.c: applied patch from #134588 provided by
|
||||
- Mariano Suárez-Alvarez, attribute text node without doc.
|
||||
+ Mariano Suárez-Alvarez, attribute text node without doc.
|
||||
|
||||
Mon Feb 16 15:55:57 CET 2004 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
@@ -3121,7 +3121,7 @@
|
||||
* python/generator.py: fixed a problem in the generator where
|
||||
the way functions are remapped as methods on classes was
|
||||
not symetric and dependant on python internal hash order,
|
||||
- as reported by Stéphane Bidoul
|
||||
+ as reported by Stéphane Bidoul
|
||||
* libexslt/strings.c: attempt at fixing an object type pbm
|
||||
* libxslt/triodef.h: update for OpenVMS from libxml2
|
||||
|
||||
@@ -3497,7 +3497,7 @@
|
||||
|
||||
Thu Jan 2 23:23:30 CET 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * libexslt/strings.c: applied patch from Jörg Walter to provide
|
||||
+ * libexslt/strings.c: applied patch from Jörg Walter to provide
|
||||
URI escaping and unescaping functions.
|
||||
|
||||
Thu Dec 26 15:43:31 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
@@ -3507,7 +3507,7 @@
|
||||
|
||||
Mon Dec 23 15:43:59 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * python/libxslt.c: patch from Stéphane Bidoul for Python 2.1
|
||||
+ * python/libxslt.c: patch from Stéphane Bidoul for Python 2.1
|
||||
|
||||
Sun Dec 22 22:54:04 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
@@ -3648,7 +3648,7 @@
|
||||
|
||||
Sun Nov 24 13:58:48 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * python/libxsl.py: updated with new version from Stéphane Bidoul
|
||||
+ * python/libxsl.py: updated with new version from Stéphane Bidoul
|
||||
|
||||
Sat Nov 23 22:49:08 CET 2002 Igor Zlatkovic <igor@stud.fh-frankfurt.de>
|
||||
|
||||
@@ -5036,7 +5036,7 @@
|
||||
|
||||
Mon Nov 26 11:21:27 CET 2001 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * libxslt/pattern.c: fixing bug #64044 reported by Gero Meißner,
|
||||
+ * libxslt/pattern.c: fixing bug #64044 reported by Gero Meißner,
|
||||
template matches compilation was failing to skip blanks bewteen
|
||||
consecutive predicates
|
||||
|
||||
@@ -5119,7 +5119,7 @@
|
||||
|
||||
Tue Oct 30 19:32:08 CET 2001 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
- * configure.in: applied patches from David Härdeman closing
|
||||
+ * configure.in: applied patches from David Härdeman closing
|
||||
bug #62891
|
||||
|
||||
Tue Oct 30 15:25:19 CET 2001 Daniel Veillard <daniel@veillard.com>
|
||||
--- libxslt-1.1.26/NEWS.utf8 2009-09-24 16:38:20.000000000 +0200
|
||||
+++ libxslt-1.1.26/NEWS 2011-03-20 03:27:37.440684281 +0100
|
||||
@@ -312,7 +312,7 @@
|
||||
|
||||
|
||||
1.1.4: Feb 23 2004:
|
||||
- - bugfixes: attributes without doc (Mariano Suárez-Alvarez), problem with
|
||||
+ - bugfixes: attributes without doc (Mariano Suárez-Alvarez), problem with
|
||||
Yelp, extension problem
|
||||
- display extension modules (Steve Little)
|
||||
- Windows compilation patch (Mark Vadoc), Mingw (Mikhail Grushinskiy)
|
||||
@@ -472,7 +472,7 @@
|
||||
|
||||
|
||||
1.0.24: Jan 14 2003:
|
||||
- - bug fixes: imported global varables, python bindings (Stéphane Bidoul),
|
||||
+ - bug fixes: imported global varables, python bindings (Stéphane Bidoul),
|
||||
EXSLT memory leak (Charles Bozeman), namespace generation on
|
||||
xsl:attribute, space handling with imports (Daniel Stodden),
|
||||
extension-element-prefixes (Josh Parsons), comments within xsl:text (Matt
|
||||
@@ -485,7 +485,7 @@
|
||||
- fix the API generation scripts
|
||||
- API to provide the sorting routines (Richard Jinks)
|
||||
- added XML description of the EXSLT API
|
||||
- - added ESXLT URI (un)escaping (Jörg Walter)
|
||||
+ - added ESXLT URI (un)escaping (Jörg Walter)
|
||||
- Some memory leaks have been found and fixed
|
||||
- document() now support fragment identifiers in URIs
|
||||
|
@ -0,0 +1,151 @@
|
||||
From 9ae2f94df1721e002941b40665efb762aefcea1a Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Mon, 17 Aug 2020 03:42:11 +0200
|
||||
Subject: [PATCH 1/3] Stop using maxParserDepth XPath limit
|
||||
|
||||
This will be removed again from libxml2.
|
||||
---
|
||||
tests/fuzz/fuzz.c | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tests/fuzz/fuzz.c b/tests/fuzz/fuzz.c
|
||||
index f502ca2c..75234ad6 100644
|
||||
--- a/tests/fuzz/fuzz.c
|
||||
+++ b/tests/fuzz/fuzz.c
|
||||
@@ -183,8 +183,7 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
xpctxt = tctxt->xpathCtxt;
|
||||
|
||||
/* Resource limits to avoid timeouts and call stack overflows */
|
||||
- xpctxt->maxParserDepth = 15;
|
||||
- xpctxt->maxDepth = 100;
|
||||
+ xpctxt->maxDepth = 500;
|
||||
xpctxt->opLimit = 500000;
|
||||
|
||||
/* Test namespaces used in xpath.xml */
|
||||
@@ -317,8 +316,7 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
|
||||
static void
|
||||
xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
|
||||
- ctxt->maxParserDepth = 15;
|
||||
- ctxt->maxDepth = 100;
|
||||
+ ctxt->maxDepth = 200;
|
||||
ctxt->opLimit = 100000;
|
||||
}
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From 824657768aea2cce9c23e72ba8085cb5e44350c7 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Mon, 17 Aug 2020 04:27:13 +0200
|
||||
Subject: [PATCH 2/3] Transfer XPath limits to XPtr context
|
||||
|
||||
Expressions like document('doc.xml#xpointer(evil_expr)') ignored the
|
||||
XPath limits.
|
||||
---
|
||||
libxslt/functions.c | 14 +++++++++++++-
|
||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libxslt/functions.c b/libxslt/functions.c
|
||||
index b350545a..975ea790 100644
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -178,10 +178,22 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||
goto out_fragment;
|
||||
}
|
||||
|
||||
+#if LIBXML_VERSION >= 20911 || \
|
||||
+ defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
|
||||
+ xptrctxt->opLimit = ctxt->context->opLimit;
|
||||
+ xptrctxt->opCount = ctxt->context->opCount;
|
||||
+ xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
|
||||
+
|
||||
+ resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
+
|
||||
+ ctxt->context->opCount = xptrctxt->opCount;
|
||||
+#else
|
||||
resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
- xmlXPathFreeContext(xptrctxt);
|
||||
#endif
|
||||
|
||||
+ xmlXPathFreeContext(xptrctxt);
|
||||
+#endif /* LIBXML_XPTR_ENABLED */
|
||||
+
|
||||
if (resObj == NULL)
|
||||
goto out_fragment;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From 77c26bad0433541f486b1e7ced44ca9979376908 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Wed, 26 Aug 2020 00:34:38 +0200
|
||||
Subject: [PATCH 3/3] Don't set maxDepth in XPath contexts
|
||||
|
||||
The maximum recursion depth is hardcoded in libxml2 now.
|
||||
---
|
||||
libxslt/functions.c | 2 +-
|
||||
tests/fuzz/fuzz.c | 11 ++---------
|
||||
2 files changed, 3 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/libxslt/functions.c b/libxslt/functions.c
|
||||
index 975ea790..7887dda7 100644
|
||||
--- a/libxslt/functions.c
|
||||
+++ b/libxslt/functions.c
|
||||
@@ -182,7 +182,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||
defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
|
||||
xptrctxt->opLimit = ctxt->context->opLimit;
|
||||
xptrctxt->opCount = ctxt->context->opCount;
|
||||
- xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
|
||||
+ xptrctxt->depth = ctxt->context->depth;
|
||||
|
||||
resObj = xmlXPtrEval(fragment, xptrctxt);
|
||||
|
||||
diff --git a/tests/fuzz/fuzz.c b/tests/fuzz/fuzz.c
|
||||
index 75234ad6..780c2d41 100644
|
||||
--- a/tests/fuzz/fuzz.c
|
||||
+++ b/tests/fuzz/fuzz.c
|
||||
@@ -183,7 +183,6 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
xpctxt = tctxt->xpathCtxt;
|
||||
|
||||
/* Resource limits to avoid timeouts and call stack overflows */
|
||||
- xpctxt->maxDepth = 500;
|
||||
xpctxt->opLimit = 500000;
|
||||
|
||||
/* Test namespaces used in xpath.xml */
|
||||
@@ -314,12 +313,6 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void
|
||||
-xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
|
||||
- ctxt->maxDepth = 200;
|
||||
- ctxt->opLimit = 100000;
|
||||
-}
|
||||
-
|
||||
xmlChar *
|
||||
xsltFuzzXslt(const char *data, size_t size) {
|
||||
xmlDocPtr xsltDoc;
|
||||
@@ -349,7 +342,7 @@ xsltFuzzXslt(const char *data, size_t size) {
|
||||
xmlFreeDoc(xsltDoc);
|
||||
return NULL;
|
||||
}
|
||||
- xsltSetXPathResourceLimits(sheet->xpathCtxt);
|
||||
+ sheet->xpathCtxt->opLimit = 100000;
|
||||
sheet->xpathCtxt->opCount = 0;
|
||||
if (xsltParseStylesheetUser(sheet, xsltDoc) != 0) {
|
||||
xsltFreeStylesheet(sheet);
|
||||
@@ -361,7 +354,7 @@ xsltFuzzXslt(const char *data, size_t size) {
|
||||
xsltSetCtxtSecurityPrefs(sec, ctxt);
|
||||
ctxt->maxTemplateDepth = 100;
|
||||
ctxt->opLimit = 20000;
|
||||
- xsltSetXPathResourceLimits(ctxt->xpathCtxt);
|
||||
+ ctxt->xpathCtxt->opLimit = 100000;
|
||||
ctxt->xpathCtxt->opCount = sheet->xpathCtxt->opCount;
|
||||
|
||||
result = xsltApplyStylesheetUser(sheet, doc, NULL, NULL, NULL, ctxt);
|
||||
--
|
||||
2.34.1
|
||||
|
@ -0,0 +1,63 @@
|
||||
From 461af8b9ed05cae188b24db71949a9e7758693e7 Mon Sep 17 00:00:00 2001
|
||||
From: David King <amigadave@amigadave.com>
|
||||
Date: Thu, 27 Jan 2022 15:33:17 +0000
|
||||
Subject: [PATCH 1/2] Use DocBook URL for tutorial DTD
|
||||
|
||||
---
|
||||
doc/tutorial2/libxslt_pipes.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/doc/tutorial2/libxslt_pipes.xml b/doc/tutorial2/libxslt_pipes.xml
|
||||
index 9a672a9b..2aaac95f 100644
|
||||
--- a/doc/tutorial2/libxslt_pipes.xml
|
||||
+++ b/doc/tutorial2/libxslt_pipes.xml
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="iso-8859-2"?>
|
||||
-<!DOCTYPE article
|
||||
-SYSTEM "file:///usr/share/docbook/docbook-xml-4.3/docbookx.dtd">
|
||||
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
|
||||
<article id="libxslt">
|
||||
<articleinfo>
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
From 634065b39285841eef7dab5bfb2a8ac71b0a5d05 Mon Sep 17 00:00:00 2001
|
||||
From: David King <amigadave@amigadave.com>
|
||||
Date: Fri, 28 Jan 2022 09:35:03 +0000
|
||||
Subject: [PATCH 2/2] Fix validity of tutorial XML
|
||||
|
||||
Move the title element before articleinfo.
|
||||
|
||||
https://tdg.docbook.org/tdg/4.5/article.html
|
||||
---
|
||||
doc/tutorial2/libxslt_pipes.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/doc/tutorial2/libxslt_pipes.xml b/doc/tutorial2/libxslt_pipes.xml
|
||||
index 2aaac95f..f6fa0d64 100644
|
||||
--- a/doc/tutorial2/libxslt_pipes.xml
|
||||
+++ b/doc/tutorial2/libxslt_pipes.xml
|
||||
@@ -3,6 +3,8 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
|
||||
<article id="libxslt">
|
||||
+<title>libxslt: An Extended Tutorial</title>
|
||||
+
|
||||
<articleinfo>
|
||||
<author><firstname>Panos</firstname><surname>Louridas</surname></author>
|
||||
<copyright>
|
||||
@@ -34,8 +36,6 @@
|
||||
</legalnotice>
|
||||
</articleinfo>
|
||||
|
||||
-<title>libxslt: An Extended Tutorial</title>
|
||||
-
|
||||
<sect1><title>Introduction</title>
|
||||
|
||||
<para>The Extensible Stylesheet Language Transformations (XSLT)
|
||||
--
|
||||
2.34.1
|
||||
|
Loading…
Reference in new issue