root |___comment ' ASCII XML Tree Viewer 1.0 (13 Feb 2001) An XPath/XSLT visualisation tool for XML documents Written by Jeni Tennison and Mike J. Brown License: CC0 Please consider crediting the authors if republishing elsewhere. Use this stylesheet to produce an ASCII art representation of an XML document's node tree, as exposed by the XML parser and interpreted by the XSLT processor. Note that the parser may not expose comments to the XSLT processor. Usage notes =========== By default, this stylesheet will not show namespace nodes. If the XSLT processor supports the namespace axis and you want to see namespace nodes, just pass a non-empty "show_ns" parameter to the stylesheet. Example using Instant Saxon: saxon somefile.xml ascii-treeview.xsl show_ns=yes If you want to ignore whitespace-only text nodes, uncomment the xsl:strip-space instruction below. ' |___element 'stylesheet' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:stylesheet') | \___attribute 'version' = '1.0' | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' |___text '\n\n' |___element 'output' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:output') | \___attribute 'method' = 'text' | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' |___text '\n\n' |___comment ' uncomment the following to ignore whitespace-only text nodes ' |___text '\n' |___comment ' xsl:strip-space elements="*" ' |___text '\n\n' |___comment ' pass a non-empty show_ns parameter to the stylesheet to show namespace nodes ' |___text '\n' |___element 'param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:param') | \___attribute 'name' = 'show_ns' | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' |___text '\n\n' |___element 'variable' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:variable') | | \___attribute 'name' = 'apos' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = '/' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'apply-templates' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:apply-templates') | | \___attribute 'select' = '.' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = '/' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text 'root\n' | |___text '\n ' | |___element 'apply-templates' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:apply-templates') | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = '*' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '___element \'' | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | \___attribute 'select' = 'local-name()' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'if' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:if') | | | \___attribute 'test' = 'namespace-uri()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text ' in ns \'' | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | \___attribute 'select' = 'namespace-uri()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\' (\'' | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | \___attribute 'select' = 'name()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\')' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n' | |___text '\n ' | |___element 'apply-templates' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:apply-templates') | | \___attribute 'select' = '@*' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'if' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:if') | | | \___attribute 'test' = '$show_ns' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'for-each' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:for-each') | | | | \___attribute 'select' = 'namespace::*' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | \___attribute 'name' = 'ascii-art-hierarchy' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text ' \\___namespace \'' | | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | | \___attribute 'select' = 'name()' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\' = \'' | | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | | \___attribute 'select' = '.' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\'\n' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | |___text '\n ' | |___text '\n ' | |___element 'apply-templates' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:apply-templates') | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = '@*' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text ' \\___attribute \'' | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | \___attribute 'select' = 'local-name()' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'if' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:if') | | | \___attribute 'test' = 'namespace-uri()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text ' in ns \'' | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | \___attribute 'select' = 'namespace-uri()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\' (\'' | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | \___attribute 'select' = 'name()' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\')' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text ' = \'' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | \___attribute 'name' = 'escape-ws' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | \___attribute 'name' = 'text' | | | \___attribute 'select' = '.' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'\n' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = 'text()' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '___text \'' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | \___attribute 'name' = 'escape-ws' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | \___attribute 'name' = 'text' | | | \___attribute 'select' = '.' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\'\n' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = 'comment()' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '___comment \'' | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | \___attribute 'select' = '.' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'\n' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'match' = 'processing-instruction()' | | \___attribute 'mode' = 'ascii-art' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '___processing instruction target=\'' | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | \___attribute 'select' = 'name()' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\' instruction=\'' | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | \___attribute 'select' = '.' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\'\n' | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n' |___text '\n\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'name' = 'ascii-art-hierarchy' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'for-each' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:for-each') | | | \___attribute 'select' = 'ancestor::*' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'choose' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:choose') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | | \___attribute 'test' = 'following-sibling::node()' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text ' | ' | | | |___text '\n ' | | | |___element 'otherwise' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:otherwise') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text ' ' | | | |___text '\n ' | | |___text '\n ' | |___text '\n ' | |___element 'choose' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:choose') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | \___attribute 'test' = 'parent::node() and ../child::node()' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text ' |' | | |___text '\n ' | | |___element 'otherwise' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:otherwise') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text ' ' | | |___text '\n ' | |___text '\n' |___text '\n\n' |___comment ' recursive template to escape backslashes, apostrophes, newlines and tabs ' |___text '\n' |___element 'template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:template') | | \___attribute 'name' = 'escape-ws' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:param') | | \___attribute 'name' = 'text' | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | |___text '\n ' | |___element 'choose' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:choose') | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | \___attribute 'test' = 'contains($text, \'\\\')' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-before($text, \'\\\')' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\\\\' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-after($text, \'\\\')' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | |___text '\n ' | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | \___attribute 'test' = 'contains($text, $apos)' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-before($text, $apos)' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\\\'' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-after($text, $apos)' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | |___text '\n ' | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | \___attribute 'test' = 'contains($text, \'\n\')' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-before($text, \'\n\')' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\\n' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-after($text, \'\n\')' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | |___text '\n ' | | |___element 'when' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:when') | | | | \___attribute 'test' = 'contains($text, \'\t\')' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | | \___attribute 'select' = 'substring-before($text, \'\t\')' | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___text '\n ' | | | |___element 'text' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:text') | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\\t' | | | |___text '\n ' | | | |___element 'call-template' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:call-template') | | | | | \___attribute 'name' = 'escape-ws' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | | |___element 'with-param' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:with-param') | | | | | \___attribute 'name' = 'text' | | | | | \___attribute 'select' = 'substring-after($text, \'\t\')' | | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | | |___text '\n ' | | | |___text '\n ' | | |___text '\n ' | | |___element 'otherwise' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:otherwise') | | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | | |___element 'value-of' in ns 'http://www.w3.org/1999/XSL/Transform' ('xsl:value-of') | | | \___attribute 'select' = '$text' | | | \___namespace 'xml' = 'http://www.w3.org/XML/1998/namespace' | | | \___namespace 'xsl' = 'http://www.w3.org/1999/XSL/Transform' | | |___text '\n ' | |___text '\n' |___text '\n\n'