xs3p:处理include-tags

时间:2017-09-07 10:05:57

标签: xslt xsd include documentation

我只是想用xs3p生成一个架构的文档。

据我所知,问题是模式被拆分成几个文件,并且xs3p没有处理主文件的include-tags:结果是一个只包含根元素的文档。

我到底做了什么?

  1. 我将xs3p-download解压缩到某个目录
  2. 我将所有架构文件复制到目录
  3. 我打电话给 saxonb-xslt master.xsd xs3p.xsl> doku.html (在Ubuntu Trusty下,如果重要的话)
  4. 你能帮我一下吗?我想,有两行可以解决这个问题:

    1. 使xs3p处理包含标记
    2. 将所有xsd文件集成到一个文件中 - 这将如何工作?
    3. 提前谢谢!

1 个答案:

答案 0 :(得分:1)

您必须在xs3p.xsl中设置以下xsl:param:

   <!-- If 'true', searches 'included' schemas for schema components
        when generating links and XML Instance Representation tables. -->
   <xsl:param name="searchIncludedSchemas">true</xsl:param>

   <!-- If 'true', searches 'imported' schemas for schema components
        when generating links and XML Instance Representation tables. -->
   <xsl:param name="searchImportedSchemas">true</xsl:param>

   <!-- File containing the mapping from file locations of external
        (e.g. included, imported, refined) schemas to file locations
        of their XHTML documentation. -->
   <xsl:param name="linksFile">xs3p_links.xml</xsl:param>

您的包含/导入的模式必须先前已转换为my_transformed_included_schema.html文件,您需要定义一个xs3p_links.xml文件,以便将一些导入/包含的模式分配给他们的位置,例如:

<?xml version="1.0"?>
<links xmlns="http://titanium.dstc.edu.au/xml/xs3p">
       <schema file-location="my-included-schema.xsd" docfile-location="./my_transformed_included_schema.html"/>
</links>

希望这会有所帮助!