Возникла следующая проблема берем первый xml клонируем из него какой-то нод и вставляем этот нод во второй интерфейс у которого свой namespace.(у первого namespace-а нет)
У вставленного нода возникает следующий атреибут xmlns="".
Как это исправить?
setAttribute("xmlns", "нужный мне наймспейс") не предлагать
в этом случае у нода который является ребенком данной ноды возникает тоже самое.
я кончено нашел выход и прошелся по всем нодам и проставил им неймспейс это криво
так как увеличило xml.
использую MSXML 4.0. sp 2
Спасибо!
Re: Как убрать (изменить) namespace клонированного нода.
От:
Аноним
Дата:
16.05.03 07:09
Оценка:
Здравствуйте, Mirror.
Используйте XSLT-преобразование. В данном случае это будет наиболее логично.
Re[2]: Как убрать (изменить) namespace клонированного нода.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Mirror.
А>Используйте XSLT-преобразование. В данном случае это будет наиболее логично.
Спасибо!
А есть ли еще варинты решения этой проблемы?
Re[3]: Как убрать (изменить) namespace клонированного нода.
От:
Аноним
Дата:
16.05.03 12:11
Оценка:
Здравствуйте, Mirror, Вы писали:
M>А есть ли еще варинты решения этой проблемы?
Есть, но они идеологически неверны. В соответствии с последними писками моды от W3C основной в XML понимается не текстовая разметка, а так называемый информационный набор XML (XML infoset). Таким образом, элементы, обозначенные в разметке разных документов как <A> (т. е. имеющие одинаковое представление в тексте), могут, однако, за счет разных пространств имен обозначать разные элементы в информационном наборе. Несмотря на одинаковое локальное имя и даже одинаковое лексическое представление, эти элементы совершенно разные и с точки зрения XML никак друг с другом не связаны.
Re[4]: Как убрать (изменить) namespace клонированного нода.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Mirror, Вы писали:
M>>А есть ли еще варинты решения этой проблемы?
А>Есть, но они идеологически неверны. В соответствии с последними писками моды от W3C основной в XML понимается не текстовая разметка, а так называемый информационный набор XML (XML infoset).
Не такой он уж и последний.
W3C Recommendation 24 October 2001
А>Таким образом, элементы, обозначенные в разметке разных документов как <A> (т. е. имеющие одинаковое представление в тексте), могут, однако, за счет разных пространств имен обозначать разные элементы в информационном наборе. Несмотря на одинаковое локальное имя и даже одинаковое лексическое представление, эти элементы совершенно разные и с точки зрения XML никак друг с другом не связаны.
Ну infoset — абстрактная модель, мы работаем с конкретными парсерами и некоторые из них могут не поддерживать пространства имен. В этом случае имена элементов разных простраств могут запросто оказаться идентичными, так как [namespace name] будет пустым, а локальное имя совпадет.
Re[4]: Как убрать (изменить) namespace клонированного нода.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Mirror, Вы писали:
M>>А есть ли еще варинты решения этой проблемы?
А>Есть, но они идеологически неверны. В соответствии с последними писками моды от W3C основной в XML понимается не текстовая разметка, а так называемый информационный набор XML (XML infoset). Таким образом, элементы, обозначенные в разметке разных документов как <A> (т. е. имеющие одинаковое представление в тексте), могут, однако, за счет разных пространств имен обозначать разные элементы в информационном наборе. Несмотря на одинаковое локальное имя и даже одинаковое лексическое представление, эти элементы совершенно разные и с точки зрения XML никак друг с другом не связаны.
Ясно.Спасибо!
Re[5]: Как убрать (изменить) namespace клонированного нода.
От:
Аноним
Дата:
16.05.03 12:56
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:
А>>Есть, но они идеологически неверны. В соответствии с последними писками моды от W3C основной в XML понимается не текстовая разметка, а так называемый информационный набор XML (XML infoset).
AS>Не такой он уж и последний. AS>W3C Recommendation 24 October 2001
Это я в ироническом смысле .
AS>Ну infoset — абстрактная модель, мы работаем с конкретными парсерами и некоторые из них могут не поддерживать пространства имен. В этом случае имена элементов разных простраств могут запросто оказаться идентичными, так как [namespace name] будет пустым, а локальное имя совпадет.
Именно так, но желательно все-таки следовать тем соглашениям и требованиям, которые предписывает нам эта абстрактная модель. Все серьезные средства для работы с XML пространства имен поддерживают.
Re[6]: Как убрать (изменить) namespace клонированного нода.
[]
А>Именно так, но желательно все-таки следовать тем соглашениям и требованиям, которые предписывает нам эта абстрактная модель. Все серьезные средства для работы с XML пространства имен поддерживают.
А вот мне приходиться обходиться не серьезными (TinyXML).