2015-01-29 2 views
1

У меня есть несколько схем XSD с большим количеством документации в них, что затрудняет их чтение и использование, как я могу написать программу для создания эквивалентных файлов XSD со всеми элементами xs:annotation (включая любые xs:appinfo, xs:documentation или другие элементы, которые они содержат) удаляются, когда они могут быть найдены?удалить xs: элементы аннотации из схемы

ответ

3

Вы можете запустить каждый из файлов через XSLT, чтобы вырезать ненужные элементы:

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

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

    <xsl:template match="xs:annotation" /> 
</xsl:stylesheet> 

Как отметила @IanRoberts Вы только действительно нужно удалить xs:annotation элементов и два других типов элементов будут удаляться вместе с ними.

+3

На самом деле просто '' будет достаточно, поскольку appinfo и документация встречаются только внутри аннотации. –

+0

@IanRoberts Действительно! – JLRishe

Смежные вопросы