[Home] [By Thread] [By Date] [Recent Entries]

  • From: Minas Casiou <casi1min@p...>
  • To: David Carlisle <davidc@n...>
  • Date: Wed, 6 Dec 2006 11:24:46 +1100


OK, this time I'll post to the list...!

WORKING:
        -uppercase elements
        -correctly copies over namespaces & prefixes

NOT WORKING:
        - It does not uppercase the attributes.



<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml D:\Source\Services\SoaServices\webMethods\Wrappers\Incident\CAD\IS\IncidentService\Data\Samples\Test\writeOffIncident_VisionCreated_7_Rq.xml?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="identity.xslt"/>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="*" >
<xsl:copy>

<!--        <xsl:element name="{local-name()}"        namespace="{namespace-uri()}"> -->
<!--                
                <xsl:for-each select="../@*">
                                <xsl:attribute name="{name()}" >
                               
                        <xsl:value-of select="translate(. , $vLowercaseChars_CONST , $vUppercaseChars_CONST)"/>
                                </xsl:attribute>
                        </xsl:for-each>
-->
                <xsl:apply-templates select="node()|@*"/>
<!--        </xsl:element>
-->
        </xsl:copy>
</xsl:template>


<xsl:template match="text()" >
                <xsl:value-of select="translate(. , $vLowercaseChars_CONST , $vUppercaseChars_CONST)"/>
        </xsl:template>

        <xsl:variable name="vLowercaseChars_CONST" select="'abcdefghijklmnopqrstuvwxyz'"/>
        <xsl:variable name="vUppercaseChars_CONST" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>



</xsl:stylesheet>



ps. Michael,
RE:
<xsl:copy-of select="namespace::*">
I had put that in, however it puts all the namespaces in all of the elements.
Not sure how to put it in just the right places :(

Thanks


 
Cheers
 
Minas Casiou |  ESB Technical Architect I&I | MRP -  Mainframe Replacement Program    |  BTS  |  New  South  Wales  Police
Phone: 02 9689 7610 |  Eaglenet: 79610  |  Mobile: 0431 103 925  |  email: casi1min@p...


Minas Casiou/1115635/Staff/NSWPolice

06/12/2006 11:21

To
David Carlisle <davidc@n...>
cc
Subject
Re: XSLT that does uppercase translation of all attributes and elements...Link




Sorry guys, this is what I've currently got.
WORKING:
        -uppercase elements
        -correctly copies over namespaces & prefixes

NOT WORKING:
        - It does not uppercase the attributes.



<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml D:\Source\Services\SoaServices\webMethods\Wrappers\Incident\CAD\IS\IncidentService\Data\Samples\Test\writeOffIncident_VisionCreated_7_Rq.xml?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="identity.xslt"/>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="*" >
<xsl:copy>

<!--        <xsl:element name="{local-name()}"        namespace="{namespace-uri()}"> -->
<!--                
                <xsl:for-each select="../@*">
                                <xsl:attribute name="{name()}" >
                               
                        <xsl:value-of select="translate(. , $vLowercaseChars_CONST , $vUppercaseChars_CONST)"/>
                                </xsl:attribute>
                        </xsl:for-each>
-->
                <xsl:apply-templates select="node()|@*"/>
<!--        </xsl:element>
-->
        </xsl:copy>
</xsl:template>


<xsl:template match="text()" >
                <xsl:value-of select="translate(. , $vLowercaseChars_CONST , $vUppercaseChars_CONST)"/>
        </xsl:template>

        <xsl:variable name="vLowercaseChars_CONST" select="'abcdefghijklmnopqrstuvwxyz'"/>
        <xsl:variable name="vUppercaseChars_CONST" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>



</xsl:stylesheet>
Thanks
 
Cheers
 
Minas Casiou |  ESB Technical Architect I&I | MRP -  Mainframe Replacement Program    |  BTS  |  New  South  Wales  Police
Phone: 02 9689 7610 |  Eaglenet: 79610  |  Mobile: 0431 103 925  |  email: casi1min@p...


David Carlisle <davidc@n...>

06/12/2006 09:22

To
casi1min@p...
cc
xml-dev@l..., xml-dev@l...
Subject
Re: XSLT that does uppercase translation of all attributes and elements...







you don't need the prefix declarations as you have removed all the
prefixes, the result is namespace equivalent, prefixes are (or are
supposed to be) a syntactic artifact that don't really matter. what
matters are the namespace names (URIs) and you have preserved those.
However if you want to use prefixed names in the output change your use
of
               <xsl:element name="{local-name()}"      namespace="
{namespace-uri()}">
to
<xsl:copy>

David

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php


All mail is subject to content scanning for possible violation of New South Wales Police
electronic Mail Policy. All persons are required to familiarise themselves with the
content of the policy located on the NSWP Intranet BULLETIN BOARD.



This message and any attachment is confidential and may
be privileged or otherwise protected from disclosure. If you
have received it by mistake, please let us know by reply
and then delete it from your system; you should not copy
the message or disclose its contents to anyone.





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member