我想创建以下元素:
<exercises xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mySchema.xsd">
如果我使用这样的东西:
<xsl:element name="excercises"> <xsl:attribute name="xmlns:xsi" namespace="http://www.w3.org/2001/XMLSchema-instance"/>
然后它创建这样的soemthing:
<excercises xp_0:xsi="" xmlns:xp_0="http://www.w3.org/2001/XMLSchema-instance">
哪些看起来不像我想要的?
尝试以下代替:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@* | node()"> <xsl:apply-templates select="xml"></xsl:apply-templates> </xsl:template> <xsl:template match="xml"> <xsl:element name="exercises"> <xsl:attribute name="xsi:noNamespaceSchemaLocation">mySchema.xsd</xsl:attribute> some value </xsl:element> </xsl:template> </xsl:stylesheet>
关键是在声明中声明xsi命名空间.
我刚刚做了模板比赛,只是为了测试.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。