代码之家  ›  专栏  ›  技术社区  ›  Flyout91

XML-试图掌握命名空间URI的概念

  •  0
  • Flyout91  · 技术社区  · 7 年前

    如果我的XSL具有以下标题,则不会出错:

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

    <xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3schools.com/xml/xml_namespaces.asp"
    

    javax.xml.transform.TransformerConfigurationException 
    

    我想我不理解名称空间URI的概念,因为我认为它可以是任何URL(更不用说URNs了),只要它在XML/XSL文档中是唯一的。显然不是。我试图更改URI来测试这个理论。


    https://www.w3schools.com/xml/xml_namespaces.asp ,我们可以阅读以下语句:

    解析器不使用名称空间URI来查找信息。

    使用URI的目的是为命名空间提供唯一的名称。

    http://www.w3.org/1999/XSL/Transform ?

    此外,稍后在上述链接中,我们可以阅读:

    标识Internet资源 .

    因此,由于这一点以及“使用URI的目的是给命名空间一个唯一的名称”,这是否意味着

    xlmns:foo="A_random_but_unique_string"
    

    最后,我将引用同一链接中的这句话:

    命名空间“ “标识HTML文档中的XSLT元素

    所以现在这意味着解析器必须使用名称空间URL来查找信息(名称空间的元素),不是吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Fabian    7 年前

    它与解析URL(和下载模式)无关。尽管XML在两个示例中看起来是一样的:“xsl:stylesheet”,但您的输入是作为 stylesheet https://www.w3schools.com/xml/xml_namespaces.asp ).

    Java程序需要一个 样式表 http://www.w3.org/1999/XSL/Transform