Какое значение мы должны дать для соответствия в теге шаблона? - PullRequest
2 голосов
/ 11 октября 2011

Исходный XML-файл:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Inbound Message -->
<Sales xmlns="abc:org.xcbl:schemas/xcbl/v4/xcbl4.xsd" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
</Sales> 

Код:

 <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="/Sales">
    </xsl:template>  

Запрос: в исходном xml тег корневого узла Sales содержит ценности. XMLNS = "а: org.xcbl: Схемы / xcbl / v4 / xcbl4.xsd" XMLNS: SOAPENV = "http://www.w3.org/2003/05/soap-envelope" XMLNS: XSI = "http://www.w3.org/2001/XMLSchema-instance" xmlns: SOAP-ENC = "http://www.w3.org/2003/05/soap-encoding

Как запустить шаблон?

<xsl:template match="/Sales'> 
<xsl:template match="/'> 

Над кодом не работает. Пожалуйста, помогите мне решить эту проблему

.

1 Ответ

1 голос
/ 11 октября 2011

Объявите пространство имен в XSLT, затем используйте полное имя, например ::100100

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:ns="abc:org.xcbl:schemas/xcbl/v4/xcbl4.xsd">

    <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>

    <xsl:template match="/ns:Sales">
    </xsl:template>

</xsl:stylesheet>
...