In Programmiersprachen, ich bin Wie werden XML-Namespaces verschachtelt?
namespace foo
{
namespace bar
{
void DoIt()
{
}
}
}
int main()
{
foo::bar::DoIt()
}
In einem Schema (XSD) zu
verwendet, würde ich ähnliche Dinge tun, wenn complex<xsd:schema targetNamespace="http://www.stackoverflow.com/foo">
<xsd:complexType name="bar1">
...
</xsd:complexType>
<xsd:complexType name="bar2">
</xsd:complexType>
...
<xsd:complexType name="foo1" type = "bar1">
...
</xsd:complexType>
</xsd:schema>
Konzeptionell definiert, ich möchte bar1 und bar2 in einem http://www.stackoverflow.com/foo::bar Namespace verschachtelt werden (:: entlehnt von C++). Ich habe Beispiele gesehen, die scheinbar ein ganz zweiter Namespace sind, der für das Bar-Zeug definiert ist. In diesen Beispielen wird der Balken in einem zweiten Namespace "http://www.stackoverflow.com/foo/bar" wie im folgenden Beispiel definiert. Dies ist das, was ich einem "verschachtelten" Namespace am nächsten gesehen habe.
So eins kann ich Art ist tun, um die Bar Sachen aus einem anderen Schema importieren
<xsd:schema targetNamespace="http://www.stackoverflow.com/foo"
xmlns:bar = "http://www.stackoverflow.com/foo/bar">
<xsd:schema namespace="http://www.stackoverflow.com/foo/bar"
<xsd:complexType name="foo1">
<xsd:element name="bar1Instance" type="bar:bar1"/>
...
</xsd:complexType>
</xsd:schema>
Ein Teil davon ist, dass ich versuche nur grok wie Namespaces in XML unterscheiden vs sagen C++. Gibt es ein Konzept verschachtelter Namespaces in XML oder ist jeder Namespace unabhängig? Wie wird das Konzept verschachtelter Namespaces implementiert oder typischerweise durchgeführt? Ist es wie mein Beispiel oben getan? Sind Namespaces völlig unabhängig oder besteht eine Verschachtelung?
Nur ein nit: XML-Namespaces sind * erforderlich *, um IRIs (Internationalized Resource Identifier) zu sein, was eine Obermenge von URIs ist, was eine Obermenge von URLs darstellt. Dein wirklicher Punkt ist jedoch absolut richtig; Der Parser behandelt den Namespace als vollständig undurchsichtigen String. Ref: http://www.w3.org/TR/REC-xml-names/ – Peeja
@Peeja: Gute Klarstellung. Vielen Dank. – Eddie