3 Nested Paragraphs (OoUtilities)
<xsl:template match="text:p[ @text:style-name = ’start_subjclass’
]" >
<xsl:comment>
<xsl:text>start-subjclass</xsl:text>
</xsl:comment>
<xsl:apply-templates select="*|text()|comment()" />
</xsl:template>
<xsl:template match="text:p[ @text:style-name = ’end_subjclass’>
<xsl:apply-templates select="*|text()|comment()" />
<xsl:comment>
<xsl:text>end-subjclass</xsl:text>
</xsl:comment>
</xsl:template>
-_-_-
<xsl:template match="text:p[ (count(child::*)=1)
and child::draw:frame
and parent::text:p
]" >
<xsl:apply-templates select="child::draw:frame" />
</xsl:template>
-_-_-
<xsl:template match="text:p[
child::text:p
and
(count(child::text:p) = count(child::*))
]" >
<!--xsl:copy>
<xsl:attribute name="text:style-name">
<xsl:text>start_</xsl:text>
<xsl:value-of select="@text:style-name" />
</xsl:attribute-->
<xsl:comment>
<xsl:text>start </xsl:text>
<xsl:value-of select=" @text:style-name " />
</xsl:comment>
<!--/xsl:copy-->
<xsl:apply-templates select="*|text()|comment()" mode="nested-p" />
<!--xsl:copy>
<xsl:attribute name="text:style-name">
<xsl:text>end</xsl:text>
<xsl:value-of select="@text:style-name" />
</xsl:attribute-->
<xsl:comment>
<xsl:text>end_</xsl:text>
<xsl:value-of select=" @text:style-name " />
</xsl:comment>
<!--/xsl:copy-->
</xsl:template>
-_-_-
<xsl:template match="*[not(text:p)]|text()|comment()" mode="nested-p" >
<xsl:copy/>
</xsl:template>
-_-_-
<xsl:template match="text:p" mode="nested-p" >
<xsl:copy>
<xsl:attribute name="text:style-name">
<xsl:value-of select="parent::text:p/@text:style-name" />
<xsl:text>_</xsl:text>
<xsl:value-of select="@text:style-name" />
<xsl:text>_</xsl:text>
<xsl:value-of select="child::*[1]/@text:style-name" />
</xsl:attribute>
<xsl:apply-templates select="@*[ name() != ’text:style-name’ ]" />
<xsl:apply-templates select="*|text()|comment()" />
</xsl:copy>
</xsl:template>
-_-_-
<xsl:template
match="text:p[
parent::text:p/@text:style-name=’printthebibliography-dd’
]"
mode="nested-p" >
<xsl:copy>
<xsl:attribute name="text:style-name">
<xsl:value-of select="’printthebibliography-dd’" />
</xsl:attribute>
<xsl:apply-templates select="@*[ name() != ’text:style-name’ ]" />
<xsl:apply-templates select="*|text()|comment()" />
</xsl:copy>
</xsl:template>
-_-_-
<xsl:template match="text:p[ child::text:span[
starts-with(@text:style-name, ’multicolumn-’)
] ]" >
<xsl:copy>
<xsl:apply-templates
select="child::text:span[
starts-with(@text:style-name, ’multicolumn-’) ]
/@*
" />
<xsl:apply-templates select="*|text()|comment()" />
</xsl:copy>
</xsl:template>
<xsl:template match="text:span[
starts-with(@text:style-name, ’multicolumn-’) ]" />
-_-_-
System.out.println("handle mixed content " + name);
int i=0;
for( Node nd = first; nd != null; nd = nd.getNextSibling() ){
nodeType = nd.getNodeType();
<.trace mixed content.>
i++;
}
System.out.println("end handle mixed content " + name); -_-_-
System.out.println("text:p into text:section");
-_-_-
System.out.println(
i + " "+ ((Boolean)v.get(i))
+
((nodeType == Node.TEXT_NODE)?
(" TEXT: " + nd.getNodeValue() )
:
(
(nodeType == Node.ELEMENT_NODE)?
(" " + nd.getNodeName())
:
""
)
));
-_-_-
�