XSLT如何利用来自单独源的前缀属性?

时间:2015-03-26 02:50:02

标签: xml xslt namespaces schema xslt-2.0

我使用XML文件并使用XSLT将其转换为固定宽度,但我不得不使用某个前缀的属性。为了使转换正常运行,我必须将完成的XSLT文件上传到网站,运行它,然后网站生成必要的固定宽度文件。 我想知道的是如何在不上传XSLT的情况下执行相同的转换?我必须生成和链接什么样的文件(Schema,XSL)才能理解这些属性? 例如:

<!-- note_XML.xml -->    
<?xml version="1.0" encoding="UTF-8"?>

    <note>
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
    </note>`

XSL:

<!-- note_XSL.xsl -->    
<?xml version-"1.0" encoding="UTF-8"?>
    <xsl:stylesheet smlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result prefixes="xs"
        xmlns:joe="urn:com.website/joe" version="2.0">

        <xsl:template match="/">
            <Case joe:separator="&#xd;&#xa;">

                <Tape>
                    <PersonReceiving joe:fixedLength="4">
                        <xsl:value-of select="/note/to"/>
                    </PersonReceiving>

                    <Sender joe:fixedLength="4" joe:align="right">
                        <xsl:value-of select="/note/from"/>
                   </Sender>
                   etc...
                </Tape>
            </Case>
        </xsl:template>
    <xsl:stylesheet>

注意'joe'前缀属性,我该如何理解它们而不必上传XSLT并让服务器为我做这些?我更喜欢在单独的文件中完成工作,而不是将变量/函数添加到同一个note_XSL.xsl样式表中。

我目前正在研究xml编辑器oXygen。

0 个答案:

没有答案