if you're on a unix/linux, often you can use a fairly ubiquitous tool 'xmllint'
in bash:
for i in *.xhtml; do
xmllint $i >& /dev/null || echo "$i not a well-formed document."
done
On Tue, Feb 16, 2021 at 12:53 PM Roger L Costello costello(_at_)mitre(_dot_)org
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi Folks,
I have a folder containing a large number of XHTML files.
I want to know: for each file, is it well-formed?
What is the easiest and fastest way to see if each file is well-formed?
My thinking has been to create a super-simple XSLT program:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="*" />
</xsl:stylesheet>
and then run the XSLT on each XHTML file.
I have a command file (.bat file) that loops over each XHTML file and runs
the XSLT:
for %%i in (xhtml\*.xhtml) do (
echo %%i
java -jar saxon-ee-10.1.jar %%i -xsl:test-well-formedness.xsl
-o:well-formedness\%%i
)
That works, but it's pretty slow.
So, I looked into compiling my XSLT program:
On this SAXON web page it talks about Compiling a Stylesheet:
https://www.saxonica.com/html/documentation/using-xsl/compiling.html
On the page it says:
In simple cases, you can exploit the ability to process an
entire directory of source files using a single invocation
of the Transform command on the command line.
That sounds perfect.
But the web page, as far as I can tell, doesn't describe how to "use the
Transform command to process an entire directory of source files."
What do you recommend?
/Roger
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--