2013-05-13 3 views
-1

Посмотрите на мой XML (упрощенно):XSL параметра

<head> 
<body> 
<xs:element type="xs:double"/> 
</body> 
</head> 

То, что я хочу сделать, это изменить значение «хз: двойной» на «doubleOrEmpty» это мой пользовательский тип, который позволяет удваивает и пустую строку. Возможно ли использование XSL? Если нет, то как я могу это достичь?

ответ

2

Ну вы конечно можете написать XSLT для преобразования

<head xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<body> 
<xs:element type="xs:double"/> 
</body> 
</head> 

в

<head xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<body> 
<xs:element type="doubleOrEmtpy"/> 
</body> 
</head> 

с:

<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    version="1.0" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

<xsl:template match="@* | node()"> 
    <xsl:copy> 
    <xsl:apply-templates select="@* | node()"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="body/xs:element/@type[. = 'xs:double']"> 
    <xsl:attribute name="type">doubleOrEmtpy</xsl:attribute> 
</xsl:template> 

</xsl:stylesheet> 
Смежные вопросы