I have a xml which contains empty xmlns:tag0=''
is there a way I can ignore namespaces alltogether or add some default value to it?
Because it is stopping my xml to open with xsl transformations. It says Reference to undeclared namespace prefix: 'tag0'.
Or is there a way I can replace xmlns:tag0=''
with xmlns:tag0='http://www.w3.org/TR/html4/
at the beginning?
Some part of xml which creates problem (xml is around 2MB)
<nodemetadata><imx:IMX versiondomainservice='2.4.1' versioncommon='2.2.0' serializationSpecVersion='4.0' xsi:schemaLocation='http://com.abc.imx IMX.xsd http://com.abc.aspd.metadata.domainservice/2 com.abc.aspd.metadata.domainservice.xsd http://com.abc.aspd.metadata.common/2 com.abc.aspd.metadata.common.xsd' crcEnabled='0' xmlns:imx='http://com.abc.imx' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><tag0:GatewayNodeConfig adminconsolePort='10073' nodeName='node01_rox.abc.com' imx:id='U:qywCXNr7EeG7SZfVCvSloA' domainName='Domain_rox.abc.com' dbConnectivity='ID_1' adminconsoleShutdownPort='10074' xmlns:tag0='http://com.abc.aspd.metadata.domainservice/2'><tag1:address port='10071' xsi:type='common:NodeAddress' host='rox.abc.com' httpPort='8080' imx:id='ID_2' xmlns:tag1=''></tag1:address><portals><tag1:NodeRef xsi:type='common:NodeRef' address='ID_2' nodeName='node01_rox.abc.com' imx:id='ID_3' xmlns:tag1=''></tag1:NodeRef></portals></tag0:GatewayNodeConfig><tag0:DBConnectivity imx:id='ID_1' dbConnectString='jdbc:abc:oracle:%2F%2FforKnight:1521%3BServiceName%3Dorcl%3BMaxPooledStatements%3D20%3BCatalogOptions%3D0%3BBatchPerformanceWorkaround%3Dtrue' dbType='ORACLE' dbEncryptedPassword='I7e20Erjax0wi7fY3qOaIxIBloTOBwLymgjvVVbkVcE%3D' dbUsername='lap1' xmlns:tag0='http://com.abc.aspd.metadata.domainservice/2'></tag0:DBConnectivity></imx:IMX></nodemetadata>
UPDATE My XSL code
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:tag0="http://www.w3.org/TR/html4/"
xmlns:tag1="http://www.w3.org/TR/html4/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:imx="http://com.abc.imx"
xmlns:domainservice="http://com.abc.aspd.metadata.domainservice/2"
exclude-result-prefixes="tag0 tag1">
<xsl:include href="system_win.xsl"/>
<xsl:include href="system_nix.xsl"/>
<xsl:template match="/">
<html>
<head><link rel="stylesheet" type="text/css" href="http://www.abc.com/NR/inter2004/css/styles.css"/>
<style type="text/css">
.horz{overflow-x: auto; overflow-y: hidden;width: 98%;}
</style>
</head>
<body>
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:for-each select="client/product">
<h3><span style="color:#328aa4"><a name="_nodemetadata" href="#_top">Node MetaData</a></span></h3>
<h3>Gateway Node Configuration</h3>
<br/>
<dd>
<div class="horz">
<table border="1">
<tbody>
<tr>
<th>Domain Name</th>
<th>Node Name</th>
<th>Adminconsole Port</th>
<th>Adminconsole Shutdown Port</th>
<th>DB Connectivity</th>
</tr>
<xsl:for-each select="nodemetadata/imx:IMX/tag0:GatewayNodeConfig">
<tr>
<td valign="top" ><xsl:value-of select="@domainName"/></td>
<td valign="top" ><xsl:value-of select="@nodeName"/></td>
<td valign="top" ><xsl:value-of select="@adminconsolePort"/></td>
<td valign="top" ><xsl:value-of select="@adminconsoleShutdownPort"/></td>
<td valign="top" ><xsl:value-of select="@dbConnectivity"/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</dd>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
It gives me XML Parsing Error: must not undeclare prefix on tag0