mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-07-31 02:43:06 +03:00
We will need more hackers to understand how this works:
- doc/internals.html doc/node.fig doc/node.gif doc/processing.fig doc/processing.gif doc/stylesheet.fig doc/stylesheet.gif doc/templates.fig doc/templates.gif: started writing tye doc on how libxslt works. Daniel
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Sat May 5 17:52:52 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||||
|
|
||||||
|
* doc/internals.html doc/node.fig doc/node.gif doc/processing.fig
|
||||||
|
doc/processing.gif doc/stylesheet.fig doc/stylesheet.gif
|
||||||
|
doc/templates.fig doc/templates.gif: started writing tye doc
|
||||||
|
on how libxslt works.
|
||||||
|
|
||||||
Sat May 5 17:13:16 CEST 2001 Bjorn Reese <breese@users.sourceforge.net>
|
Sat May 5 17:13:16 CEST 2001 Bjorn Reese <breese@users.sourceforge.net>
|
||||||
|
|
||||||
* libxslt/numbersInternals.h libxslt/numbers.c
|
* libxslt/numbersInternals.h libxslt/numbers.c
|
||||||
|
233
doc/internals.html
Normal file
233
doc/internals.html
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>The XML C library for Gnome</title>
|
||||||
|
<meta name="GENERATOR" content="amaya V4.1">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body bgcolor="#ffffff">
|
||||||
|
<p><a href="http://www.gnome.org/"><img src="smallfootonly.gif"
|
||||||
|
alt="Gnome Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif"
|
||||||
|
alt="Red Hat Logo"></a></p>
|
||||||
|
|
||||||
|
<h1 align="center">The XSLT C library for Gnome explained</h1>
|
||||||
|
|
||||||
|
<h1 style="text-align: center">How does it work ?</h1>
|
||||||
|
|
||||||
|
<p></p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Introducti">Introduction</a></li>
|
||||||
|
<li><a href="#Basics">Basics</a></li>
|
||||||
|
<li><a href="#Keep">Keep it simple stupid</a></li>
|
||||||
|
<li><a href="#libxml">The libxml nodes</a></li>
|
||||||
|
<li><a href="#XSLT">The XSLT processing steps</a></li>
|
||||||
|
<li><a href="#XSLT1">The XSLT stylesheet compilation</a></li>
|
||||||
|
<li><a href="#XSLT2">The XSLT template compilation</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="Introducti">Introduction</a></h2>
|
||||||
|
|
||||||
|
<p>This document describes the processing of <a
|
||||||
|
href="http://xmlsoft.org/XSLT/">libxslt</a>, the <a
|
||||||
|
href="http://www.w3.org/TR/xslt">XSLT</a> C library developped for the <a
|
||||||
|
href="http://www.gnome.org/">Gnome</a> project.</p>
|
||||||
|
|
||||||
|
<h2><a name="Basics">Basics</a></h2>
|
||||||
|
|
||||||
|
<p>XSLT is a transformation language, taking an input document and a
|
||||||
|
stylesheet document, it generates an ouput document:</p>
|
||||||
|
|
||||||
|
<p align="center"><img src="processing.gif"
|
||||||
|
alt="the XSLT processing model"></p>
|
||||||
|
|
||||||
|
<p>Libxslt is written in C. It relies on libxml for the following
|
||||||
|
operations:</p>
|
||||||
|
<ul>
|
||||||
|
<li>parsing files</li>
|
||||||
|
<li>building the in-memory DOM strucure associated to the documents
|
||||||
|
handled</li>
|
||||||
|
<li>the XPath implementation</li>
|
||||||
|
<li>serializing back the result document to XML, HTML (text is handled
|
||||||
|
directly)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="Keep">Keep it simple stupid</a></h2>
|
||||||
|
|
||||||
|
<p>Libxslt is not very specialized, it is build under the assumption that all
|
||||||
|
nodes from the source and output document can fit in the virtual memory of the
|
||||||
|
system. There is a big trade-off there, it is fine for reasonably sized
|
||||||
|
documents but may not be suitable for large sets of data, the gain is that it
|
||||||
|
can be used in a relatively versatile way, the input or output may never be
|
||||||
|
serialized, but the size of documents it can handle are limited by the size of
|
||||||
|
the memory available.</p>
|
||||||
|
|
||||||
|
<p>More specialized memory handling approaches are possible, like building the
|
||||||
|
input tree from a serialization progressively as it is consumed, factoring
|
||||||
|
repetitive patterns, or even on-the-fly generation of the output as the input
|
||||||
|
is parsed but it is possible only for a limited subset of the stylesheets. In
|
||||||
|
general the implementation of libxslt follows the following pattern:</p>
|
||||||
|
<ul>
|
||||||
|
<li>KISS (keep it simple stupid)</li>
|
||||||
|
<li>when there is a clear bottleneck optimize on top of this simple
|
||||||
|
framework and refine only as much as is needed to reach the expected
|
||||||
|
result</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>The result is not that bad, clearly one can do a better job but more
|
||||||
|
specialized too. Most optimization like building the tree on-demand would need
|
||||||
|
serious changes to the libxml XPath framework, an easy step would be to
|
||||||
|
serialize the output directly (or call a set of SAX-like ouptut handler to
|
||||||
|
keep this a flexible interface) and hence avoid the memory consumption of the
|
||||||
|
result.</p>
|
||||||
|
|
||||||
|
<h2><a name="libxml">The libxml nodes</a></h2>
|
||||||
|
|
||||||
|
<p>DOM like trees as used and generated by libxml and libxslt are relatively
|
||||||
|
complex. Most node types follow the given structure except a few variations
|
||||||
|
depending on the node type:</p>
|
||||||
|
|
||||||
|
<p align="center"><img src="node.gif" alt="description of a libxml node"> </p>
|
||||||
|
|
||||||
|
<p>Nodes carry a <strong>name</strong> and the node <strong>type</strong>
|
||||||
|
indicates the kind of node it represents, the most common ones are:</p>
|
||||||
|
<ul>
|
||||||
|
<li>document nodes</li>
|
||||||
|
<li>element nodes</li>
|
||||||
|
<li>text nodes</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>For the XSLT processing, entity nodes should not be generated (i.e. they
|
||||||
|
should be replaced by their content). Most nodes also contains the following
|
||||||
|
"naviagtion" informations:</p>
|
||||||
|
<ul>
|
||||||
|
<li>the containing <strong>doc</strong>ument</li>
|
||||||
|
<li>the <strong>parent</strong> node</li>
|
||||||
|
<li>the first <strong>children</strong> node</li>
|
||||||
|
<li>the <strong>last</strong> children node</li>
|
||||||
|
<li>the <strong>prev</strong>ious sibling</li>
|
||||||
|
<li>the following sibling (<strong>next</strong>)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Elements nodes carries the list of attributes in the properties, an
|
||||||
|
attribute itself holds the navigation pointers and the children list (the
|
||||||
|
attribute value is not represented as a simple string to allow usage of
|
||||||
|
entities references).</p>
|
||||||
|
|
||||||
|
<p>The <strong>ns</strong> points to the namespace declaration for the
|
||||||
|
namespace associated to the node, <strong>nsDef</strong> is the linked list of
|
||||||
|
namespace declaration present on element nodes.</p>
|
||||||
|
|
||||||
|
<p>Most nodes also carry an <strong>_private</strong> pointer which can be
|
||||||
|
used by the application to hold specific data on this node.</p>
|
||||||
|
|
||||||
|
<h2><a name="XSLT">The XSLT processing steps</a></h2>
|
||||||
|
|
||||||
|
<p> Basically there is a few steps which are clearly decoupled at the
|
||||||
|
interface level:</p>
|
||||||
|
<ol>
|
||||||
|
<li>parse the stylesheet and generate an DOM tree</li>
|
||||||
|
<li>take the stylesheet tree and build a compiled version of it it's the
|
||||||
|
compilation phase</li>
|
||||||
|
<li>the input and generate a DOM tree</li>
|
||||||
|
<li>process the stylesheet against the input tree and generate an output
|
||||||
|
tree</li>
|
||||||
|
<li>serialize the output tree</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p>A few things should be noted here:</p>
|
||||||
|
<ul>
|
||||||
|
<li>the steps 1/ 3/ and 5/ are optional</li>
|
||||||
|
<li>the stylesheet optained at 2/ can be reused by multiple processing 4/
|
||||||
|
(and this should also work in threaded programs)</li>
|
||||||
|
<li>the tree provided in 2/ should never be freed using xmlFreeDoc, but by
|
||||||
|
freeing the stylesheet.</li>
|
||||||
|
<li>the input tree 4/ is not modified except the _private field which may be
|
||||||
|
used for labelling keys if used by the stylesheet</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="XSLT1">The XSLT stylesheet compilation</a></h2>
|
||||||
|
|
||||||
|
<p>This is the second step described. It takes a stylesheet tree, and
|
||||||
|
"compiles" it, basically it associates to each node a structure stored in the
|
||||||
|
_private field and containing informations computed in the stylesheet:</p>
|
||||||
|
|
||||||
|
<p align="center"><img src="stylesheet.gif"
|
||||||
|
alt="a compiled XSLT stylesheet"></p>
|
||||||
|
|
||||||
|
<p>One xsltStylesheet structure is generated per document parsed for the
|
||||||
|
stylesheet. XSLT documents allows includes and imports of other documents,
|
||||||
|
imports are stored in the <strong>imports</strong> list (hence keeping the
|
||||||
|
tree hierarchy of includes which is very important for a proper XSLT
|
||||||
|
processing model) and includes are stored in the <strong>doclist</strong>
|
||||||
|
list. An inported stylesheet has a parent link to allow to browse the
|
||||||
|
tree.</p>
|
||||||
|
|
||||||
|
<p>The DOM tree associated to the document is stored in <strong>doc</strong>,
|
||||||
|
it is preprocessed to remove ignorable empty nodes and all the nodes in the
|
||||||
|
XSLT namespace are subject to a precomputing. This usually consist of
|
||||||
|
extrating all the context informations from the context tree (attributes,
|
||||||
|
namespaces, XPath expressions), and store them in an xsltStylePreComp
|
||||||
|
structure associated to the <strong>_private</strong> field of the node.</p>
|
||||||
|
|
||||||
|
<p>A couple of notable exceptions to this are XSLT template nodes (more on
|
||||||
|
this later) and attribute value templates, if they are actually templates, the
|
||||||
|
value cannot be computed at compilation time (some preprocessing could be done
|
||||||
|
like isolation and preparsing of the XPath subexpressions but it's not done,
|
||||||
|
yet).</p>
|
||||||
|
|
||||||
|
<p>The xsltStylePreComp structure also allow to store the precompiled form of
|
||||||
|
an XPath expression which can be associated to an XSLT element.</p>
|
||||||
|
|
||||||
|
<h2><a name="XSLT2">The XSLT template compilation</a></h2>
|
||||||
|
|
||||||
|
<p>A proper handling of templates lookup is one of the key of fast XSLT
|
||||||
|
processing (given a node in the source document this is the processof finding
|
||||||
|
which templates should be applied to this node). Libxslt follows the hint
|
||||||
|
suggested in the 5.2 Patterns section of the XSLT Recommendation, i.e. it
|
||||||
|
doesn't evaluates it as an XPath expression but tokenize it and compile it as
|
||||||
|
a set of rules to be evaluated on a candidate node. There is usually an
|
||||||
|
indication of the node name in the last step of this evaluation and this is
|
||||||
|
used as a key check for the match. As a result libxslt build a relatively more
|
||||||
|
complex set of structures for the templates:</p>
|
||||||
|
|
||||||
|
<p align="center"><img src="templates.gif"
|
||||||
|
alt="The templates related structure"></p>
|
||||||
|
|
||||||
|
<p>Let's describe a bit more closely what is built. First the xsltStylesheet
|
||||||
|
structure holds a pointer to the template hash table. All the XSLT patterns
|
||||||
|
compiled in this stylesheet are indexed by the value of the the target element
|
||||||
|
(or attribute, pi ...) name, so when a element or an attribute "foo" need to
|
||||||
|
be processed the lookup is done using the name as a key.</p>
|
||||||
|
|
||||||
|
<p>Each of the patterns are compiled into an xsltCompMatch structure, it holds
|
||||||
|
the set of rules based on the tokenization of the pattern basically stored in
|
||||||
|
reverse order (matching is easier this way). It also holds some information
|
||||||
|
about the previous matches used to speed up the process when one iterates over
|
||||||
|
a set of siblings (this optimization may be defeated by trashing when running
|
||||||
|
threaded computation, it's unclear taht this si a big deal in practice).
|
||||||
|
Predicates expression are not compiled at this stage, they may be at run-time
|
||||||
|
if needed, but in this case they are compiled as full XPath expressions (the
|
||||||
|
use of some fixed predicate can probably be optimized, they are not yet).</p>
|
||||||
|
|
||||||
|
<p>The xsltCompMatch are then stored in the hash table, the clash list is
|
||||||
|
itself sorted by priority of the template to implement "naturally" the XSLT
|
||||||
|
priority rules.</p>
|
||||||
|
|
||||||
|
<p>Associated to the compiled pattern is the xsltTemplate itself containing
|
||||||
|
the informations actually required for the processing of the pattern including
|
||||||
|
of course a pointer to the list of elements used for building the pattern
|
||||||
|
result.</p>
|
||||||
|
|
||||||
|
<p>Last but not least a number of patterns do not fit in the hash table
|
||||||
|
because they are not associated to a name, this is the case for patterns
|
||||||
|
applying to the root, any element, any attributes, text nodes, pi nodes, keys
|
||||||
|
etc. Those are stored independantly in the stylesheet structure as separate
|
||||||
|
linked lists of xsltCompMatch.</p>
|
||||||
|
|
||||||
|
<p></p>
|
||||||
|
|
||||||
|
<p><a href="mailto:Daniel.Veillard@imag.fr">Daniel Veillard</a></p>
|
||||||
|
|
||||||
|
<p>$Id$</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
91
doc/node.fig
Normal file
91
doc/node.fig
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
#FIG 3.2
|
||||||
|
Landscape
|
||||||
|
Center
|
||||||
|
Inches
|
||||||
|
Letter
|
||||||
|
100.00
|
||||||
|
Single
|
||||||
|
-2
|
||||||
|
1200 2
|
||||||
|
6 825 6675 2925 7350
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
|
||||||
|
825 6975 825 6675 2925 6675 2925 6975
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
825 7050 825 7350
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
2925 7050 2925 7350
|
||||||
|
-6
|
||||||
|
6 4500 6675 6600 7350
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
|
||||||
|
4500 6975 4500 6675 6600 6675 6600 6975
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
4500 7050 4500 7350
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
6600 7050 6600 7350
|
||||||
|
-6
|
||||||
|
6 1275 150 3375 825
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
|
||||||
|
1275 525 1275 825 3375 825 3375 525
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
1275 450 1275 150
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
3375 450 3375 150
|
||||||
|
-6
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 2025 4500 2025
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 2400 4500 2400
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 3150 4500 3150
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 3525 4500 3525
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 3900 4500 3900
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 4275 4500 4275
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 4650 4500 4650
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 2775 4500 2775
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2400 5025 4500 5025
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
|
||||||
|
975 1575 1725 1575 1725 5625 1125 5625
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
600 1575 900 1575
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
750 5625 1050 5625
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
|
||||||
|
5925 1575 5175 1575 5175 5625 5775 5625
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
6300 1575 6000 1575
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
6150 5625 5850 5625
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
2400 1575 4500 1575 4500 5625 2400 5625 2400 1575
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
2700 3300 1725 3300
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
3975 2925 5175 2925
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
2700 2625 2700 825
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
2700 3750 1575 6675
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
3975 4125 5475 6675
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 915 2850 1875 _private\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 225 465 2850 2250 type\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 135 255 2850 4500 ns\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1125 2850 4875 properties\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 855 2850 5325 content\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 30 180 2850 5550 ...\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 495 2850 3375 prev\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 390 2850 4200 last\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 495 2850 3000 next\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 930 2850 3825 children\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 225 720 2850 2625 parent\001
|
BIN
doc/node.gif
Normal file
BIN
doc/node.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
137
doc/processing.fig
Normal file
137
doc/processing.fig
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
#FIG 3.2
|
||||||
|
Landscape
|
||||||
|
Center
|
||||||
|
Inches
|
||||||
|
Letter
|
||||||
|
100.00
|
||||||
|
Single
|
||||||
|
-2
|
||||||
|
1200 2
|
||||||
|
6 5850 225 9675 4500
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
7050 450 7575 450 7575 975 7050 975 7050 450
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
6225 1275 6750 1275 6750 1800 6225 1800 6225 1275
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
6225 2175 6750 2175 6750 2700 6225 2700 6225 2175
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
7350 2175 7875 2175 7875 2700 7350 2700 7350 2175
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
8550 1350 9075 1350 9075 1875 8550 1875 8550 1350
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
7350 975 6750 1275
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
6525 1800 6525 2175
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
6750 1575 8550 1575
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
6750 2475 7350 2475
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
7650 2700 7650 3225
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
8175 3225 8700 3225 8700 3750 8175 3750 8175 3225
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
7425 3225 7950 3225 7950 3750 7425 3750 7425 3225
|
||||||
|
3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
|
||||||
|
7650 225 6675 300 6075 1050 5850 2400 6150 3525 7800 4500
|
||||||
|
9375 4200 9675 2400 9375 1050 8400 375
|
||||||
|
1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
|
||||||
|
1.000 1.000
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 720 6150 3075 html:a\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 705 8475 2250 TEXT\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 705 8100 4125 TEXT\001
|
||||||
|
-6
|
||||||
|
2 3 0 2 0 7 50 0 -1 0.000 0 0 0 0 0 7
|
||||||
|
4875 2400 5180 1878 4880 1353 4275 1350 3970 1872 4270 2397
|
||||||
|
4875 2400
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
1425 600 1950 600 1950 1125 1425 1125 1425 600
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
450 1650 975 1650 975 2175 450 2175 450 1650
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
1500 1650 2025 1650 2025 2175 1500 2175 1500 1650
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
450 2775 975 2775 975 3300 450 3300 450 2775
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
1500 2775 2025 2775 2025 3300 1500 3300 1500 2775
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
2550 2775 3075 2775 3075 3300 2550 3300 2550 2775
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1725 1125 975 1650
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
975 1875 1500 1875
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
750 2175 750 2775
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1800 2175 1800 2775
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2025 3075 2550 3075
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
5175 6525 5700 6525 5700 7050 5175 7050 5175 6525
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
4800 3900 5325 3900 5325 4425 4800 4425 4800 3900
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
4800 4425 4425 4875
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
3225 5625 3750 5625 3750 6150 3225 6150 3225 5625
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
4125 6525 4650 6525 4650 7050 4125 7050 4125 6525
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
3075 6525 3600 6525 3600 7050 3075 7050 3075 6525
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
5175 5625 5700 5625 5700 6150 5175 6150 5175 5625
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
4200 4875 4725 4875 4725 5400 4200 5400 4200 4875
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
4200 5400 3750 5625
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
3450 6150 3300 6525
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
3750 5925 5175 5925
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
3600 6750 4125 6750
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
5475 6150 5475 6525
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
4650 3675 4650 2400
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
5175 1875 6150 1875
|
||||||
|
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 3.00 180.00 360.00
|
||||||
|
2625 1875 3975 1875
|
||||||
|
3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
|
||||||
|
1650 300 825 525 225 1350 150 2850 675 3825 2325 3975
|
||||||
|
3375 3450 3675 2325 2625 975 2025 300
|
||||||
|
1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
|
||||||
|
1.000 1.000
|
||||||
|
3 1 0 1 0 7 50 0 -1 0.000 0 0 0 10
|
||||||
|
4725 3300 3600 3600 2700 4350 2475 5550 2625 7275 4275 7875
|
||||||
|
6000 7725 7200 6375 6675 4575 5775 3525
|
||||||
|
1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
|
||||||
|
1.000 1.000
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1470 3225 4200 xsl:stylesheet\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1350 4800 5175 xsl:template\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 720 4125 6450 html:a\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 705 5400 7350 TEXT\001
|
||||||
|
4 0 0 50 0 0 20 0.0000 4 285 2115 3525 1200 XSLT Processing\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1140 1350 5250 Stylesheet\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 1935 4575 525 Result Document\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 1995 2250 525 Source Document\001
|
BIN
doc/processing.gif
Normal file
BIN
doc/processing.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.0 KiB |
104
doc/stylesheet.fig
Normal file
104
doc/stylesheet.fig
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
#FIG 3.2
|
||||||
|
Landscape
|
||||||
|
Center
|
||||||
|
Inches
|
||||||
|
Letter
|
||||||
|
100.00
|
||||||
|
Single
|
||||||
|
-2
|
||||||
|
1200 2
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
2400 3075 2925 3075 2925 3600 2400 3600 2400 3075
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
2025 450 2550 450 2550 975 2025 975 2025 450
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
5400 375 7050 375 7050 3225 5400 3225 5400 375
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 750 7050 750
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1125 7050 1125
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1500 7050 1500
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1875 7050 1875
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 2250 7050 2250
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2025 975 1650 1425
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
450 2175 975 2175 975 2700 450 2700 450 2175
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
1350 3075 1875 3075 1875 3600 1350 3600 1350 3075
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
300 3075 825 3075 825 3600 300 3600 300 3075
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
2400 2175 2925 2175 2925 2700 2400 2700 2400 2175
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
1425 1425 1950 1425 1950 1950 1425 1950 1425 1425
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1425 1950 975 2175
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
675 2700 525 3075
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
975 2475 2400 2475
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
825 3300 1350 3300
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2700 2700 2700 3075
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
5550 2025 2550 450
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
2100 5025 3750 5025 3750 7425 2100 7425 2100 5025
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
600 3600 2475 5025
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 2850 7050 2850
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
6225 3150 3750 5025
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2100 5325 3750 5325
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2100 5625 3750 5625
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
2100 5925 3750 5925
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2250 5775 450 3600
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
|
||||||
|
5250 5025 4575 5025 4575 6300
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
5325 5025 5550 5025
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
4575 6375 4575 6600
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
3150 5175 4575 5175
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2925 2700 5100 5025
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 225 720 5700 675 parent\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 495 5700 1050 next\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 870 5700 1425 imports\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 735 5700 1800 doclist\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 390 5700 2175 doc\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1470 450 750 xsl:stylesheet\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1350 2025 1725 xsl:template\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1140 5700 3075 preComps\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 495 2475 5250 next\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 225 465 2475 5550 type\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 420 2475 5850 inst\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 915 1350 4050 _private\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 720 1350 3000 html:a\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 705 2625 3900 TEXT\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 915 3375 3000 _private\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 2010 4050 6900 xsltStylePreComp\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1455 3900 600 xslStylesheet\001
|
BIN
doc/stylesheet.gif
Normal file
BIN
doc/stylesheet.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
138
doc/templates.fig
Normal file
138
doc/templates.fig
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
#FIG 3.2
|
||||||
|
Landscape
|
||||||
|
Center
|
||||||
|
Inches
|
||||||
|
Letter
|
||||||
|
100.00
|
||||||
|
Single
|
||||||
|
-2
|
||||||
|
1200 2
|
||||||
|
6 3225 5700 4200 7200
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
|
||||||
|
3900 5700 3225 5700 3225 6825
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
3975 5700 4200 5700
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
3225 6900 3225 7200
|
||||||
|
-6
|
||||||
|
6 3150 2475 4125 3975
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
|
||||||
|
3825 2475 3150 2475 3150 3600
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
3900 2475 4125 2475
|
||||||
|
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
|
||||||
|
3150 3675 3150 3975
|
||||||
|
-6
|
||||||
|
2 2 0 1 1 1 50 0 20 0.000 0 0 -1 0 0 5
|
||||||
|
3900 6975 4425 6975 4425 7500 3900 7500 3900 6975
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2175 5850 5400 3075
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2175 7650 4050 6975
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2175 7950 3750 8250
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 750 7050 750
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1050 7050 1050
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1350 7050 1350
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1650 7050 1650
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 1950 7050 1950
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 2250 7050 2250
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
5475 900 2250 900
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1350 1125 1350 2475
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
750 5700 2400 5700 2400 8100 750 8100 750 5700
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 6000 2400 6000
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 7500 2400 7500
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 7800 2400 7800
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 6300 2400 6300
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1800 6150 3225 6150
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 6600 2400 6600
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 6900 2400 6900
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
750 7200 2400 7200
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
675 2475 2325 2475 2325 4200 675 4200 675 2475
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
675 2775 2325 2775
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
675 3075 2325 3075
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
675 3900 2325 3900
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
675 3525 2325 3525
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
1875 2625 3150 2625
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
2100 4050 2100 5700
|
||||||
|
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
|
||||||
|
2175 1800 2175 525 675 525 675 1800 2175 1800
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
3675 8250 4125 8250 4125 8700 3675 8700 3675 8250
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
4575 8250 5025 8250 5025 8700 4575 8700 4575 8250
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
4200 7500 3900 8250
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
4125 8475 4575 8475
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
3900 8700 3900 9375
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
3675 9375 4125 9375 4125 9825 3675 9825 3675 9375
|
||||||
|
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
|
||||||
|
5400 750 7050 750 7050 3600 5400 3600 5400 750
|
||||||
|
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
|
||||||
|
5400 3225 7050 3225
|
||||||
|
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
|
||||||
|
1 1 2.00 120.00 240.00
|
||||||
|
5550 3450 2400 5775
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1350 4125 6750 xsl:template\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1545 5475 975 templateHash\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1350 750 1050 hash(name)\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 540 1275 7725 elem\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 855 1200 8025 content\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 510 1125 5925 style\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 495 1125 6225 next\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 840 1125 6525 priority\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 135 615 1125 6825 name\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 615 1125 7140 mode\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 975 975 4125 template\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 735 1200 3375 steps[]\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 165 495 1200 2700 next\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 615 1200 3000 mode\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1470 300 5550 xsltTemplate\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1800 1650 2325 xsltCompMatch\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 2250 900 375 Template hash table\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1455 5700 525 xslStylesheet\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 2805 4650 7950 Stylesheet document tree\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 1185 5550 1575 rootMatch\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1095 5550 1875 keyMatch\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 1260 5550 2175 elemMatch\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 195 1125 5550 2490 attrMatch\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 30 180 5550 2805 ...\001
|
||||||
|
4 0 0 50 0 0 18 0.0000 4 255 1080 5625 3525 templates\001
|
BIN
doc/templates.gif
Normal file
BIN
doc/templates.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.8 KiB |
Reference in New Issue
Block a user