Subject: RE: [xsl] Automatically copying an element's attributes and their values From: "Michael Kay" <mhk@xxxxxxxxx> Date: Mon, 8 Sep 2003 15:35:45 +0100 |
I removed the xml:space="preserve" from your stylesheet (because it causes <xsl:choose> to have text child nodes, which are not allowed), and added <xsl:output indent="yes" so I could see what was happening, and it produced this: <ns0:paper xmlns:ns0="http://www.dmsi-world.com/ns/paper" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibra ry/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" id="" level="" area="" presdate="" prestime=""> <ns0:para> <w:p> <w:pPr> <w:rPr> <w:rFonts w:cs="Arial"/> <w:sz-cs w:val="20"/> </w:rPr> </w:pPr> <w:r> <w:t>Some text here </w:t> </w:r> <ns0:acronym.grp> <ns0:acronym refid="IC"> <w:r> <w:rPr> <w:rStyle w:val="Acronym"/> </w:rPr> <w:t>IC's</w:t> </w:r> </ns0:acronym> <ns0:expansion id="IC"> <w:r> <w:t> (Intelligence Community)</w:t> </w:r> </ns0:expansion> </ns0:acronym.grp> <w:r> <w:t> more text goes here </w:t> </w:r> <ns0:acronym.grp> <ns0:acronym refid="HTML"> <w:r> <w:rPr> <w:rStyle w:val="Acronym"/> </w:rPr> <w:t>HTML</w:t> </w:r> </ns0:acronym> <ns0:expansion id="HTML"> <w:r> <w:t> (HyperText Markup Language)</w:t> </w:r> </ns0:expansion> </ns0:acronym.grp> <w:r> <w:t> final bit of text.</w:t> </w:r> </w:p> </ns0:para> </ns0:paper> As far as I can see the attributes of the <ns0:acronym> element have been copied correctly. This was with Saxon 6.5.3. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mary McRae > Sent: 08 September 2003 14:35 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Automatically copying an element's > attributes and their values > > > Sorry, I'm sure the xsl is a bit more than you > expected. The attributes come through fine where I > explicitly create them; but no attribute shows up > on the acronym element where I've put in > <xsl:copy-of select="@*"/> > > Thanks again for any help! > > Mary > > -------- > > Test input snippet: > <?xml version="1.0" encoding="utf-8" > standalone="no"?> > <paper xmlns="http://www.dmsi-world.com/ns/paper" > id="" level="" area="" presdate="" prestime="" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan > ce" > xsi:schemaLocation="http://www.dmsi-world.com/ns/p > aper DMSi_paper.xsd"> > <para>Some text here <acronym.grp><acronym > refid="IC">IC's</acronym><expansion > id="IC">Intelligence > Community</expansion></acronym.grp> more text goes > here <acronym.grp><acronym > refid="HTML">HTML</acronym><expansion > id="HTML">HyperText Markup > Language</expansion></acronym.grp> final bit of > text.</para> > </paper> > > ------- > > Test xsl snippet: > <?xml version="1.0" encoding="UTF-8" > standalone="yes"?> > <?mso-application progid="Word.Document"?> > <xsl:stylesheet version="1.0" > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:w="http://schemas.microsoft.com/office/word/ > 2003/wordml" > > xmlns:wx="http://schemas.microsoft.com/office/word > /2003/auxHint" > xmlns:ns0="http://www.dmsi-world.com/ns/paper" > xmlns:v="urn:schemas-microsoft-com:vml" > > xmlns:w10="urn:schemas-microsoft-com:office:word" > > xmlns:sl="http://schemas.microsoft.com/schemaLibra > ry/2003/core" > > xmlns:aml="http://schemas.microsoft.com/aml/2001/c > ore" > > xmlns:o="urn:schemas-microsoft-com:office:office" > > xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C1488 > 2" > > xmlns:st1="urn:schemas-microsoft-com:office:smartt > ags" > xml:space="preserve"> > > <xsl:template match="/"> > <ns0:paper id="{ns0:paper/@id}" > level="{ns0:paper/@level}" > area="{ns0:paper/@area}" > presdate="{ns0:paper/@presdate}" > prestime="{paper/@prestime}"> > <xsl:apply-templates/> > </ns0:paper> > </xsl:template> > > <xsl:template match="ns0:para"> > <xsl:choose> > <xsl:when test="@id"> > <ns0:para id="{@id}"> > <w:p> > <w:pPr> > <w:rPr> > <w:rFonts w:cs="Arial"/> > <w:sz-cs w:val="20"/> > </w:rPr> > </w:pPr> > <xsl:apply-templates mode="para"/> > </w:p> > </ns0:para> > </xsl:when> > <xsl:otherwise> > <ns0:para> > <w:p> > <w:pPr> > <w:rPr> > <w:rFonts w:cs="Arial"/> > <w:sz-cs w:val="20"/> > </w:rPr> > </w:pPr> > <xsl:apply-templates mode="para"/> > </w:p> > </ns0:para> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > > <xsl:template match="text()" mode="para"> > <w:r> > <w:t><xsl:value-of select="."/></w:t> > </w:r> > </xsl:template> > > <xsl:template match="ns0:acronym.grp" mode="para"> > <ns0:acronym.grp> > <xsl:apply-templates/> > </ns0:acronym.grp> > </xsl:template> > > <!-- testing version --> > <xsl:template match="ns0:acronym"> > <ns0:acronym> > <xsl:copy-of select="@*"/> > <w:r> > <w:rPr> > <w:rStyle w:val="Acronym"/> > </w:rPr> > <w:t><xsl:apply-templates/></w:t> > </w:r> > </ns0:acronym> > </xsl:template> > <!-- end of test --> > > <xsl:template match="ns0:expansion"> > <xsl:choose> > <xsl:when test="@id"> > <ns0:expansion id="{@id}"> > <w:r><w:t> (<xsl:apply-templates/>)</w:t></w:r> > </ns0:expansion> > </xsl:when> > <xsl:otherwise> > <ns0:expansion> > <w:r><w:t> (<xsl:apply-templates/>)</w:t></w:r> > </ns0:expansion> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > > </xsl:stylesheet> > > ----------------- > > > > No that has no bearing on the copying of the > attribute nodes. > > Show a (complete, small) sample input and > template... > > > > David > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Entering invalid XML in X, Mary McRae | Thread | RE: [xsl] Automatically copying an , Mary McRae |
RE: [xsl] A difference in node buil, Michael Kay | Date | RE: [xsl] Treating a source documen, Michael Kay |
Month |