xsl-list
[Top] [All Lists]

Re: Linking to a 6 level tag content

2005-06-23 00:47:55
Hi Aron, 

This is the namespaces for the office:document-content

<office:document-content
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:xlink="http://www.w3.org/1999/xlink";
xmlns:dc="http://purl.org/dc/elements/1.1/";
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:math="http://www.w3.org/1998/Math/MathML";
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:ooo="http://openoffice.org/2004/office";
xmlns:ooow="http://openoffice.org/2004/writer";
xmlns:oooc="http://openoffice.org/2004/calc";
xmlns:dom="http://www.w3.org/2001/xml-events";
xmlns:xforms="http://www.w3.org/2002/xforms";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
office:version="1.0">
<office:body>
        <office:spreadsheet>
        <table:table table:name="Sheet1" table:style-name="ta1" 
table:print="false">
            <table:table-column table:style-name="co1"
table:number-columns-repeated="7"
table:default-cell-style-name="Default"/>
        <table:table-row table:style-name="ro1">
        <table:table-cell office:value-type="float" office:value="23">
<text:p>23</text:p>

I actually generate an output by using this simple xsl but it seems
too raw and I have no idea what happened (which means I didnt learn at
all :p)

By simply using the xsl:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:template match="office">
                <xsl:value-of select="text"/>
                </xsl:template>
</xsl:stylesheet>

But I have many doubts.
- Why I can't use the complete tag text:p or table:table-cell or office:xxx?
- Is there a way to identify it?
- How can I link all the way directly to the table:table-cell comming
from office:document (XPath)?

And yes, I am a newbie :p


On 6/23/05, Aron Bock <aronbock(_at_)hotmail(_dot_)com> wrote:
Khalid, you don't need to put in the whole tree, but namespace declarations,
and syntactically complete XML helps.  As it is I've munged up your input:


<office:document-content office:version="1.0"
    xmlns:office="foo-office"
    xmlns:table="foo-table"
    xmlns:text="foo-text"
    >
        <office:body>
        <office:spreadsheet>
              <table:table >
                   <table:table-column />
                 <table:table-row table:style-name="ro1">
                        <table:table-cell office:value-type="float"
office:value="23">
                                  <text:p>23</text:p>
                    </table:table-cell>
            </table:table-row>
          </table:table>
    </office:spreadsheet>
    </office:body>
</office:document-content>

And this XSL:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:office="foo-office"
    xmlns:table="foo-table"
    xmlns:text="foo-text"
    >

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">
        <xsl:value-of select="office:document-content/office:body
            /office:spreadsheet/table:table/table:table-row/table:table-cell
            /text:p"
            />
    </xsl:template>
</xsl:stylesheet>

Outputs:

<?xml version="1.0" encoding="UTF-8"?>
23

Regards,

--A

From: Kahlil Johnson <jzarecta(_at_)gmail(_dot_)com>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Linking to a 6 level tag content
Date: Wed, 22 Jun 2005 23:54:35 +0300

Sorry I meant 23.. I didn't want to put the whole tree just the
relevant tags what I want is to know how exactly to get to the 23
value.

On 6/22/05, Aron Bock <aronbock(_at_)hotmail(_dot_)com> wrote:
Khalil,

I don't see a "test:p > 21" in your input.  The closest is
<text:p>23</text:p>

If you could post a more complete snippet, with namespace decrarations
and
end-tags, and specify if you want top copy the element or get its text
value, I assume people could respond better.

Regards,

--A

From: Kahlil Johnson <jzarecta(_at_)gmail(_dot_)com>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: XSL <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: [xsl] Linking to a 6 level tag content
Date: Wed, 22 Jun 2005 13:03:32 +0300

I have this xml and I want to capture the content  test:p > 21 from
the XSLT however I have problems targeting the branch:

XML: output
<office:document-content office:version="1.0">
      <office:body>
      <office:spreadsheet>
            <table:table >
                   <table:table-column />
               <table:table-row table:style-name="ro1">
                      <table:table-cell office:value-type="float"
office:value="23">
                                  <text:p>23</text:p>

I am using xsltproc to generate an output.

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




-- 
Kahlil Johnson
"Ya tengo GMAIL!!"

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--