คำถามติดแท็ก xml-namespaces

5
“ xmlns” ใน XML หมายถึงอะไร
ฉันเห็นบรรทัดต่อไปนี้ในไฟล์ XML: xmlns:android="http://schemas.android.com/apk/res/android" ฉันยังเห็นxmlnsในไฟล์ XML อื่น ๆ อีกมากมายที่ฉันเจอ มันคืออะไร?

2
เนมสเปซ 'Android' ใน Android XML คืออะไร
นี่คือตัวอย่างของappเนมสเปซที่ฉันเห็นจากres/menu/main.xmlไฟล์ <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" > <item android:id="@+id/action_settings" android:title="@string/action_settings" android:orderInCategory="100" app:showAsAction="never" /> </menu> appเนมสเปซมีจุดประสงค์อะไร เป็นเนมสเปซ Android มาตรฐาน "มาตรฐาน" หรือไม่ เป็นตัวเลือกค่าเดียวกันสำหรับแอตทริบิวต์เดียวกันที่อยู่ในเนมสเปซที่แตกต่างกันสองรายการ (เช่นapp:showAsActionและandroid:showAsAction) จากเอกสาร : android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"] นั่นคือบรรทัดในตัวอย่างด้านบนจะมีความหมายอย่างอื่นหากแอตทริบิวต์เป็นแทน: android:showAsAction="never" ดูเหมือนว่ามันอาจเป็นกลไก "subclassing" แต่ฉันไม่สามารถหาเอกสารจริงในappnamespace จาก Google / Android ได้

6
การแยก XML กับเนมสเปซใน Python ผ่าน 'ElementTree'
ฉันมี XML ต่อไปนี้ซึ่งฉันต้องการแยกวิเคราะห์โดยใช้ Python ElementTree: <rdf:RDF xml:base="http://dbpedia.org/ontology/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://dbpedia.org/ontology/"> <owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague"> <rdfs:label xml:lang="en">basketball league</rdfs:label> <rdfs:comment xml:lang="en"> a group of sports teams that compete against each other in Basketball </rdfs:comment> </owl:Class> </rdf:RDF> ฉันต้องการค้นหาowl:Classแท็กทั้งหมดแล้วแยกค่าของrdfs:labelอินสแตนซ์ทั้งหมดที่อยู่ในนั้น ฉันกำลังใช้รหัสต่อไปนี้: tree = ET.parse("filename") root = tree.getroot() root.findall('owl:Class') เนื่องจากเนมสเปซฉันได้รับข้อผิดพลาดต่อไปนี้ SyntaxError: prefix 'owl' not found in …


5
เปิดการประกาศเนมสเปซกราฟ: HTML พร้อม XMLNS หรือคำนำหน้า
ฉันได้เห็นข้อมูลที่ขัดแย้งกันเกี่ยวกับวิธีใช้เนมสเปซ Open Graph ให้ดีที่สุด โดยเฉพาะอย่างยิ่งเว็บไซต์ Open Graph ใช้วิธีการที่แตกต่างกันเล็กน้อยและตัวอย่างของ Facebook Open Graph ใช้วิธีการอื่น ๆ ตัวอย่างเว็บไซต์ Open Graph (โดยใช้แอตทริบิวต์คำนำหน้า HTML): <html prefix="og: http://ogp.me/ns#"> เปิดซอร์สโค้ดเว็บไซต์ของกราฟ (ใช้แอตทริบิวต์ HTML XMLNS): <html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> เอกสาร Facebook Open Graph (โดยใช้แอตทริบิวต์คำนำหน้า HEAD): <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> เอกสาร Facebook Open Graph # 2 (ใช้แอตทริบิวต์ HTML XMLNS): <html xmlns="http://www.w3.org/1999/xhtml" …

7
วิธีป้องกันแอตทริบิวต์ xmlns ว่างในเอาต์พุตจาก XmlDocument ของ. NET
เมื่อสร้าง XML จาก XmlDocument ใน. NET xmlnsแอตทริบิวต์เปล่าจะปรากฏขึ้นในครั้งแรกที่มีการแทรกองค์ประกอบที่ไม่มีเนมสเปซที่เกี่ยวข้อง จะป้องกันได้อย่างไร? ตัวอย่าง: XmlDocument xml = new XmlDocument(); xml.AppendChild(xml.CreateElement("root", "whatever:name-space-1.0")); xml.DocumentElement.AppendChild(xml.CreateElement("loner")); Console.WriteLine(xml.OuterXml); เอาท์พุท: <root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root> ผลลัพธ์ที่ต้องการ : <root xmlns="whatever:name-space-1.0"><loner /></root> มีวิธีแก้ไขที่ใช้กับXmlDocumentรหัสไม่ใช่สิ่งที่เกิดขึ้นหลังจากการแปลงเอกสารเป็นสตริงด้วยOuterXmlหรือไม่? เหตุผลของฉันในการทำเช่นนี้คือเพื่อดูว่าฉันสามารถจับคู่ XML มาตรฐานของโปรโตคอลเฉพาะโดยใช้ XML ที่สร้างขึ้นด้วย XmlDocument หรือไม่ xmlnsแอตทริบิวต์ว่างต้องไม่ทำลายหรือสร้างความสับสนให้กับโปรแกรมแยกวิเคราะห์ แต่ก็ไม่มีอยู่ในการใช้งานใด ๆ ที่ฉันเคยเห็นของโปรโตคอลนี้

5
วิธีละเว้นเนมสเปซด้วย XPath
เป้าหมายของฉันคือการแยกโหนดออกจากไฟล์ xml หลายไฟล์ที่มีหลายเนมสเปซโดยใช้ XPath ทุกอย่างทำงานได้ดีตราบเท่าที่ฉันรู้ URI ของเนมสเปซ ชื่อเนมสเปซยังคงเป็นค่าคงที่ แต่ Schemas (XSD) บางครั้งไคลเอนต์สร้างขึ้นโดยที่ฉันไม่รู้จัก จากนั้นฉันก็เหลือสามทางเลือก: ใช้สคีมาเดียวสำหรับเนมสเปซโดยหวังว่าจะไม่มีอะไรผิดพลาด (ฉันแน่ใจได้ไหม?) รับโหนดลูกของเอกสารและค้นหาโหนดแรกที่มีเนมสเปซ URI โดยหวังว่าจะอยู่ที่นั่นและใช้ URI โดยหวังว่าจะเป็นโหนดที่ถูกต้อง อาจผิดพลาดได้จากหลายสาเหตุ ยังไงก็บอก xpath: "ดูสิฉันไม่สนใจเนมสเปซเพียงแค่ค้นหาโหนดทั้งหมดที่มีชื่อนี้ฉันยังบอกชื่อเนมสเปซได้ด้วยไม่ใช่ URI" และนี่คือคำถามที่นี่ ... นี้ไม่ได้เป็นซ้ำของมากมาย "XPath ทำงานแสดงออกไม่ฉันเพราะฉันไม่ได้ตระหนักถึงความตระหนัก namespace" คำถามที่พบที่นี่หรือที่นี่ ฉันรู้วิธีใช้การรับรู้เนมสเปซ เพียง แต่ไม่ใช่วิธีการกำจัดมัน

6
วิธีการจัดลำดับวัตถุเป็น XML โดยไม่ได้รับ xmlns =“ …”?
มีวิธีที่ฉันจะทำให้วัตถุเป็นอนุกรมใน. NET โดยไม่ต้องใช้เนมสเปซ XML โดยอัตโนมัติด้วยหรือไม่ ดูเหมือนว่าโดยค่าเริ่มต้น. NET เชื่อว่าควรรวมเนมสเปซ XSI และ XSD ไว้ด้วย แต่ฉันไม่ต้องการให้มี

4
ประเภท xs: NCName คืออะไรและควรใช้เมื่อใด
ฉันรันไฟล์ xml ของฉันผ่านตัวสร้างสคีมาและทุกอย่างที่สร้างขึ้นเป็นสิ่งที่คาดหวังยกเว้นโหนดเดียว: <xs:element name="office" type="xs:NCName"/> คืออะไรกันแน่xs:NCName? แล้วทำไมถึงใช้มันxs:stringล่ะ?

6
elementFormDefault ทำอะไรใน XSD
ใช้elementFormDefaultทำอะไรและควรใช้เมื่อใด ดังนั้นฉันจึงพบคำจำกัดความของelementFormDefaultค่า: คุณสมบัติ - องค์ประกอบและแอตทริบิวต์อยู่ใน targetNamespace ของสคีมา ไม่มีเงื่อนไข - องค์ประกอบและแอตทริบิวต์ไม่มีเนมสเปซ ดังนั้นจากคำจำกัดความดังกล่าวฉันคิดว่าถ้าสคีมาถูกตั้งค่าเป็นคุณสมบัติแล้วทำไมคุณต้องนำหน้าประเภทด้วยเนมสเปซ และสถานการณ์ใดบ้างที่คุณจะมีชุดเดียวที่ไม่มีคุณสมบัติเหมาะสมสำหรับเรื่องนั้น? ฉันลองใช้ Googling แต่สิ่งที่ฉันได้รับคือหน้า W3C สองหน้าซึ่งยากที่จะเข้าใจ นี่คือไฟล์ที่ฉันใช้งานอยู่ตอนนี้ทำไมฉันต้องประกาศประเภทด้วยtarget:TypeAssignmentsเมื่อฉันประกาศtargetNamespaceว่าเป็นประเภทเดียวกับxmlns:target? <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:target="http://www.levijackson.net/web340/ns" targetNamespace="http://www.levijackson.net/web340/ns" elementFormDefault="qualified"> <element name="assignments"> <complexType> <sequence> <element name="assignments" type="target:TypeAssignments" minOccurs="1" maxOccurs="unbounded"/> </sequence> </complexType> </element> <complexType name="TypeAssignments"> <sequence> <element name="assignment" type="target:assignmentInfo" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name="assignmentInfo"> …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.