Mam ten prosty dokument XML:Definiowanie domyślnej przestrzeni nazw do użytku w XPaths XSL z XPath-default-nazw
<?xml version='1.0' encoding='UTF-8'?>
<registry xmlns="http://www.iana.org/assignments" id="character-sets">
<registry id="character-sets-1">
<record>
<name>ANSI_X3.4-1968</name>
</record>
</registry>
</registry>
Kiedy używam tego XSL można wyodrębnić nazwę:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="http://www.iana.org/assignments" version="1.0">
<xsl:template match="/my:registry">
<xsl:copy-of select="//my:record/my:name"/>
</xsl:template>
</xsl:stylesheet>
Jednakże jeśli pominąć nazw w xSL XPath-selektorów, mam żadnego wyjścia:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="http://www.iana.org/assignments" xpath-default-namespace="http://www.iana.org/assignments" version="1.0">
<xsl:template match="/registry">
<xsl:copy-of select="//record/name"/>
</xsl:template>
</xsl:stylesheet>
myślałem XPath-default-namespace ten służy do Zrób sztuczkę. czego mi brakuje?
W przypadku wersji biblioteki są ważne mam
libexpat1 (> = 1.95.8)
libxerces-C3.1
libxml2 (> = 2.7.4)
libxslt1 .1 (> = 1.1.25)
Tak, teraz widzę, że libxslt1.1 nie obsługuje 'XPath-default-namespace' Dziękuję ! – JohnDoe
W jaki sposób można zdefiniować 'xpath-default-namespace' w' xslt' version 1.0? – pkaramol