Ann: showtree.xsl - exposing the node structure of an instance

Subject: Ann: showtree.xsl - exposing the node structure of an instance
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 Jan 1999 16:21:17 -0500
showtree.xsl - Exposing the node structure of an instance

This stylesheet showtree.xsl is useful for learning the node structure
created by an XSL engine for a given instance. It has been tested on XT
19990115 as matching the 19981216 working draft.

This stylesheet will report the node structure and content of an input
document, noting the ordinal positions in the hierarchy of each component
of the ancestry.

This stylesheet exposes root, element, attribute, text, comment, and pi nodes.

This stylesheet does not (cannot?) expose the namespace nodes (only other
kinds of node).

For example, given the XML instance: 

<?xml version="1.0"?>
<?pi1 value of pi1?>
<!--comment number 1-->
<greeting
  pub-id="+//ISBN 1-894049::CSL::Samples::SHOWTREE//Document SHOWTREE
Test//EN"
  attr2="Value of second attribute">
<purpose>To convey a greeting</purpose>
<test1>A test<test2>of depth<test3>to three levels</test3></test2></test1>
<!--comment number 2-->
<prelude id="start" xmlns:info="http://www.CraneSoftwrights.com/resources/";>
<?pi2 value of pi2?>
<info:detail>Information about Greeting</info:detail>
</prelude>
<value>Hello world!</value>

</greeting>

The resulting output is as follows (note that mailers may interfere with
the display of long lines below):

SHOWTREE Stylesheet - http://www.CraneSoftwrights.com/resources/
Root:
1  Proc. Inst. 'pi1' (root): {value of pi1}
2  Comment (root): {comment number 1}
3  Element 'greeting' (root):
3.1  Attribute 'pub-id' (greeting): {+//ISBN
1-894049::CSL::Samples::SHOWTREE//Document SHOWTREE Test//EN}
3.2  Attribute 'attr2' (greeting): {Value of second attribute}
3.3  Text (greeting): {
}
3.4  Element 'purpose' (greeting):
3.4.1  Text (greeting,purpose): {To convey a greeting}
3.5  Text (greeting): {
}
3.6  Element 'test1' (greeting):
3.6.1  Text (greeting,test1): {A test}
3.6.2  Element 'test2' (greeting,test1):
3.6.2.1  Text (greeting,test1,test2): {of depth}
3.6.2.2  Element 'test3' (greeting,test1,test2):
3.6.2.2.1  Text (greeting,test1,test2,test3): {to three levels}
3.7  Text (greeting): {
}
3.8  Comment (greeting): {comment number 2}
3.9  Text (greeting): {
}
3.10  Element 'prelude' (greeting):
3.10.1  Attribute 'id' (greeting,prelude): {start}
3.10.2  Text (greeting,prelude): {
}
3.10.3  Proc. Inst. 'pi2' (greeting,prelude): {value of pi2}
3.10.4  Text (greeting,prelude): {
}
3.10.5  Element 'http://www.CraneSoftwrights.com/resources/#info:detail'
(greeting,prelude):
3.10.5.1  Text
(greeting,prelude,http://www.CraneSoftwrights.com/resources/#info:detail):
{Information about Greeting}
3.10.6  Text (greeting,prelude): {
}
3.11  Text (greeting): {
}
3.12  Element 'value' (greeting):
3.12.1  Text (greeting,value): {Hello world!}
3.13  Text (greeting): {

}

The stylesheet can be obtained from the resources link below.

.............. Ken


--
G. Ken Holman         mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.  http://www.CraneSoftwrights.com/s/
Box 266,                                V: +1(613)489-0999
Kars, Ontario CANADA K0A-2E0            F: +1(613)489-0995
Training:   http://www.CraneSoftwrights.com/s/schedule.htm
Resources: http://www.CraneSoftwrights.com/s/resources.htm
Shareware: http://www.CraneSoftwrights.com/s/shareware.htm
Next XSL Training (see training link):   WWW8 - 1999-05-11


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread